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

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

Простое создание закрытых разделов

Перевод заметки Create Protected Pages the Easy Way

Из данной статьи вы узнаете как быстро и легко скрыть страницы для не авторизованных пользователей вашего сайта с помощью сниппета.
Евгений Webinmd
09 декабря 2021, 15:43
modx.pro
1
1 957
+8

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

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

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

pdoTools3 для MODX3

Друзья!
Как вы все знаете (или почти все), @Mark Hamstra взял быка за рога и своим решением утвердил график выхода MODX3:
  • 3.0.0-alpha3 – 27 октября
  • 3.0.0-beta1 – 8 ноября
  • 3.0.0-beta2 – 22 ноября
  • 3.0.0-rc1 – 6 января 2022
  • 3.0.0-rc2 – 17 января
  • 3.0.0-pl – 31 января
Об этом недавно писал @Иван Климчук. Пока всё идёт по графику и следующий релиз должен быть 6 января. Давайте поддержим Марка и поможем довести до логического завершения эту долгоиграющую историю. Это будет охренительный прорыв и даст новый толчок развитию MODX. Ведь многие из нас уже разочаровались увидеть при своей жизни MODX3.

Теперь по теме. Многие говорили, что для тестирования MODX3 им нужен адаптированный pdoTools, так как они ведут разработку исключительно с ним. Пару дней я назад выпустил новую версию этой библиотеки, предназначенную только для MODX3.
Сергей Шлоков
09 декабря 2021, 10:54
modx.pro
2 514
+39

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

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

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

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

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

Буду благодарен
Андрей
07 декабря 2021, 11:48
modx.pro
1 255
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
1 029
0