Вопросы

Вывод категорий товара

Всем доброго времени суток!

Возникла задача вывести все категории к которым принадлежит товар.

Структура категорий следующая:

Категория 1
— -Подкатегория 1
— -Подкатегория 2
— -Подкатегория 3
Категория 2
— -Подкатегория 1
— -Подкатегория 2
— -Подкатегория 3
И т.д.

Товар может быть сразу в нескольких подкатегориях каждой категории.

Решил следующим образом.

Взял этот сниппет: docs.modx.pro/komponentyi/minishop2/poleznyie-vyiborki/vyivod-vsex-kategorij-tovara

<?php
if (empty($rid)) {$rid = $modx->resource->id;}
if (empty($pid)) {$pid = $modx->resource->parent;}
if (empty($delimeter)) {$delimeter = ' , ';}
$scheme = $modx->getOption('link_tag_scheme', null, 'full', true);

$q = $modx->newQuery('msCategory');
$q->leftJoin('msCategoryMember', 'msCategoryMember', array(
    '`msCategory`.`id` = `msCategoryMember`.`category_id`'
));
$q->sortby('pagetitle','ASC');
$q->groupby('id');
$q->select(array('id','pagetitle'));
$q->where('`msCategoryMember`.`product_id` = '.$rid.' OR `id` = '.$pid);

$result = array();
if ($q->prepare() && $q->stmt->execute()) {
    while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
        $url = $modx->makeUrl($row['id'], '', '', $scheme);
        $result[] = '<a href="'.$url.'">'.$row['pagetitle'].'</a>';
    }
}
return implode($delimeter, $result);

Поправил его таким образом, чтобы на выходе получались id товаров через запятую. Далее в списке товаров делаю несколько вызовов pdoResource:

[[pdoResources?
    &parents=`11` // здесь указываю родителя из которого нужно вывести категории которым назначен товар
    &resources=`[[newGetCategories?&rid=`[[+id]]`]]` // здесь список id-шников
    &tpl=`cat_tpl`
]]

Все работает отлично, за исключением одного нюанса. Сниппет выдает id всех категорий, к которым принадлежит товар, кроме той в которой он был создан первоначально. Как получить в этом сниппете id базовой категории в том числе?

Всем спасибо!
Андрей
11 августа 2021, 22:00
modx.pro
609
0

Вывод товаров msProducts сначала из конкретной категории, а потом всех остальных

Друзья, подскажите начинающему как можно с помощью сниппета mFilter2 с использованием element=`msProducts` выводить товары в таком порядке: сначала товары из какой-то определённой категории, а потом — все остальные?
Giant Dad
11 августа 2021, 17:23
modx.pro
660
0

TinyMCE вставка карточки товара

Возможно ли реализовать вставку карточки товара в TinyMCE?
Иногда бывает потребность вывести карточки товара в новостях или просто в статье.
Возможно метод не совсем правильный, но в wordpress шорткоды иногда выручают.
Роман
11 августа 2021, 15:46
modx.pro
829
0

Обновиться для безопасности ядра

Добрый день.
Прошу подсказать, до какой версии патча можно обновиться без проблем получить кучу багов, какие-то новые версии не интересны, интересует лишь обновление актуальное для безопасности ядра. В данный момент использую MODX Revolution 2.7.2. Если скинете ссылочку на FAQ по обновлению буду благодарен, год не юзал систему многое уже подзабыл о MODX, поставил ядро и отвалился от этой темы, сейчас вот появилось желание закончить что задумывал.
Виталий
11 августа 2021, 14:04
modx.pro
850
-3

Кака разбить вывод mFilter2 на 2 части?

Добрый день, столкнулся с такой проблемой, на странице выводятся ресурсы через mFilter2, нужно разбить вывод ресурсов на 2 части так, чтобы вывелось например 6 ресурсов, дальше добавляю контактную форму, и дальше выводятся остальные ресурсы, как можно такое реализовать?
Виктор Лобанов
11 августа 2021, 12:41
modx.pro
733
0

Точка в конце url

Сайт стал открываться с точкой в конце домена (site.com.). Все внтуренние ссылки также сопровождаются данной точкой. Стоит SSL сертификат cloudfare, настроенный аналогично другим сайтам, с которыми все норм.
Как убить эту точку в конце домена?
.htaccess выглядит таким образом:
Антон
11 августа 2021, 09:45
modx.pro
847
0

Как подсчитать количество дочерних ресурсов с фильтром?

Кто знает как подсчитать количество дочерних ресурсов с фильтром?
Я видел примеры сниппетов, но они не умеют сразу смотреть в несколько ресурсов.
Подскажите может у кого то есть рабочий код.
Нужно чтобы допустим выводило количество дочерних ресурсов допустим с темой №2 в ресурсе №1.
Сергій
11 августа 2021, 05:30
modx.pro
1 983
0

Как получать данные с сайта на сайт?

На сайте есть что-то вроде календаря событий на каждый день. Хочу эти события выводить ещё на локальном сайте. Я смутно, но представляю общую картину, что, видимо, надо делать отдельную страницу на сайте, где будет формироваться json или xml. А локальный будет обращаться к этой странице и парсить сниппетом. Требований к оптимизации нагрузки нет, локально оно будет раз в день открываться. Но вот с практической точки я не знаю с чего начать, какие есть возможности для этого и т.п.
Как лучше сделать? Может уже есть готовые примеры? Оба сайта на modx revo.
Andrey
10 августа 2021, 18:05
modx.pro
870
0

Отменять скидки на товар в зависимости от доставки - простая задача без решения.

Всем привет.

Столкнулся с проблемой, что скидки на товар в Minishop не связаны со скидками доставки.
А задача такая, чтобы давать скидки на товар при самовывозе, и не давать при доставке.

Что имеем: разные скидки на товар в зависимости от категории или производителя — все отлично.
Скидка сохраняется при самовывозе — тоже все ок.
Но при выборе доставки все скидки нужно обнулить… И это вот никак не получается сделать.

Более того, пока что я не смог найти дополнений платных и бесплатных, которые помогли бы это сделать…

Был ли у кого опыт?
Может все таки есть дополнение?
Есть решение писать самому по событию, но по какому?

В справочнике минишоп все очень кратко, упоминается событие msOnBeforeSaveOrder — но никакой информации более подробно нет.
yuri
09 августа 2021, 15:36
modx.pro
883
0

Переношу modx evo 1.0.15 ошибка 500. при смене php

Переношу modx evo 1.0.15 mysql-5.6.35, php 5.6.30 (native) на другой сервер mysql-10.3.30, php 5.6.40
сайт вырубается, в админку попасть не могу, меняю на php 7.3.29 -админка работает, а на сайте выдает ошибку

« PHP Parse Error »
PHP error debug
Error: Illegal string offset 'startId'

Current Snippet: Wayfinder

пытался в manager/includes/config.inc.php менять mysql и mysqli ничего не помогло.
Игорь
08 августа 2021, 18:37
modx.pro
1 264
0