Вопросы

Помогите получить id родителя в pdoMenu в tplInner

Имеется многоуровневое меню. Необходимо получить id родителя в tplInner для ul id=«parent-{$parent.id}»
Понимаю, что надо как-то иначе, но не могу найти в документации

<nav id="nav">
{'!pdoMenu' | snippet : [
            'parents' => '0',
            'level' => 10, 
            'processTVs' => 1,
            'tpl' => '@INLINE <li ><a href="{$link}">{$menutitle}</a></li>',
            'tplOuter' => '@INLINE <ul >{$wrapper}</ul>', 
            'tplParentRow' => '@INLINE <li><a href="#parent-{$id}">{$menutitle}</a>{$wrapper}</li>',
            'tplInner' => '@INLINE <ul id="parent-{$parent.id}">{$wrapper}</ul>',
            'tplInnerRow' => '@INLINE <li><a href="{$link}">{$menutitle}</a></li>'
]}
</nav>
На выходе нужно получить

<nav>
<ul>
    <li ><a href="#parent-1">Категория 1</a>
            <ul  id="parent-1">
                <li><a  href="#parent-30">Подкатегория 30</a>
                    <ul id="parent-30">
                        <li><a href="catalog/cat-301">Подкатегория 301</a></li>
                        <li><a href="catalog/cat-302">Подкатегория 302</a></li>
                    </ul>
                </li>
                <li><a  href="#parent-40">Подкатегория 40</a>
                    <ul id="parent-40">
                        <li><a href="catalog/cat-401">Подкатегория 401</a></li>
                        <li><a href="catalog/cat-402">Подкатегория 402</a></li>
                    </ul>
                </li>
            </ul>
    </li>
</ul>
</nav>
SYAN
19 апреля 2021, 19:56
modx.pro
891
0

Реферальная программа MiniShop2 + msProfile

Здравствуйте! Возник вопрос, если уже есть ответ ткните носом!
Дано: Сайт по перевозкам на море. На нем установлен MiniShop2 для покупки билетов.
Нужно: Владельцы сайта хотят иметь личный кабинет для пользователя (Просто куплю и поставлю Office) и в нем разместить для каждого пользователя реферальную ссылку которую он может давать своим «знакомым».
Николай Мирошниченко
19 апреля 2021, 16:37
modx.pro
930
0

Shaffle parents

Привет.

Как мне перемешать в случайном пордяке $parents с сохранением index при вызове getResources?
Понимаю что надо использовать shuffle, но не могу заставить работать…

{var $parents = $_modx->getResources(
    ['published' => 1, 'deleted' => 0, 'isfolder' => 1],
    ['select' => 'id,longtitle','parents' => 24,'limit' => 7])}

{foreach $parents as $parent index=$index}



{var $childs = $_modx->getResources(
    ['published' => 1, 'deleted' => 0, 'parent' => $parent.id], 
    ['select' => 'id,longtitle,introtext', 'sortby' => 'rand()','limit' => 1,'includeTVs' => 'img','tvPrefix' => '','processTVs' => 1])}

        {if $childs}
			{foreach $childs as $child}
******
			
{/foreach}			

{/foreach}
По сути: мне нужно вывести из 8 разделов (parents) по одному потомку (child) в случайном порядке, при этом рандомно и разделы и потомков
Григорий
18 апреля 2021, 10:50
modx.pro
900
0

Импорт товаров в MODX из YML

Здравствуйте, если ли такой модуль, импорт товаров из ссылки YML?
Игорь
17 апреля 2021, 20:59
modx.pro
1 001
0

minishop2 отображать добавленный товар в каталоге

Здравствуйте!
Можно ли в разделе товаров когда товар добавлен в корзину иконку окрашивать в зеленый цвет с цифрой на ней сколько именно товара добавлено в корзину?
То есть по сути как msMiniCart но к товару.
Максим
17 апреля 2021, 16:32
modx.pro
896
0

Как сделать ЧПУ и добавление стр.2 в мета при помощи PdoPage и PdoTitle?

