Евгений

Евгений

Был в сети 17 ноября 2021, 21:51
Заказы не принимаю
Разобрался сам, мб кому пригодится:
в папке /Extras/App/core/components/app/model/ в файле app.class.php нужно найти код (101 строка):
if ($uri != '/' && in_array(substr($uri, -1), ['/', '?'])) {
     $this->modx->sendRedirect(rtrim($uri, '/?'), ['responseCode' => 'HTTP/1.1 301 Moved Permanently']);
}
на
if ($uri != '/' && in_array(substr($uri, -1), ['?'])) {
     $this->modx->sendRedirect(rtrim($uri, '?'), ['responseCode' => 'HTTP/1.1 301 Moved Permanently']);
}
можно ли как-то при помощи webpack-а чистить папку cache при каждом редактировании элементов, в частности сниппетов?

Я так понимаю, что нужно копать в файле webpack.config.js в блоке CleanWebpackPlugin, параметр cleanaftereverybuildpatters? Или ничего не получится и необходимо дополнительно ставить gulp?
Спасибо за отличную заготовку! Все супер. Правда есть пара вопросов, буду рад ответам:

1) как поставить пакеты из modstore (подгружаю файл
providers.php в resolvers и поставщик ставится без проблем), пробую указать такую конструкцию в setup.php, но пакет не ставится:
'pdoTools' => [ 
        'version' => '2.12.3-pl',
        'service_url' => 'modstore.pro',
],
Что делаю не так?
2) почему то при установке в папке core/components создается папка 0, которая полностью дублирует папку assets/components/app, это так и должно быть?
Можно пару глупых вопросов? Как на нем собрать сайт ясно — настраиваем, запускаем билд и все разворачивается. А как с дальнейшим ведением? Т.е., например добавить новый шаблон, плагин? К примеру, ресурсы создаются через админку менеджером, он должен указать какой шаблон использовать, а если просто создать новый файл шаблона в ide — в админке его нет. Каждый раз нужно создавать шаблон в админке вручную и делать инклуд на файл? Что же касается сниппетов и чанков — при их редактировании требуется очищать папку кэша каждый раз?
Я пока только разбираюсь со всем этим — никогда не сталкивался) До текущего момента все было по-классике — верстал сайт через Sublime на локалке, потом через FTP выгружал на сервер.
Теперь вот решил из каменного века немного уйти :) Сейчас копаю в эту сторону: перешел на phpStorm, установил Git, GULP. В гите создал 2 ветки — master + dev. В dev веду разработку на локальной машине, как только все ок — мержу с master, пушу на гитхаб и синхронизирую с удаленным сервером.
Вероятно в этой схеме есть косяки, поэтому буду рад комментариям и советам по оптимизации рабочего процесса :)
Как я понял, автор имеет ввиду, что в одном фильтре должна идти проверка нескольких полей. Т.е. когда человек указывает в фильтре «Количество мест» диапазон, нужно проверять по всем полям: teatrTv, banketTv, soveshanieTv и если одно из них «истина», то выводить данную страницу в каталоге.

Сам столкнулся с похожей задачей: есть 2 поля — цена «от» и цена «до», необходимо, чтобы когда посетитель указывает фильтр «минимальная цена», mFilter2 проверял по обоим полям и если хоть одно поле удовлетворяет условию — товар отображался в каталоге.
Дело не в файле точно. Проблема возникает, как только указываешь в настройках mSearch2 пункт «mse2_filters_handler_class». Причем неважно какое значение туда ставишь и какой класс используется в файле /msearch2/custom/filters/*.class.php — результат один и тот же.

Более того, пробовал конструкцию
class myCustomFilter extends mse2FiltersHandler {}
переносить в конец файла /msearch2/model/msearch2/filters.class.php — тоже самое.

Как временное решение, все созданные фильтры пишу в конец секции
class mse2FiltersHandler {}
файла filters.class.php, без подключения доп. класса и расширения mse2FiltersHandler. При обновлении соответственно есть шанс, что все слетит, поэтому храню фильтры еще отдельно, чтобы их восстановить можно было.