Максим

Максим

С нами с 02 декабря 2015; Место в рейтинге пользователей: #129
Максим
15 февраля 2018, 18:50
0
Можно написать сниппет обертку в который будет поступать список id, разбиваться по разделителю и в цикле вызывать getImageList!)
Максим
09 февраля 2018, 17:41
0
вы тогда хоть вывод console.log(db[selected_options.cover][«type»][selected_options.decking][«kind»]); покажите
Максим
09 февраля 2018, 17:24
+1
Да конечно можно! Логика такая:

Разбираемся с окном быстрого создания.
1) Очевидно что при вызове быстрого создания не происходит событие OnDocFormRender. Нужно отыскать событие которое происходит при открытии окна быстрого создания и добавить его

Разбираемся с новыми.
1) Находим нужное событие
2) Пишем плагин на это событие.

Все примеры у вас есть в вашем коде!
Максим
09 февраля 2018, 17:14
+1
Проверьте контент на валидность кода + попробуйте совсем без тегов в контенте! Уверен там таится ответ! Чудес не бывает!)))
Максим
09 февраля 2018, 17:05
+1
Скорее всего это делает Jevix.
Максим
09 февраля 2018, 17:03
0
Скорее всего ellipsis обрезает закрывающий тег в тексте и браузер уже сам их дописывает. Уберите из текста все теги и посмотрите результат.
Максим
09 февраля 2018, 16:58
+1
Данный сниппет зарегистрирует нужный style.css, который находится в assets/css/
<?php
$modx->regClientCSS('assets/css/style.css');
Если вы хотите передавать в сниппет только название файла, то в сниппете нужно указать путь к файлу:
<?php
// SnippetName = Test
if(empty($css)){return;}
$path = $modx->getOption('assets_url', $scriptProperties). 'css/'. $css;
$modx->regClientCSS($path);

