Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 118 комментариев

Андрей Степаненко
Андрей Степаненко
Для получения данных родителя на странице товара в шаблоне `product.tpl` с использованием Fenom, вы можете использовать следующий код:

{set $parent_id = $_modx->resource.parent} 
{set $grand_parent_id = $parent_id | resource : 'parent'} 
{$grand_parent_id | resource : 'pagetitle'}
Данный код выполняет следующие действия:
1. Получает ID родителя текущего ресурса.
2. Использует этот ID для получения ID «дедушки» (родителя родителя).
3. Выводит заголовок страницы «дедушки» по его ID.

Этот способ достаточно прост и позволяет получить необходимые данные без использования дополнительных сниппетов.

Если у вас есть вопросы или нужна дополнительная информация, пожалуйста, обращайтесь.
Артур Шевченко
Артур Шевченко
$tablePrefix = $modx->getOption('table_prefix');
$sql = "SELECT Product.pagetitle AS name, Data.price AS price, Parent.pagetitle AS parent FROM {$tablePrefix}site_content Product
LEFT JOIN {$tablePrefix}ms2_products Data ON Product.id = Data.id 
LEFT JOIN {$tablePrefix}site_content Parent ON Product.parent = Parent.id
LEFT JOIN {$tablePrefix}site_content Resource ON Product.id= Resource.id
WHERE Product.class_key = 'msProduct' AND Resource.published = 1";
$statement = $modx->query($sql);
$products = $statement->fetchAll(PDO::FETCH_ASSOC);
$output = [];
foreach ($products as $product) {
    $output[$product['parent']][] = $product;
}
return $output;
Дмитрий
Дмитрий
Добрый день. Если товар снять с публикации, он все равно выводиться в прайсе, чтобы не выводился нужно товар полностью удалять. Подскажите пожалуйста, как прописать условие в сниппете чтобы не выводил снятые с публикации товары.
Николай Савин
Николай Савин
Самый простой, дешевый и быстрый вариант — разместить заявку в разделе работа на тему «Адаптация компонента под MODX3». Компонент простой — кто-нибудь обязательно возьмется.
Андрей Шевяков
Андрей Шевяков
Там единственное надо переписать функции немного по другому, вот документация

Вместо этого
miniShop2.Callbacks.Cart.add.response.success = function(response) {
    };
Будет так
miniShop2.Callbacks.add('Cart.add.response.success', 'cart_ok', function (response) {

});
Евгений Куценко
Евгений Куценко
GoogleSheetsSaveForm у кого-то работает с FetchIt и вообще работает?
С параметром &gsRange=`opros` ломается отправка формы и указание листа для сохранения по умолчанию в настройках тоже самое.

И почему-то товары выгружает, а заказы не хочет. Есть мысли куда копать?
Андрей Шевяков
Андрей Шевяков