Выбор для авторизованных - из базы, неавторизованных - из cookie

Доброго дня!
Хочу сделать возможность настройки для авторизовавшихся. НО! Если пользователь не авторизован (но ранее уже БЫЛ авторизован и сделал выбор настроек) — брать данные из cookie.
Предполагается ведь, что это, видимо, ТОТ ЖЕ пользователь, только он не успел авторизоваться.
Можно ли такое сделать в MODx?
Игорь
30 сентября 2021, 09:00
modx.pro
444
0

Ajax запрос в снипет

Сергій
29 сентября 2021, 23:06
modx.pro
2
585
0

Блок Рекомендуемые страницы

Добрый день.
Понадобилось написать блок «Рекомендуемые страницы». В списке вывода 3 релевантные страницы.
Из этих релевантных страниц необходимо вытащить tv-поле с картинкой, pagetitle и ссылку на нее.
Контейнер самого блока:
<section class="recommend">
    <div class="recommend__container container">
        <h2 class="recommend__title"></h2>
        <ul class="recommend__list">
            [[pdoResources?
                &includeTVs=`recommend-pages`
                &resources=`[[*recommend-pages]]`
                &tpl=`tpl.recommend-pages--item`
                &limit=`3`
            ]]
        </ul>
    </div>
</section>
на ресурсе, в котором размещаем контейнер есть tv-поле со списком id-шников.
Нужно через id сослаться на тв поля этих ресурсов и эту инфу вставить в чанк, как это сделать не понимаю.

чанк «tpl.recommend-pages--item» для вывода одного результата из списка:
<li class="recommend__item">
    <a class="recommend__link" href="">
        <div class="recommend__image">
            <img src="" alt="">
        </div>
        <p class="recommend__name">
            
        </p>
    </a>
</li>
Намекните, пожалуйста, как это сделать
Олег
29 сентября 2021, 17:26
modx.pro
612
0

Как добавить свою вкладку в окно обновления пользователя?

Здравствуйте!
Поделитесь пожалуйста мануалом или подскажите что делаю не так.

Пытаюсь добавить свою вкладку в окно обновления юзера.
Создал плагин на событие OnUserFormRender в котором подключаю js файл:
<?php
if ($modx->event->name != 'OnUserFormRender') return '';

$modx->controller->addLastJavascript('/assets/components/customModx/js/mgr/user/tab.js');
Код tab.js:
Ext.override(MODx.panel.User,{
    getParentFields: MODx.panel.User.prototype.getFields,
    
    getFields: function(config) {
        var parentFields = this.getParentFields.call(this,config);
        
        for (var i in parentFields) {
            var item = parentFields[i];

            if (item.id == 'modx-user-tabs') {
                item.items.push({
                    id: 'my-custom-tab'
                    ,title: 'Доступ к курсам'
                    ,layout: 'form'
                    ,defaults: { border: false ,autoHeight: true }
                    ,hideMode: 'offsets'
                    ,items: [{
                        html: '<p>Включение и отключение доступа пользователя к видео-урокам</p>'
                        ,xtype: 'modx-description'
                    },{
                        //Тут остальные элементы
                    }]
                });
            }
        }

        return parentFields;
    }
});
Вкладка, к сожалению, не появилась. В Network вижу, что js-файл подключился.
Подскажите кто может, что тут не так. Заранее спасибо!
Lori
29 сентября 2021, 12:08
modx.pro
454
0

Фильтр пользователей

Привет всем. Подскажите как мне вывести текст если данная конструкция не нашла ни одного пользователя.
Уже все перепробовал, ничего не помогает. Выручайте
[[!pdoUsers?
&tpl=`user-list-home`
&showInactive=`1`
&showBlocked=`1`
&where=`{ "modUserProfile.extended:LIKE":"%\"user_group_id\":\"[[!pdoUsers? &groups=`[[+modx.user.id]]` &tpl=`@INLINE [[+extended.chat.user_group_id]]`]]\"%" }`
]]
Пытался через fenom сделать но не работала конструкция where.
Сергій
29 сентября 2021, 02:37
modx.pro
1
486
0

Может ли пагинация в mFilter2 работать не через ajax?

Есть список товаров, выводимых через mFilter2
Есть пагинация 1/2/3 и так далее
Переход на вторую страницу вызывает запрос на action.php который возвращаяет json, который содержит html, который заменяет собой содержимое страницы и видимо как то через апи браузера подменяется url, добавляется ?page=2
Однако, при таком подходе нет возможности строить логику на странице в зависимости от $.get['page'] к примеру добавить на всех страницах пагинации в title дополнительную фразу.
Если перейти get запросом на url
site.com/category?page=2
то все разумеется сработает, а вот если находясь на первой страницы перейти по пагинации на вторую, полноценного запроса не происходит.
Вопроса два
— можно ли просто отключить такое поведение пагинации? Сделать чтобы при клике на 2 страница перезагружалась?
— или поделитесь пожалуйста кто какие решения уже придумал?
Спасибо.
Александр Мельник
28 сентября 2021, 14:31
modx.pro
574
0

HelpfulPage - есть ли документация? Много вопросов

Добрый день!
Из примеров ничего, собственно, не узнаешь.

1. Хотел бы дать возможность голосовать только авторизованным.
Просто не выводить форму голосования?
Получается, неавторизованные могут голосовать бесконечно.

2. Сбор статистики.
Где можно посмотреть данные статистики голосований по ресурсу? И можно ли их обработать средствами MODX? Или надпись «Вы уже голосовали» и статистика формируются по другим правилам?

3. Форма отправки.
Я так понимаю, настройку отправки нужно делать самому (никаких претензий)?
Игорь
28 сентября 2021, 12:24
modx.pro
527
0

SeoFilter не обрабатывает правило

Добрый день, у меня расширение игнорирует фильтр, хотя настроил все так же, как обычно, документацию тоже смотрел.

loaderpro.ru/shiny/katalog-shin/

фильтр тип шин

только прямые ссылки
loaderpro.ru/shiny/katalog-shin/tselnolitye
loaderpro.ru/shiny/katalog-shin/pnevmaticheskie



Как починить это?
Hiiragi
28 сентября 2021, 11:42
modx.pro
473
0

Как выполнить JS код 1 раз на странице "Спасибо за заказ"

minishop2
нужно выполнить JS на странице «Спасибо за заказ» причем всего 1 раз для данного заказа.
обновление страницы, смена браузера, очистки куки/истории/сессий не должны приводить к повторному выполнению кода.

может кто делал подобное — подскажите решения пожалуйста.
Андрей Рябченко
27 сентября 2021, 18:25
modx.pro
354
0