Вопросы

mfilter2 custom filter по tv с разделителем

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

Пытался сделать кастомный фильтр для mfilter2, можно сказать почти удалось, но столкнулся с проблемой, при фильтрации по одному тв полю — все работает, если по нескольким уже нет.

Всего полей 10 в них содержатся значения в таком виде: 0|1|2 и т.д.

<?php
class myCustomFilter extends mse2FiltersHandler {

    public function buildQstFilter(array $values) {
        if (count($values) < 2 && empty($this->config['showEmptyFilters'])) {
            return array();
        }
        $tmp = $values;
        $values = array();
        foreach ($tmp as $k => $v) {
            $tmp = explode('|', $k);

            foreach ($tmp as $k => $v) {
                $values[$v] = array(
                        $v => $v
                    );
            }
        }

        $results = array();
        foreach ($values as $value => $ids) {
            $title = $value;


            if (!isset($results[$value])) {
                $results[$value] = array(
                    'title' => $title
                    ,'value' => $value
                    ,'type' => 'price'
                    ,'resource' => array()
                );
            }

            foreach ($ids as $id) {
                $results[$value]['resources'][] = $id;
            }
        }

        ksort($results);
        

        return $results;
    }
    

    public function filterQst(array $requested, array $values, array $ids) {
        $matched = array();
        
        //$values = Array ( [7] => Array ( [890] => 890 ) [2|7] => Array ( [1530] => 1530 ) )
        //$value = 2

        $value = $requested[0];
       
        $tmp = array_flip($ids); 
         
        foreach ($values as $answ_id => $id) {
            
            $answ = explode('|', $answ_id);
     
            if(in_array($value, $answ)) {
                foreach ($id as $k => $v) {
                    $matched[] = $v;
                }
            }
            
        }
 

        return $matched;
    }
   
}
В шаблоне

{'!mFilter2'|snippet:[
            'aliases' => '
                tv|qst_9==qst_9,
                tv|qst_10==qst_10,
                tv|qst_11==qst_11,
                tv|qst_12==qst_12,
                tv|qst_13==qst_13,
                tv|qst_14==qst_14,
                tv|qst_15==qst_15,
                tv|qst_16==qst_16,
                tv|qst_18==qst_18,
                tv|region==region,
                ms|price==price,
                resource|parent==category
            ',
            'filters' => '
                tv|qst_9:qst,
                tv|qst_10:qst,
                tv|qst_11:qst,
                tv|qst_12:qst,
                tv|qst_13:qst,
                tv|qst_14:qst,
                tv|qst_15:qst,
                tv|qst_16:qst,
                tv|qst_18:qst,
                tv|region:qst,
                ms|price:number,
                resource|parent:parents
            ',
            'parents' => 7,
            'limit' => 12,
            'element' => 'msProducts',
            'sortby' => 'RAND()',
            'class' => 'msProduct',
            'includeContent' => 1,
            'includeTVs' => 'filials,img,qst_9,qst_10,qst_11,qst_12,qst_13,qst_14,qst_15,qst_16,qst_18,region',
            'tplOuter' => 'PODBORKA.mFilter2.outer',
            'tplFilter.outer.default' => 'mFilter2.filter.outer',
            'tplFilter.row.default' => 'mFilter2.filter.checkbox',
            'tplFilter.outer.price' => 'tpl.mFilter2.filter.slider',
            'tplFilter.row.price' => 'tpl.mFilter2.filter.number',
            'tpls' => 'CATALOG.item.tpl',
            'hideContainers' => 1,
            'showEmptyFilters' => 1,
            'suggestions' => 0,
            'ajaxMode' => 'default'
        ]}
Сами поля:
https://yadi.sk/i/AU8706AxkYLZzQ

Прошу помощи
Andrey Frost
21 ноября 2019, 10:30
modx.pro
1 144
0

Fenom: Не выводится чанк при условии

Привет!..
Создан TV — latestTag (список-одиночный выбор 0==Нет||1=Да)
В tpl_latestTag обычный span с текстом
Пытаюсь вывести
{if $_modx->resource.latestTag == '1'}
{$_modx->getChunk('tpl_latestTag')}
{/if}
А он не выводится. Что я делаю не так?
Сергей
21 ноября 2019, 10:06
modx.pro
1 920
0

Как реализовать "конкурсное" голосование?

Всем привет!
Предположим задача устроить конкурное голосование за людей/бренды/новости. Есть ряд компонентов для голосования. Грубо говоря, в основном это голосование за текущую страницу, какие-то опросы и т.п. Но чтобы вывести несколько объектов на одной страницу и проголосовать за один из них-не нашел, чтобы сразу для этой цели.

