Олег Щавелев

Олег Щавелев

Был в сети 24 июня 2024, 15:51
Заказы принимаю
0
Стало очень интересно, что это вы там такое делаете.
Я делаю всякую математику и сложные конструкции:

  • типо экономии отношение между старой ценой и ценой.
  • Ресайзы.
  • Состовные заголовки в привью карточки «Категория товара Бренд Коллекция Pagetitle»
+1
Какую версию лучше выбрать? 2.7 или 3.0 альфа?
Мне кажется вопрос поставлен не корректно. Так как ответ очевидный.

Для коммерческой разработки можно использовать исключительно ветвь 2.7.x. 3.0.0-alpha1 предназначен:

  1. разработчикам пакетов для адаптации пакетов под новое ядро
  2. Для информирования новых подходов MODX 3.0.0
  3. Для тестирования MODX 3.0.0 сообществом

Для коммерческой разработки продукты с версией альфа использовать нельзя(
После релиза MODX 3.0.0 мигрировать с ветви 2.7.x на ветку 3.0.x

Фиксация подходов будет зафиксированна только 3.0.0-alpha2. Связи с этим 3.0.0-alpha1 многие поставили даже адаптацию на паузу так как сообщество ждет подведения итогов.

Все просто)
0
Нет, к сожалению простые снипеты не работают с мультикатегориями minishop2.
Если вызвать это {$parent | resource: 'pagetitle'} на странице товара, то он просто распечатает pagetitle этого товара, и никак его родителя, а его родитель это контейнер ITEM который неопубликован, это сделано для того что бы все товары были в админке одним списком в одном месте. А в категории они просто присвоены. Физически их там нет, поэтому и парента просто нет.
Ну конечно в шаблоне нет потому что в шаблоне {$_modx->resource.parent} Я писал в контексте чанка или tpl сниппета мультикатегории

$id = $modx->resource->id;
$tpl = '@INLINE {$parent | resource : 'pagetitle'}';
$pdo = $modx->getService('pdoFetch');
Кстати pdotools должен работать Fenom

сейчас так SUBCAT > ITEM. Но это все равно пока не то, нужно CAT1 > SUBCAT > товар 1.

Распечатал массив $rows вашего сниппета и увидел там ключ URI, в который попадает вся цепочка мультикатегорий товара

Сделал так

foreach ($rows as $row) {
// $output .= $pdo->getChunk($tpl, $row);
$output .= $row[uri];
}

Получил это в виде alias: CAT1 > SUBCAT > ITEM
Сейчас застрял на этом, осталось получить pagetitle этих alias, но их нет в массиве :( и убрать из этой цепочки контейнер товаров ITEM. В общем сдвинулся, но не получается пока сделать хлебные крошки из мультикатегорий товаров.
Как получить pagetitle в сниппете от Василия?
И как бы минусовать основного родителя товаров ITEM?


Сформулируйте более четко что вы хотите сделать в виде алгоритма потому что я даже не знаю с чего начать что дать в свою очередь четкий ответ.
0
Давайте разбираться поэтапно.
Я думаю что в данной ситуации, не важно какой это ID. По сути это документ Modx в первую очередь.
Для того что бы получить ID родителя на 1 уровень выше можно воспользоваться
pdoField или воспользоваться переменной шаблона {$parent}

Если к примеру вы выбрали способ воспользоватся переменной шаблона то вы можете получить по ID любое поле.

К примеру так {$parent | resource: 'pagetitle'} получаем pagetitle по ID родителя.

Как-то так.