Кешируем mFilter2

Как кол-во товаров на сайте переваливает какую-то границу, то mFilter2 начинает жестко тупить. Переодически мне приходиться бороться с этой проблемой. В итоге изучения mFilter2 выработал пару решений.
Александр Туниеков
22 сентября 2022, 08:35
modx.pro
7
1 528
+8

Как реализовать переключение языков без контекстов

Здравствуйте!

Есть статьи с переводами на английский язык, которые должны открываться по ссылкам вида:
site.com/ru/article
site.com/en/article

Используется только контекст web, переводы заполняются в кастомной вкладке ресурса и хранятся в отдельной таблице.

Подскажите, как можно реализовать переключение языковой версии при условии, что нет контекста и нужно использовать директории ru|en?

Сразу скажу, чем не устраивает контекст + babel и т.д.:
это долго и неудобно при добавлении большого количества статей, много «лишних» переключений, копирований и т.д., кратно быстрее и удобнее при создании ресурса быстро скопипастить во вкладку все поля с переводами.

Заранее спасибо за ваши идеи и предложения.
Илья
22 сентября 2022, 00:34
modx.pro
543
0

Снова where и множественный выбор

Здравствуйте!

Логика должна быть следующая: у текущего ресурса, где запускается выборка есть TV option (например имя1==1) с одним значением. У выбираемых ресурсов есть TV rubrika со списком множественного выбора (там несколько значений вида имя1==1||имя2==2||имя3==3). Выбираться должны только ресурсы имеющие в своем множественном списке совпадение с текущим значением TV ресурса где запускается выборка.

Вот так не работает:
[[!pdoPage?
        &parents=`4`
        &includeTVs=`rubrika`
        &where=`{"[[*option]]:IN":rubrika}`
        &tpl=`RowTpl`
]]
Подскажите, пожалуйста, как решить данную задачку.
newbmod
21 сентября 2022, 14:09
modx.pro
753
0

[miniShop2 4.0.0-beta] - Разбор нововведений. Небольшие изменения в контроллерах

В серии коротких заметок расскажу и детально покажу что нового мы сделали для Вас в новой версии miniShop2 Для MODX2

На очереди информация для разработчиков, касательно окончательного положения контроллеров.
Николай Савин
21 сентября 2022, 09:53
modx.pro
883
+11

Как правильно вывести поля в mFilter2

Приветствую.

Как правильно вывести поля в mFilter2, такие как: new,popular,favorite
Павел
21 сентября 2022, 08:11
modx.pro
536
0

[miniShop2 4.0.0-beta] - Разбор нововведений. Гибкая настройка статусов

В серии коротких заметок расскажу и детально покажу что нового мы сделали для Вас в новой версии miniShop2 Для MODX2

На очереди обновление связанное со статусами заказов.
Николай Савин
20 сентября 2022, 15:54
modx.pro
628
+12

Fenom вывод имени parent

Задача на первый взгляд простая. Есть изображение, которое принадлежит к определенному документу. Документы сгруппированы по городам-документам. Нужно вывести имя parent документа внутри alt-а изображения.
<img src="{$file['url'] | phpthumbon: 'fltr[]=wmi|assets/wm/wm.png|C|40|100|100|0'}" alt="{$_modx->resource.parent | resource : 'pagetitle'}" title="{$file['name']}">
{$_modx->resource.parent | resource: 'pagetitle'} выводит Home, на несколько уровней выше.
Как это сделать?
Антон
19 сентября 2022, 22:31
modx.pro
1 332
0

Как массово поменять tv у ресурсов в поле tvSuperSelect ?

Делаю вот такой простой запрос, в ресурсах вроде бы сохраняется это и видно что появляется тег, но при выводе похожих ресурсов по тегу — пусто, но если прописать в ручную и сохранить то всё норм показывается. Подскажите как правильно правильно массово добавить тег для tvSuperSelect
<?php
$q = $modx->newQuery('modResource');
$q->where(array(
    'parent' => 816,
    'template' => 3
    ));
$resources = $modx->getIterator('modResource', $q);
foreach($resources as $resource) {
    $content = $resource->get('content');
    $title = '["тег суперселект"]';

    $resource->setTVValue('super_select_tags', $title);
    $resource->save();
}
[[tvssResources:empty=`Похожих записей не найдено`?
    &tv=`39`
    &tags=`[[tvssTags?id=`[[*id]]`&tv=`39`&tpl=`@INLINE [[+tag]]`]]`
    &parents=`0`
    &depth=`10`
    &limit=`4`
]]
UPD
Пытался еще вот так, через процессор update — тоже безрезультатно
<?php
$id = 47535;
$resource = $modx->getObject('modResource', array('id' => $id));
if (is_object($resource)) {
    // преобразуем объект в массив
    $resource = $resource->toArray();
    // изменим заголовок страницы
    $resource["super_select_tags"] = 'Новый 4';
    // выполнение процессора    
    $response = $modx->runProcessor('resource/update', $resource);
    
    // если ошибка 
    if($response->isError()){
        echo "Произошла ошибка". $response->getMessage();
    }
    else{
        echo "Документ изменен";
    }
} else {
    echo "Документ не найден";
}
Evgeny
19 сентября 2022, 19:39
modx.pro
573
0

Некорректный вывод [[+price]] в minishop2

Перевожу магазин c shopkeeper 3 на minishop2. Цена товара раньше была в tv-параметре price, скриптом скопировал ее в соотв. поле в карточке товара в minishop2. То есть она теперь и там и там одинаковая. Однако, что [[+price]], что [[*price]] теперь выводит почему-то «1», то есть просто единицу. В базе все цены в норме. Как это чинить?
snowdog178
19 сентября 2022, 16:10
modx.pro
471
0

Не работает Fenom в чанках

Fenom отказывается работать в чанках и вместо вывода результата выводит на страницу просто {code}.
Настройки ниже.
Включать на всех страницах и шаблонах не хочу, много инлайн js кода, который с феномом не дружит.
snowdog178
19 сентября 2022, 16:04
modx.pro
698
0