Использование:
[[!Test?&css=`style.css`]]
Максим
09 февраля 2018, 16:47
2
+1
Все гораздо проще! Установите компонент TVsuperSelect. Создайте TV данного типа и в возможные значения укажите вызов сниппета:
@EVAL return $modx->runSnippet('pdoResorces', ['parent'=>'1','tpl'=>'@INLINE {$pagetitle} {$id}=={$id}{$idx == $count ? '||' : ''}'])
А в параметрах вывода необходимо указать тип вывода разделитель запятая. После добавления нескольких ресурсов в это TV на выходе вы будите иметь список id ресурсов разделенных запятыми!
Максим
09 февраля 2018, 16:38
+1
В политиках доступа посмотреть что бы у анонимов стояли loadOnly. А у самой политики должен быть отмечен только один пункт: load
Максим
09 февраля 2018, 16:27
0
Учитывая тот факт, что из базы приходит строка, то нужно пробежаться по массиву и преобразовать либо в int, либо в float
И дальше уже функцией asort() сортировать массив.
Максим
28 декабря 2015, 19:12
0
Прочитал и уже пытаюсь применить. Но в модыкс пока не силен((( Может кто подскажет что делаю не правильно. Ориентируясь на файл watermark.txt
1) создаю плагин, отмечаю галочкой системное событие OnWebPagePrerender и помощаю в него код:
$string = $modx->documentOutput;
$pattern = "/(<img[^>]*src\s*=\s*[\'\"])([^\'^\"]*\.(jpg|jpeg))([\'\"][^>]*>)/i";
$replacement = "$1/assets/plugins/watermark/watermarked.php?src=$2$4";
2) По указанному пути в переменной replacement кладу файл
3) в файле watermarked.php меняю значение переменной dirprefix указав в ней свой домен и указываю путь к изображению вотермарка.
После этого обновляю кеш, при этом даже по FTP удалял кеш!) И ничего не изменилось((((
Где и что я не доделал?
Максим
28 декабря 2015, 13:31
0
Спасибо! Буду разбираться! А то уже думал писать сниппет и через него вызывать контент, что значительно замедлило бы работу сайта!))
Максим
22 декабря 2015, 20:54
0
Да! Все правильно!) Спасибо большое. А не подскажите где можно посмотреть весь список параметров с описанием?
Максим
22 декабря 2015, 20:23
2
0
Спасибо всем кто думал! Новый xtype подсмотрел и скопировал заменив соответствующие параметры! Но как всегда при копировании чужого кода нет понимания. Новое поле стало обязательным для заполнения. Как его сделать не обязательным?
Вот что получилось:
Ext.namespace('miniShop2.combo');
miniShop2.combo.Fundament = function(config) {
    config = config || {};
    Ext.applyIf(config, {
        name: config.name || 'fundament',
        fieldLabel: _('ms2_product_' + config.name || 'fundament'),
        hiddenName: config.name || 'fundament',
        description: '<b></b>'+_('ms2_product_fundament_help'),
        ValueField: 'id',
        anchor: '99%',
        fields: ['id','name'],
        pageSize: 20,
        url: miniShop2.config.connector_url,
        typeAhead: false,
        edittable: false,
        allowBlank: false,
        store: [[0, 'Брус'], [1, 'Сваи']]
    });
    miniShop2.combo.Vendor.superclass.constructor.call(this, config);
};
Ext.extend(miniShop2.combo.Fundament, MODx.combo.ComboBox);
Ext.reg('minishop2-combo-fundament', miniShop2.combo.Fundament);

//miniShop2.plugin.twidth = {
miniShop2.plugin.msfield = {
	getFields: function(config) {
		return {
			twidth: {xtype: 'minishop2-combo-autocomplete', description: '<b>[[+twidth]]</b><br />'+_('ms2_product_twidth_help')},
            theight: {xtype: 'minishop2-combo-autocomplete', description: '<b>[[+theight]]</b><br />'+_('ms2_product_theight_help')},
            tlength: {xtype: 'minishop2-combo-autocomplete', description: '<b>[[+tlength]]</b><br />'+_('ms2_product_tlength_help')},
            karkasDesc: {xtype: 'textarea', description: '<b>[[+karkasDesc]]</b><br />'+_('ms2_product_karkasDesc_help')},
            tlengthXm: {xtype: 'modx-combo-property-set', description: '<b>[[+tlengthXm]]</b><br />'+_('ms2_product_tlengthXm_help')},
            fundament: {xtype: 'minishop2-combo-fundament', description: '<b>[[+fundament]]</b><br />'+_('ms2_product_fundament_help')}
		}
	}
	,getColumns: function() {
		return {
			twidth: {width:30, sortable:false, editor: {xtype:'minishop2-combo-autocomplete', name: 'twidth'}},
            theight: {width:30, sortable:false, editor: {xtype:'minishop2-combo-autocomplete', name: 'theight'}},
            tlength: {width:30, sortable:false, editor: {xtype:'minishop2-combo-autocomplete', name: 'tlength'}},
            karkasDesc: {width:30, sortable:false, editor: {xtype:'textarea', name: 'karkasDesc'}},
            tlengthXm: {width:30, sortable:false, editor: {xtype:'modx-combo-property-set', name: 'tlengthXm'}},
            fundament: {width:30, sortable:false, editor: {xtype:'minishop2-combo-fundament', name: 'fundament'}}
		}
	}
};
Максим
22 декабря 2015, 18:12
0
Перебрал все xtype с упоминанием combo из этого списка:
bobsguides.com/xtype-list.html
Ничего не нашел. Видимо нужно добавлять свой. Но я пока не силен в ModX и так же еще не разобрался с системой плагинов minishop2, кто нибудь может скинуть пример файла msproductdata.js с объявлением подобного xtype. Можно без комментариев в файле!
Максим
09 декабря 2015, 13:52
0
Андрей, добрый день! Вы разобрались со своей проблемой?