Предполагаю, что нужно создать родительский документ, он же цель голосования, внутри дочерние документы они же участники для голосования. Дальше в родительском документе выводим по шаблону блоки с участниками: заголовок, описание, изображение, кол-во голосов и т.д. В блоке участника также кнопка «Голосовать». Конкурс готов! :)

Вопрос, просьба поделиться опытом! Через какие компоненты удаться это реализовать? Что из под чего вызывать, на что обратить внимание или совет оставить эту затею :)
Сергей
20 ноября 2019, 23:41
modx.pro
985
0

Как сделать промежуточный итог в корзине miniShop2

Сейчас в корзине есть кол-во, вес и цена по прайсу.
Нужно сделать что бы в дополнительной колонке считалась еще и сумма для каждого отдельного товара.
Кефирка
20 ноября 2019, 20:40
modx.pro
719
0

Minishop2 непросмотренный заказ

Делал ли кто подобное и как сложно это сделать?

Нужно добавить свой класс ко всем заказам в списке заказов. После просмотра заказа класс удалять.
Суть — как в почте, выделять непросмотренные заказы.
Сергей Самусев
20 ноября 2019, 15:59
modx.pro
686
0

MIGX и путь к изображению

Добрый вечер. Возникла проблема с путем к изображению.
В шаблоне вызываю так:
[[!getImageList?
    &value=`[[+solo.gallery_section-gallery_items]]`
    &tpl=`solo.gallery_item_tpl`
    &processTVs=`1`
  ]]
Чанк
solo.gallery_item_tpl
имеет такой вид
<div class="col-xs-12 col-md-6 col-sm-6">
  <img src="[[+image]]"  alt="[[+title]]"/>
</div>
<div class="col-xs-12 col-md-6 col-sm-6">
   <h3>[[+title]]</h3>
   [[+content]]
</div>
На выходе получаю ТОЛЬКО название файла выбранного в [[+image]], хотя должно быть image/custom/imagename.jpg
Как быть в такой ситуации?
Alex
19 ноября 2019, 22:14
modx.pro
931
0

PageSpeed - Интеграция оптимизаций PageSpeed Insights для MODX Revolution

Это дополнение предназначено для облегчения интеграции оптимизаций PageSpeed Insights для MODX Revolution. Оно может:
Работать в автоматическом режиме, если достаточно стандартной конфигурации.
Получать ресурсы страницы через API cdnjs.com и скачивать шрифты с Google Fonts.
Объединять и минифицировать стили, скрипты и JSON. Минифицировать HTML контент.
Скачивать и кэшировать медиа файлы. Добавлять теги preconnect.
Вычислять хеши SRI для файлов и добавлять аттрибуты defer или async к тегу script.
Конвертировать gif, jpg и png изображения в формат webp, если браузер его поддерживает.
Одновременно работать с несколькими конфигурациями, эффективно используя кэш.
Выводить специализированные теги MODX в консоль браузера для членов группы Administrator.
Документацию и примеры можно посмотреть тут.
Фарит
19 ноября 2019, 15:24
modx.pro
2 161
+2

Вывод даты создания последнего дочернего документа

Привет всем!
Надо вывести типа «Последняя новость от 00.00.0000»
Понимаю, что можно сделать через pdoResources, но существует ли более изящный или проще способ?
Сергей
19 ноября 2019, 11:24
modx.pro
1 121
0

mFilter2 несколько полей в одной группе фильтров.

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

У меня два вопроса по фильтру.

Мне нужно сгрупировать свойства.

ms|new
ms|favorite

Необходимо.

1. Отключить 0 (Нет) из выборки
2. Как сгругипировать несколько параметров и обернуть единой оберткой (присвоить единый заголовок оберткой)

Я понимаю можно сделать проверки, но хочется с более простой шаблонизацией.
Может кто-то сталкивался с данной задачей. Как сделать этого элегантнее.

Cпасибо.
Олег Щавелев
18 ноября 2019, 21:10
modx.pro
995
0

Использование pdopage. При переходе на другую страницу она загружается но курсор становиться посередине страницы

Добрый вечер. Помогите решить данную проблему пожалуйста.
Проблема такая — использую pdopage. Так вот нахожусь значит я на странице №1 и захотел перейти на любую другую, допустим страницу №3. Кликаю по 3-й страницы, все гуд — переходит, но вот незадача — страницу как будто промотали до середины! Т.е. новая страниц загружена полностью, а нахожусь я не вверху страницы где менюшка и т.д., а посередине страницы, как будто я промотал половину контента.
Помогите решить проблему?
Александр
18 ноября 2019, 20:45
modx.pro
631
0