Вопросы

Отложенная загрузка или оптимизация mFilter2

Приветствую сообщество!

В общем вопрос такой, сейчас на сайте около 9к ресурсов, фильтруются при помощи mFilter2.

Вся логика простая:
Фильтр вызван на всех страницах, для отдачи результатов фильтра на другую страницу сделано следующее:
'filterOptions' => '{"autoLoad":0}',
а так же:
<form class="filter__form" action="{7 | url}" method="post" id="mse2_filters">
Для снижения нагрузки:
'suggestions' => 0,
Все элементы фильтра вызваны через плейсхолдеры (кроме самих фильтров).

В общем проблема в том, что при загрузке любой странице на сайте (а фильтр вызывается на всех страницах), получается очень долго от 3 до 10 сек. Виновник точно mFilter2.

Собственно вопрос, как оптимизировать его вызов? Или может есть возможность сделать для него ленивую загрузку или что то сделать с кешированием? (пробовал обернуть его в АяксСниппет, но есесна не сработало)

заранее спасибо за помощь!
Andrey
03 сентября 2019, 13:10
modx.pro
1 546
0

Плагины не могут получить доступ к БД

Добрый день. Проблема такая: почему-то ни один плагин не может прочитать, создать, изменить запись в БД, хотя создание записей стандартными средствами MODX происходит без проблем. MODX последний. На хосте CPanel. Логи /core/cache/logs/error.log ничего не дают.
Подскажите, в какую сторону мне копать? Спасибо.
Александр
03 сентября 2019, 07:35
modx.pro
626
0

Как вывести товары на другой странице категории?

Доброго времени суток!
В minishop2 есть категории коллекций, например, «Летняя», «Купальный сезон» и тд.
В этих коллекциях есть одинаковые подкатегории «Майки», «Шорты» и тд.
Также на сайте есть общий раздел «Майки», в который должны выводиться товары из всех коллекций подкатегории «Майки».
Как написать такой вызов?
Для вывода товаров использую mFilter2.
Пример вызова:
[[!mFilter2?
	&parents=`[[*id]]`
	&element=`msProducts`
	&tpl=`tpl.msProducts.row.custom`
	&tplOuter=`tpl.mFilter2.outer.custom`
	&where=`{"class_key":"msProduct"}`
]]
Как я понимаю, необходимо написать условие в where.
Денис
02 сентября 2019, 16:34
modx.pro
1
1 116
0

MiniShop2. Не срабатывают JS.

Всем привет, только начинаю знакомство с MODx и MiniShop2.
Тестовая установка с чистым MODx и MiniShop2 товар в корзину добавляется, при этом не срабатывают аллерты и не обновляются данные в мини корзине, если обновить страницу, товар лежит в корзине. В чем может быть причина и куда посмотреть?
Ошибок в консоли и логах MODx нет. Протестировал минишоп на двух сайтах поведение одинаковое.
Спасибо за ответы.
Dmitry
02 сентября 2019, 14:28
modx.pro
1 593
0

Поиск по таблице товаров по неполному артикулу в админке minishop2 [Решено]

Добрый день, столкнулись с тем, что поиск по сайту по неполному артикулу работает (c msearch2), а вот в админке в таблице товаров только если вводится полный артикул.
Можно ли как-то это исправить?

UPD: решилось добавлением в core/components/minishop2/processors/mgr/product/getlist.class.php
if (is_numeric($query)) {
                    $c->where(array(
                        'msProduct.id' => $query,
                        'OR:Data.article:=' => $query,
                        'OR:Data.article:LIKE' => "%{$query}%", //данной строчки
                    ));
                }
Ann
Ann
02 сентября 2019, 11:09
modx.pro
1
1 028
0

Есть ли готовое решение?

Доброго времени суток.

Ребят, вот такой вопрос.

На этом сайте есть конструктор кухонной мебели nachalo-sk. ru.
Реализован он там конечно не очень, но не суть.
Вопрос. Есть ли готовое решение для modx revo по реализации данной фичи или же ручками?
Ибраим Велиев
02 сентября 2019, 09:16
modx.pro
721
0

Как отловить checkbox в mFilter2?

Всем привет. Может кто-нибудь подсказать как в mFilter2 отловить выбранные чекбоксы и выставлять классы в реальном времени без перезагрузки страницы. Если делать через IF, то всё работает после обновления страницы, а нужно чтобы при выборе подставлялся класс и тэг i.

{var $key = $table ~ $delimeter ~ $filter}
<label for="mse2_{$key}_{$idx}" class="type {$disabled}">
    <input type="checkbox" name="{$filter_key}" id="mse2_{$key}_{$idx}" value="{$value}" {$checked} {$disabled}/>
    {if $checked == 'checked'}<span class="active" style="background: #{$title}"><i class="fas fa-check"></i></span>{else}<span style="background: #{$title}"> </span>{/if} <!--sup>{$num}</sup-->
</label>
SEQUEL.ONE
01 сентября 2019, 15:56
modx.pro
1 198
0

Общая сумма по каждому товару в корзине Minishop2

Вывожу общую цену в корзине по каждому товару
<td class="product_cost">
    <span class="">{$product.cost}</span>
    {'ms2_frontend_currency' | lexicon}
 </td>
Как сделать чтобы цена менялась при изменении количества товара в корзине? Сейчас меняется только после перезагрузки.
Юрий
31 августа 2019, 16:20
modx.pro
1 340
0

Очистка formit после успешной отправки

Добрый день!
Может кто сталкивался с такой задачей, но надо сделать так, что бы formit не очищал поля после успешной отправки.
Суть в том, что есть калькулятор и параллельно данные отправляются на почту. Как сделать так, что бы форма не очищалась?

Нашел у formit: clearFieldsOnSuccess — но это на оборот для того что бы очищалась. по умолчанию тоже очищается все. Может есть другое решение?
Сергей
30 августа 2019, 13:38
modx.pro
1 510
0

Не передается хук $redirectParams в FormIt

Здравствуйте! Помогите, пожалуйста, определить проблему: директолог потребовал, чтобы после отправки формы в строке браузера появилось что-нибудь. Я определил, что с этим легко справляется хук &redirectParams в параметрах FormIt. Письма на почту приходят, всплывающие сообщения работают, а вот в строке ничего не появляется…

Код:
[[!AjaxForm?
            &snippet=`FormIt`
            &hooks=`email,FormItSaveForm`
            &form=`@FILE chunks/forms/form_callback.tpl`
            &formName=`Форма с сайта`
            &redirectParams=`{ "success":"1" }`
            &formFields=`city,phone`
            &formNames=`city==Город,phone==Телефон`
            &emailSubject=`Заказ звонка`
            &emailTo=`mail@mail.ru`
            &emailTpl=`@FILE chunks/email.tpl`
            &emailFromName=`Заявка с сайта`
            &validate=`city:required,phone:required`
            &validationErrorMessage=`В форме содержатся ошибки!`
            &successMessage=`Спасибо за заявку!`
            ]]
Роман
29 августа 2019, 16:16
modx.pro
887
0