1. Здравствуйте. Для раздела блог, сделал и оформил вывод ресурсов через PdoPage, столкнулся с проблемой создания ЧПУ в адекватном формате (/cat/page-2) без стандартного (/cat?page=2).
Нашел информацию в документации к плагину с примером написанного плагина для формирования такого адреса. (Без этого плагина страницы пагинации 2+ выдают 404 ошибку) (в документации так и написано).
Добавил опцию &pageLinkScheme=`/[[+pageVarKey]]-[[+page]]` и создал плагин без изменений из документации.
<?php
// Реагируем только на событие OnPageNotFound
if ($modx->event->name == 'OnPageNotFound') {
// Определяем ключ запроса из настроек
$req = $modx->getOption('request_param_alias');
// Ловим нужный ключ страницы
$pageVarKey = 'page';
// Если в запросе повторяется наш шаблон «pageVarKey-page», то работаем дальше
if (preg_match("#.*?({$pageVarKey}-(\d+))#", $_REQUEST[$req], $matches)) {
// Отрезаем ЧПУ строку и получаем точный адрес текущей страницы
$uri = str_replace($matches[1], '', $matches[0]);

// Ищем страницу по этому адресу
$id = 0;
// Сначала как есть, со слешем на конце
if (!$id = $modx->findResource($uri)) {
// Если не находим — то пробуем отрезать слэш и ищем повторно
$id = $modx->findResource(rtrim($uri, '/'));
}

// Если ресурс найден
if ($id) {
// Добавляем номер страницы в глобальные массивы, чтобы pdoPage их там увидел
$_GET[$pageVarKey] = $_REQUEST[$pageVarKey] = $matches[2];
// И загружаем эту страницу
$modx->sendForward($id);
}
// Если ресурс не был найден — ничего не делаем, возможно запрос поймает другой плагин
}
}
После этого страницы пагинации стали работать как нужно, но появилась новая проблема. Заходя на первую страницу раздела в блоке пагинации урлы формируются как полагается домен/категория/страница. Перейдя на вторую страницу на ней уже урлы в этом блоке начинают дублировать вложенность категории и получается домен/категория/категория\страница. Не могу найти в чем тут проблема, информации нет и сделал все по документации ничего не меняя.

2. Как на страницы 2+ добавлять в Title и Description ( — стр.2 или — страница 2) и каноникал саму на себя (страицы пагинации нужны в индексе), если это страница 2 то урл каноникал должен быть на страницу 2 а не страницу раздела?
Alex
16 апреля 2021, 14:21
modx.pro
655
0

Счетчик чисел в xtype: numberfield

Здравствуйте, подскажите, есть ли такая возможность или реализация, как увеличить или уменьшить значения в xtype: numberfield кнопками, т.е. не вручную вбивать, а стрелочками вверх или вниз?
Нигде не встречал и поиск не находит, в документации к ExtJS такого нет, надеюсь, что может вы где-нибудь сталкивались с таким?
Станислав
16 апреля 2021, 04:03
modx.pro
1 264
0

Объединить подкатегории и назначить им заголовок с якорем #

Сразу скрин, потом пояснение:



Здравствуйте. Дерево в МодХ выглядит так:

Запчасти на AUDI
— Запчасти на AUDI Q2 (2016-)
— Запчасти на AUDI Q3 2 пок., (2018-)
— Запчасти на AUDI Q3 1 пок., (2011-2018)
— Запчасти на AUDI Q5 2 пок., (2016-)
— Запчасти на AUDI Q5 1 пок., (2012-2016) рестайлинг
— Запчасти на AUDI Q5 1 пок., (2008-2012)

Отдельных Подкатегорий (Запчасти на AUDI Q2, Запчасти на AUDI Q3) для моделей нет. Категория Бренд, в ней сразу Категории Кузовов.

Кузов — это модель + года выпуска (AUDI Q3 2 пок., (2018-))

Как в ModX можно объединить несколько кузовов, чтобы для них проставить Якорь и Подзаголовок H2 на странице «Запчасти на AUDI».

Можно пойти путем проще, создать подкатегории для моделей:
— Запчасти на AUDI Q2
— Запчасти на AUDI Q3
— Запчасти на AUDI Q5

А в них уже разместить подкатегории Кузовов, но не хочется плодить лишние страницы, которые никак не оптимизировать для ПС.

Буду благодарен за любые подсказки.
Роман
15 апреля 2021, 22:23
modx.pro
772
0

MODX-фильтры в TV-select

Добрый день! Я не волшебник, а делать кому-то нужно))
Есть тв-шка, с выбором ресурсов:
@SELECT `pagetitle`, `id` FROM `[[+PREFIX]]site_content` WHERE `parent` = 8 ORDER BY `pagetitle` ASC
Однако у ресурсов в имени существует тег
что б имя выводилось в две строки, у всех, что б аккуратненько!
И вот этот
присутствует в списке выбора и выглядит неочень:
Иван
Антонов, Апполнарий
Крузенштерн,

В страницах я делаю им фильтр:
[[+pagetitle:strip_tag]] и всё хорошо.
Вопрос: Как сделать этот стриптаг вот тут:
@SELECT `pagetitle`, `id` FROM `[[+PREFIX]]site_content` WHERE `parent` = 8 ORDER BY `pagetitle` ASC
Заранее сердешно благодарю!
Серый
15 апреля 2021, 18:57
modx.pro
1 575
0

Почему eFilter Evo выдает ошибки?

Это нормальное его поведение или что-то не так?

1×	
PHP Notice: Undefined index: tpl_config in ...\tvs\multitv\includes\multitv.class.php:106
8×	
PHP Notice: Undefined index: width in ...\tvs\multitv\includes\multitv.class.php:521
1×	
PHP Notice: Undefined variable: param_cat_id_common in H:\open\OpenServer\domains\evo\core\src\Core.php(1918) : eval()'d code:34
2×	
PHP Notice: Undefined offset: 1 in ...\functions\actions\mutate_content.php:768
1×	
PHP Notice: Undefined index: mtvjquery in ...\multitv\settings\default.setting.inc.php:11
Евгений
15 апреля 2021, 17:25
modx.pro
907
0