Всего 125 977 комментариев

Александр Мельник
16 декабря 2021, 21:32
0
нет. Очень много раз наступал на грабли, когда обновления компонентов просто убивали сайт. Одно время перед каждым обновлением делал резервную копию. Но опять же, когда у тебя 1-2 сайта, это ничего. А когда их около полусотни, и у каждого делать резервную копию чтобы обновить minishop или ajaxform — нужно неделю только делать копии. В итоге пришел пусть и к «неправильному» но решению — сделал сайта на актуальных на тот момент пакетах, довел его до работы без ошибок и нефиг нажимать на кнопкочки — обновить) Возможно только поэтому у меня некоторые сайты работают 8 лет.
Сергей Шлоков
16 декабря 2021, 21:29
+2
Спасибо за помощь в тестировании!
Дело в том, что tplOuter также является и шаблоном для tplInner, если последний не указан. А по умолчанию он пустой. Поэтому так и получается.

Вот тут можно подробнее почитать про параметры сниппета pdoMenu.

Артур Шевченко
16 декабря 2021, 21:28
0
А ты обновляешь компоненты автоматически?
Александр Мельник
16 декабря 2021, 21:26
0
на одном сайте да. Когда их 40-50 штук чуть сложнее) Но во первых это нужно сначала как-то заметить. Ведь сама форма отправляться будет, а заметят это скорее всего, когда яндекс метрика перестанет регистрировать какие либо срабатывания целей.
Артур Шевченко
16 декабря 2021, 21:22
0
Согласен, нехорошо получилось. Но если и сломается, починить недолго)))
Александр Мельник
16 декабря 2021, 21:14
0
Получается что была сломана обратная совместимость и каждый кто обновит ajaxform может сломать свой сайт. У меня куча сайтов, где форма получается как
const form = response.form
затем у формы считываются дата атрибуты и используются как идентификаторы целей в яндекс метрике.
да и на странице документации так написано
docs.modx.pro/komponentyi/ajaxform
$(document).on('af_complete', function(event, response) {
    var form = response.form;
    if (form.attr('id') == 'значение id формы') {
       window.location.href = "[[~id страницы]]"
    }
});
В очередной раз убеждаюсь, что я делаю правильно, что никогда не обновляю пакеты. Сделал сайт, он работает хорошо и нечего судьбу испытывать.
Артур Шевченко
16 декабря 2021, 21:06
0
По поводу price, возможно компонент форматирует число согласно настройкам minishop2, тогда в числе 1234 появится пробел 1 234. А categoryId может быть пустым и это вызывает ошибку. В общем посмотрите что в файлах yml, а потом посмотрите какие системные настройки можно подкрутить.
Артур Шевченко
16 декабря 2021, 21:02
0
Если ты хотел опровержения, то его не будет. Получить форму можно только как
const form = response.form[0];
Артур Шевченко
16 декабря 2021, 20:46
0
Папку core/cache пробовал удалять?
Trying
16 декабря 2021, 17:28
0
Понял.
Еще раз спасибо!
Александр Мельник
16 декабря 2021, 16:52
0
Пытаюсь понять почему в более старых версиях AjaxForm я мог внутри события af_complete получить форму как
const form = response.form
и мог например сразу получить у нее data атрибуты. А теперь нет.
Нашел свой старенький сайт и распечатал там объект response

Вижу что он отличается от более «свежего» тем, что у form присутствует свойство context. У нового объекта нет этого свойства.
Константин Ильин
16 декабря 2021, 16:32
0
С pdoMenu проблемы.
В документации написано
&tplOuter — Чанк оформления всего блока меню. По умолчанию: @INLINE <ul [[+classes]]>[[+wrapper]]
При указании tplOuter работает неверно, он начинает использовать его для всех подменю.
prnt.sc/239rcei

Попробовал указать tplParentRow и у него указал ul, помогло.

Решил сделать тест на модхосте, тоже самое
s28405.h8.modhost.pro/

Не могу утверждать данная проблема связана с последними изменениями, но она как видно есть либо в документации неверно написано.
<ul class="test">
    {'!pdoMenu' | snippet : [
        'parents' => 0,
        'level' => 2,
        'tplOuter' => '@INLINE {$wrapper}',
        '-tplParentRow' => '@INLINE <li class="submenu_wrapp {$classnames}"><a href="{$link}" {$attributes}>{$menutitle}</a><ul>{$wrapper}<ul></li>'
    ]}
    <li>
        <a href="#">Заказ звонка</a>
    </li>
</ul>

п.с. Раньше использовал такой «прием» и норм было.
Dmitry P.
16 декабря 2021, 14:02
0
да, корректно)
просто в файле core/msearch2/model/msearch2/filters.class.php этот метод фильтрации описан, а в документации — нет)
Trying
16 декабря 2021, 13:29
0
Спасибо!

Я просто поменял:
&filters=`msoption|name:number`
в
&filters=`msoption|name:decimal`

И все заработало нормально. Не знаю корректно ли это — в документации не нашел.
Эдуард
16 декабря 2021, 09:48
0
В таблице ms2_product_files можно поменять для каждого файла значение rank, от которого зависит сортировка
Наумов Алексей
15 декабря 2021, 16:26
0
Возможно оптимальнее будет «средний» вариант:
Сравниваем изменения между картинками в выгрузке и у товара, если изменений нет — пропускаем, а если есть изменения — проще удалить все картинки и загрузить заново, чем пытаться а)удалить удаленные б) добавить новые в) изменить порядок файлов.
Николай Савин
15 декабря 2021, 12:20
0
Тогда нужно решать либо с автором, либо еще может быть с техподдержкой магазина
W.H.I.T.E
15 декабря 2021, 12:10
+1
Спасибо, еще вариант codepen.io/marinaroaugusto/pen/JaxZLQ
W.H.I.T.E
15 декабря 2021, 12:06
0
Привет, все привязано. И все равно не работает.