Вчера в 08:39
По-моему как раз когда икоки индивидуальные самое то делать через migx, так как там можно задавать любую конфигурацию полей, в том числе сделать отдел...
Как сделать проверку по нескольким полам 6
01 июня 2025, 18:37
Давай закроем эту тему. Я добавил версионирование. Остальные вопрос по компоненту задавай через техподдержку modstore.
ms_CDEK2 возвращается! 53
01 июня 2025, 13:02
Проблемы из-за неправильных настроек обязательно возникнут, на то они и неправильные.
Вручную сделать перевод 3
31 мая 2025, 16:11
Век живи, век учись. Спасибо большое за помощь
Fenom вывод ТВ множественный выбор, слипается, не разделяется 2
31 мая 2025, 12:39
Хорошая идея, так как я вижу по вебвизору на десктопе много людей смотрят сайт не кликая на закрытие плашки с уведомлением о куки. Т.е если с самого н...
Плашка о использовании cookie файлов на сайте 6
30 мая 2025, 19:57
Пишется небольшой сниппет, который получает список «непустых» категорий. Перечень ID кладем в плейсхолдер.
Запускаем сниппет ДО вызова pdoMenu
В pd...
Как скрыть пустые категории MiniShop2? 3
29 мая 2025, 16:19
Данная версия будет бесплатной всегда, задумывал ее как базовую версию. Я скоро выпушу платный вариант с расширенным функционалом, где будет возможнос...
IskWaf - Простой Web Application Firewall для MODX 3
Скрипт сработал
Но локализации spb в ресурсах не добавились:https://prnt.sc/uKX81XjRPLcN
Вот скрипт:
Пробую написать сниппет такого плана.
<?php
$options = $modx->getIterator('msOption');
$output = array();
$onlyoptions = marka, model;
foreach($options as $onlyoptions ){
$output[] = $onlyoptions ->get('key').'=='.$option->get('value');
}
return $output;
Не работает…
<?php
$options = $modx->getIterator('msOption');
$output = '';
foreach ($options as $opt){
$values[] = $opt->get('caption').'=='.$opt->get('key');
}
$output = implode('||',$values);
return $output;
А в шаблоне феном разбираем этот массив так? prnt.sc/n_EJth9nw9pr
Тогда на странице пустое поле: prnt.sc/iUZ68adwGFtX
1. Создал сниппет с этим кодом prnt.sc/ZuVvCHGba7Ny
2. Вывел сниппет в шаблоне prnt.sc/szcJrmnmSQ2O
3. Вот что получилось: ARRAY prnt.sc/vVOULK-zDUZh
Пробую так: prnt.sc/lfgYjY8GrPRL
Ругается на синтаксическую ошибку…
Пробую так: prnt.sc/lfgYjY8GrPRL
Ругается на синтаксическую ошибку…
Что бы KIA была первой в списке?
$key = 'mse2_filter_msoption_'.$opt->get('key'); // Добавляем к каждой опции префикс
$q = $modx->newQuery('modLexiconEntry');
$q->where(array(
'namespace' => 'msearch2',
'topic' => 'default',
'name' => $key
));
$lexicon = $modx->getObject('modLexiconEntry', $q);
// Пытаемся получить запись из словаря для этой опции
if (!$lexicon){
// Если записи нет — добавляем опцию в словарь
$newLexicon = $modx->newObject('modLexiconEntry', array(
'name' => $key,
'value' => $opt->get('caption'),
'namespace' => 'msearch2',
'topic' => 'default',
'language' => 'ru',
'createdon' => time()
));
Unexpected token '~' in expression in e014f8071b522126681529ed92e5b3d5 line 377
Ругается на этот символ ~, я так понял
В том и дело, что если группы фильтров через mfilter2 вызывать, то порядок как раз меняется порядком чанков.
А с использованием SelectFilters, порядок сбивается. Этот компонент н умеет походу порядок поддерживать тот который нужен. Он всовывает дефолтные группы фильтров в начало.
Название чанков поменял, тот же результат.
{set $filters = '!SelectFilters' | snippet: [
'default' => [
'ms|vendor:vendors', 'resource|parent:parents'
]
]}
{$_modx->runSnippet('!mFilter2', [
'element' => 'msProducts',
'class' => 'msProduct',
'showEmptyFilters' => 1,
'limit' => 12,
'tplOuter' => 'mFilter2OuterTpl',
'tpls' => 'listProductTpl,gridProductTpl',
'includeTVs' => 'available',
'includeThumbs' => 'medium',
'tplPageWrapper' => '@INLINE
{$prev}{$pages}{$next}
','tplPageActive' => '@INLINE {$pageNo}',
'tplPage' => '@INLINE {$pageNo}',
'tplPagePrev' => '@INLINE «',
'tplPageNext' => '@INLINE »',
'tplPagePrevEmpty' => '@INLINE «',
'tplPageNextEmpty' => '@INLINE »',
'filters' => $filters,
'aliases' => 'ms|vendor==vendor,
msoption|marka==marka,
msoption|model==model',
'ajaxMode' => 'button',
'filterOptions' => '{
«more_tpl»: "<button class=\«btn btn-blue btn-rounded btn_more\»>Загрузить еще"
}',
'tplFilter.outer.default' => 'filterSelectOuter',
'tplFilter.row.default' => 'filterSelectRow',
'tplFilter.outer.vendor' => 'filterCheckboxOuter',
'tplFilter.row.vendor' => 'filterCheckboxRow',
'tplFilter.outer.marka' => 'filterSelectOuter',
'tplFilter.row.marka' => 'filterSelectRow',
'tplFilter.outer.model' => 'filterSelectOuter',
'tplFilter.row.model' => 'filterSelectRow',
'tplFilter.outer.resource|parent:parents' => 'filterSelectOuter',
'tplFilter.row.resource|parent:parents' => 'filterSelectRow',
])}
Блок фильтров по каталогам в самой середине: prnt.sc/gPEm6FcerM3r
Это в случае, когда модели и марки — категории.
'ms|vendor:vendors', 'resource|parent:parents'
Эта группа фильтров должна идти последней: resource|parent:parents
А она выводится второй после ms|vendor:vendors
Характеристики: производитель
Опции: статус производителя «Оригинал/Неоригинал», марка «KIA/Hyundai» и модель «Solaris 1 RBR (10-17), Rio 2 JB (05-11), Cerato 2 TD (09-13), Sportage 2 KM, KMS (04-10), Carens 3 UN (06-13), Elantra 4 HD (06-11), Tucson 1 JM (04-10), i-40 VF (11-20), Verna 3 MCT (06)»
Заранее спасибо, буду очень благодарен.
Нажимает кнопку «найти» и попадает на страницу результатов поиска с подборкой салонных фильтров по его запросу. Так же на странице с подборкой вывожу mfilter2, и клиент уже может из подборки выбрать фильтром производителя фильтра, к примеру «Бош», а так же его статус «Оригинал/Неоригинал», отметив нужные галочки. Скриншот: prnt.sc/IcN6k3hPMhoP