Баха Волков

Баха Волков

С нами с 10 ноября 2016; Место в рейтинге пользователей: #12
Баха Волков
29 апреля 2019, 21:01
0
Пожалуйста, Роман!

Вопрос, кнопка «Посмотреть» меня не ведет на страницу joxi.ru/n2Ybja3ib7805A — так и должны быть?
А pdoTools или fastField установлен?
Баха Волков
08 апреля 2019, 00:26
0
Скорее всего решаема, только вот проблема не озвучена. В системе есть настройка fix_your_problems, попробуйте его включить, вдруг поможет
Баха Волков
05 апреля 2019, 22:03
0
Если pdoTools установлен, то должно работать. Значит проблема в чем-то другом
Баха Волков
05 апреля 2019, 21:04
0
Относится. Вы видимо не установили pdoTools или fastField
Баха Волков
04 апреля 2019, 09:10
+1
Уже несколько раз вижу такую конструкцию, вот эта конкатенация бессмысленная:

'resources' => '-' ~ $_modx->resource.id,

можно писать проще:

'resources' => -$_modx->resource.id,

Переменные, которые нужно чтобы обработались выносить в ~ ~
Это не выносить, а знак тильда которая в fenom является оператором присвоения. Мы же не говорим, что в JS нужно выносить в + + или в php нужно выносить в . .

а output, видимо, экранируется в {}
Не экранируется, а вы просто указываете плейсхолдер, а не содержимое плейсхолдера/переменной. В заметке вы пытались каким-то образом в чанке получить содержимое плейсхолдера/переменной которая будет известна только после того как сниппет отработает, а потом "Методом проб и ошибок" сделали правильно, т.е. указали плейсхолдер.
Баха Волков
04 апреля 2019, 08:57
0
1. Правильнее использовать разные шаблоны

2. Передавать параметры в чанк

[[$breadcrumb? &showCurrent=`0`]]
{'breadcrumb' | chunk : ['showCurrent' => 0]}

// Чанк breadcrumb

[[pdoCrumbs?
    &showCurrent=`[[+showCurrent:default=`1`]]`
]]

{'pdoCrumbs' | snippet : [
    'showCurrent' => $showCurrent !: 1
]}

3. Проверить тип ресурса

{'pdoCrumbs' | snippet : [
    'showCurrent' => $_modx->resource.class_key != 'msProduct' ? 1 : 0
]}

И много других способов
Баха Волков
25 марта 2019, 13:43
1
+1
Пересоздание/создание собственного класса который наследует оригинальный класс и в котором переопределяется один или несколько методов оригинального класса
Баха Волков
25 марта 2019, 11:14
0
такой код не срабатывает
Потому что:

case 'msOnAddToCart': break; // получает $key и $cart
но не получает $product
Баха Волков
24 марта 2019, 14:15
0
Пункты 1 и 2 неправильные, нужно переопределить расширив класс, а не заменять
Баха Волков
22 марта 2019, 08:22
0
Вы скорее всего говорите о логе MODX, Борис.

При ошибках 5хх обычно нужно смотреть в логи сервера
Баха Волков
22 марта 2019, 08:20
1
0
Во первых, вот это лишнее 'where' => '{"class_key":"msProduct"}',, а во вторых:

'where' => '{"атрибут:оператор":"значение"}',

т.е.

'where' => '{"название поля остатка:>":0}',

Если несколько условий, то:

'where' => '{"class_key":"msProduct","AND:quantity:>":0}',

Если не сработает, отпишись
Баха Волков
15 марта 2019, 20:11
0
Ну и чтобы всё по фэншую было, то по мне лучше использовать MODx.msg.alert вместо Ext.MessageBox.alert
Баха Волков
15 марта 2019, 20:04
0
Что-то типа такого

Ext.override(miniShop2.grid.Option, {
  originalFields: miniShop2.grid.Option.prototype.getTopBar
  ,getTopBar: function (config) {
    var fields = this.originalFields.call(this, config);

    fields.push({
        // Твоя кнопка
    })

    return fields;
}
Баха Волков
15 марта 2019, 19:56
0
С js тоже не всё так хорошо, дело в том, что ты именно перезаписываешь метод getTopBar а не расширяешь, т.е. в теории если выйдет обновление miniShop2 и в нём этот метод изменится, то люди которые используют предложенное тобой решение не увидят каких-то изменений.

Решение: Получить сначала результат оригинального метода (массив) и добавить в него уже свою кнопку.
Баха Волков
12 марта 2019, 19:31
+2
Да не, я паинька. Но ели сдержался сейчас, чтобы не писать смайлики. @Павел Гвоздь Лови Паша.
Баха Волков
11 марта 2019, 17:35
0
Тоже верно, тогда советую автору не стилизовать combo, а сделать как я посоветовал
Баха Волков
11 марта 2019, 17:20
2
0
По моему совсем не с той стороны зашли, ведь нужен всего лишь функционал загрузки файлов. Вот пример метода в modx.tree.directory.js:

,uploadFiles: function(btn,e) {
        if (!this.uploader) {
            this.uploader = new MODx.util.MultiUploadDialog.Dialog({
                url: MODx.config.connector_url
                ,base_params: {
                    action: 'browser/file/upload'
                    ,wctx: MODx.ctx || ''
                    ,source: this.getSource()
                }
                ,cls: 'ext-ux-uploaddialog-dialog modx-upload-window'
            });
            this.uploader.on('show',this.beforeUpload,this);
            this.uploader.on('uploadsuccess',this.uploadSuccess,this);
            this.uploader.on('uploaderror',this.uploadError,this);
            this.uploader.on('uploadfailed',this.uploadFailed,this);
        }
        this.uploader.base_params.source = this.getSource();
        this.uploader.show(btn);
    }
Нужно создать кнопку которая бы вызывала данный метод и всё. Ну не совсем всё, а остальные методы ошибки, методы которые возвращают id нужного источника и т.д., но это куда лучше чем стилизовать combo
Баха Волков
04 марта 2019, 19:51
1
0
В чанке что-то типа:

[[+wrapper:notempty=`<li[[+classes]]>....`]]