Вопросы

Fenom не работает на вложенных ресурсах

max
max
10 декабря 2021, 11:13
modx.pro
1 096
0

Как убрать ?q в урл, при этом чпу включен, это появляется когда ввести .html в конце, как исправить?

Как убрать ?q в урл, при этом чпу включен, это появляется когда ввести .html в конце, как исправить?
ТАК ЖЕ .html отключено в настройках

допустим site.com/home.html, он даст такое site.com/home.html?q=home.html и при этом выдаст ошибку, но с таким юрл, чтобы не писал в адресной строке, при прописке .html сразу выдаёт такой урл
Vladimir
09 декабря 2021, 12:55
modx.pro
915
0

Фильтр mFilter по TV полю типа чекбокс

Хочу создать фильтрацию по TV полю типа чекбокс. Записать сразу несколько параметров через разделитель, вместо создания для каждого параметра отдельного поля. Сейчас у меня есть параметры типа Радио в них параметры выставлены так: Есть==1||Нет==2. Они выводятся чекбоксом. Как мне сделать такие же чекбоксы для параметров из TV поля чекбокс?
Miša Bulic
09 декабря 2021, 10:32
modx.pro
1
1 388
0

Зависимые поля в MIGX

Добрый день. Подскажите а есть возможность в migx делать зависимость полей. К примеру у меня 2 поля:
1) Продукты типа listbox с Input Option Values:
@SELECT CONCAT(pagetitle,' - ',id), id FROM modx_site_content WHERE template=6 AND deleted=0
2) Модификации типа listbox с Input Option Values:
@SELECT CONCAT(name,' - ',id), id FROM modx_msop_modifications WHERE active=1 AND rid=[[+id]]
То есть опции модификации зависят напрямую от выбранного продукта?
Евгений Лазарев
08 декабря 2021, 18:59
modx.pro
1 167
0

pdoMenu выборка с двухуровневого списка не оборачивается в flex box со стилем.

Добрый день!
Формирую пункты меню вот с этих ресурсов:

{if $_modx->resource.materials[0] == 1}
			        {if $_modx->resource.materialtype[0] == 'Кровати'}
                                    <div class="mb-3 color-black small-text">Выберите материал и цвет</div>
                                    <div class="tabs product-materials mb-2">
                                        <div class="tabs-caption d-flex flex-wrap">
                                            <div class="tabs-caption d-flex flex-wrap">
                                                {'pdoMenu' | snippet : [
                                                    'parents' => 414
                                                    'level' => 1
                                                    'sortby' => 'menuindex'
                                                    'tpl' => '@INLINE 
                                                        <div class="tabs-caption__item{if $idx == 1} active{/if}">
                                                            <div class="material-title">{$pagetitle}</div>
                                                            {if $introtext}<span class="material-click">?</span>
                                                            <div class="material-desc">{$introtext}</div>{/if}
                                                        </div>
                                                    '
                                                    'tplOuter' => '@INLINE {$wrapper}'
                                                ]}                    
                                            </div>
                                        </div>
                                        <div class="tabs-content">
                                            {'pdoMenu' | snippet : [
                                                'parents' => 414
                                                'level' => 2
                                                'sortby' => 'menuindex'
                                                'includeTVs' => 'img'
                                                'tvPrefix' => ''
                                                'tpl' => 'tplMaterialImg'
                                                'tplOuter' => '@INLINE {$wrapper}'
                                            ]}  
                                        </div>
                                    </div>
                                    <div class="mb-5"><a class="link-underline color-brown" href="{912 | url}">Заказать образцы 
 тканей домой</a></div>
{/if}
{/if}
Когда тип материала == 'Кровати' то меню генерируется норм по шаблону tplMaterialImg (см. код ниже)

tplMaterialImg
{if $parent != 414}
                                                        {foreach json_decode($_modx->resource.photos) as $item}
                                                            {if $item.material == $pagetitle}
                                                                {var $photo = $item.photo}
                                                            {/if}
                                                        {/foreach}
                                                        
                                                        <label class="product-material">
                                                            <input class="d-none" type="radio" name="options[mat]" value="{$pagetitle}" {if $id == 418}checked{/if} data-cat="{$parent}" data-img="{$photo}">
                                                            <div class="product-material__img"><img class="d-block lazy" src="assets/template/img/default.jpg" data-src="{$img | phpthumbon : 'w=114&h=114&zc=1&q=95'}" alt=""></div>
                                                            <div class="product-material__color">{$pagetitle}</div>
                                                        </label>
                                                    {else}                                        
                                                        <div class="tabs-content__item{if $idx == 1} active{/if}">
                                                            <div class="d-flex flex-wrap">
                                                                {$wrapper}
                                                            </div>
                                                        </div>
{/if}
Мне нужно вывести для конкретного родительского ресурса картинки материалов потомков:
0verride
08 декабря 2021, 11:58
modx.pro
720
0

Как в mFilter2 сортировать товары по возрастанию цены?

Товары выводятся через mFilter2. При загрузке страницы товары отсортированы по возрастанию цены и товары с ценой = 0 в конце, тут всё хорошо.
'sortby'=>'{"Data.price=0,Data.price":"ASC"}'
Но если начать переключать сортировку
<a href="#" data-sort="ms|price" data-dir="{$mse2_sort == 'ms|price:desc' ? 'desc' : ''}" data-default="desc" class="sort">{'mse2_sort_price' | lexicon}</a>
то товары с ценой 0 всё равно появляются в начале. Как можно сделать так, чтобы товары с ценой 0 всегда были в конце списка?
Вася
08 декабря 2021, 09:54
modx.pro
1
1 339
0

xLike - вывод ресурсов, которым пользователь ставил лайк

Всем привет, решил реализовать систему лайков при помощи компонента xLike
Однако столкнулся с проблемой
Как вывести список ресурсов, которым ставил лайки в личном кабинете?

Возможно кто-либо сталкивался?
Прошу помощи

Буду благодарен
Андрей
07 декабря 2021, 11:48
modx.pro
1 156
0

Как запомнить пользователя, если он заполнил и отправил все формы?

Всем привет.

На сайте необходимо реализовать 3 формы, которые пользователь должен в течение 1 года отправить.

1 форма (FormIt) — 1 страница (ресурс). Как вывести чанк «Спасибо, вы уже заполняли эту форму 06.12.2021.», если пользователь уже заполнял эту форму?

По какому критерию запоминать, что форма уже была отправлена?

Пока в голову приходит что-то вроде такой схемы:
1. Хранить все формы с помощью сниппета FormIt2db
2. В каждой форме добавить 3 скрытых инпута: ID формы (тут можно вручную прописать), ID залогиненого пользователя ({$_modx->user.id}), текущая дата в UNIX формате ({time()}). Все отправленные формы сохраняем в отдельной таблице.
3. Разработать сниппет, который перед выводом форм будет проверять в базе наличие ID формы + ID пользователя НЕ пусто, то показываем чанк с сообщением.

Я правильно думаю или заморочено?

Буду рад рекомендациям.
Anton
06 декабря 2021, 16:47
modx.pro
950
0

Сворачивается дерево ресурсов

Уважаемые Друзья.
На одном из проектов после каждого редактирования сворачивается дерево ресурсов. Очень неудобно каждый раз открывать заново. Как исправить? Заранее благодарю!
ariadnadesign
05 декабря 2021, 11:58
modx.pro
723
0

плагин для обработки события в xparser

есть такой пакет вредный xparser
есть к нему примеры плагинов, например такой

$sp = &$scriptProperties;
switch ($modx->event->name) {
    case 'xParserOnBeforeTaskActions':
        foreach ($sp['rows'] as &$row) {
            $resource = &$row['Resource'];
            // Если код ответа 301, 302, 404
            if (in_array($row['Request']['http_code'], array(301, 302, 404))) {
                $resource['published'] = 0; // присвоим ресурсу published = 0
            }
        }
        unset($resource, $row);
        $modx->event->returnedValues = $sp; // передаём измененённые значения обратно
        break;
}
и он просто подвешивает парсинг

но суть не в этом, нужно сделать так чтобы он проводил проверку на пустые поля контента и одного tv поля и после отменял публикацию

чтото типа
if(empty($resource->get('content')) && empty($resource->getTVValue('video')){
            $resource->set('published', 0);
        }
может кто понимает в чем дело?
Евгений
04 декабря 2021, 12:23
modx.pro
623
0