Баха Волков
С нами с 10 ноября 2016; Место в рейтинге пользователей: #10- Заметки 1
- Комментарии 43
5 часов назад
вот этот сниппет
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService...
Проблемы с отправкой писем статус заказа из minishop2 5
Вчера в 20:15
Хотел проверить еще раз, теперь все работает. Спасибо.
MiniShop3 1.0.0-alpha.4 — Большое обновление админки 24
05 января 2026, 14:53
Тоже не понял зачем эти сложности, всегда этот скрипт юзал.
Почему в новых версиях MODX не работает сброс пароля через MD5 и как восстановить доступ в manager 4
30 декабря 2025, 22:52
Почему-то прочитал это голосом комментатора из Дома 2… Только про Minishop 3!) Спасибо всем за вклад в развитие и, достаточно неплохие итоги года)
Итоги 2025 года на MODX.pro 3
27 декабря 2025, 16:41
MODX, как и любой основанный на PHP фреймворк пишет 500 ошибки в error_log. Никаких специальных настроек в нем нет. Все зависит от настроек хостинга\с...
Отладка 500 ошибки MODX 1
26 декабря 2025, 18:00
ух ты крутяк!
resComments — многоуровневые комментарии с пагинацией для ресурсов MODX3 2
24 декабря 2025, 22:11
Есть поле mail_smtp_user введи туда логин, если не сработает введи email. И не забудь в emailsender корректный email прописать.
Modx 2.8.8 еще подходит отправки почты через smtp.yandex.ru? 3
24 декабря 2025, 00:23
Нет, лайки всегда были привязаны ко времени публикации, чтобы лайками старых постов рейтинг не накручивали.
MiniShop3 - новый релиз. 1.0.0-alpha.2 15
Можно делать примерно так:
I. Сначала читаем про расширение товаров, добавляем новое поле для оптовой цены, например optPrice.
II.
1. Читаем заметку
2. Создаём плагин, в нём проверяем пользователя. Примерно так:
Теперь ВЕЗДЕ у вас есть переменная $.site.ws.
Fenom:
III. В том же плагине на событие msOnBeforeAddToCart добавляем изменение цены для оптовиков, если оптовик.
Вроде всё. Но нюансов может быть множество )
[[!getRemains:toPlaceholder=`remains`? id=`[[+id]]`]]
[[+remains:lt=`1`:then=`нет`:else=`[[+remains]] шт.`]]
Постоянно выдается первый вариант «Нет».
Списко товаров вызывается при помощи сниппета mfilter2. Если добавляю в него такую конструкцию
'leftJoin' => [
'Remains' => [
'class' => 'msprRemains',
'on' => 'msProduct.id = Remains.product_id AND Remains.remains > 0'
]
],
'groupby' => 'msProduct.id',
'select' => [
'msProduct' => '*',
'Remains' => 'SUM(Remains.remains) as remains'
],
То остатки выводятся правильно, но перестает работать сортировка. При нажатии на сортировку все товары исчезают. Не подскажете в чем может быть причина. Заранее спасибо!
Вот полностью вызов сниппета
{'!mFilter2' | snippet: [
'paginator' => 'pdoPage',
'element' => 'msProducts',
'class' => 'msProduct',
'parents'=>$modx->resource->id,
'depth' => 10,
'filters'=> 'ms|price:number'
'tplFilter.outer.default'=>'mfilter-slider.tpl'
'tplFilter.row.default'=>'mfilter-number.tpl'
'tpl' => 'category-product.tpl',
'tplOuter' => 'mFilter2-outer.tpl',
'leftJoin' => [
'Remains' => [
'class' => 'msprRemains',
'on' => 'msProduct.id = Remains.product_id AND Remains.remains > 0'
]
],
'groupby' => 'msProduct.id',
'select' => [
'msProduct' => '*',
'Remains' => 'SUM(Remains.remains) as remains'
],
'limit' => 18,
'maxLimit' => 200,
'pageLimit' => 12,
'tplPage' => '@INLINE {$pageNo}',
'tplPageActive' => '@INLINE {$pageNo}',
'tplPageWrapper' => '@INLINE {$pages}',
'tplPagePrev' => '@INLINE <',
'tplPageNext' => '@INLINE >',
'tplPageSkip' => '@INLINE ...</span',
'tplPagePrevEmpty' => '@INLINE <<',
'tplPageNextEmpty' => '@INLINE >>',
'sortby' => '{«menuindex»:«ASC»}',
'where' => '{«template»:«4»}'
]}
у меня есть шаблон категорий товара в самом шаблоне я вызываю msProducts в параметре — element, с помощью метода — pdoPage, он выводит все товары в нужной мне категории товаров, там в качестве шаблона вывода прописан чанк, который оформляет именно блоки этих товаров и в нем я инициализировал вот эту конструкцию
[[!msProductOptions? &product=`[[+id]]`]]
интересно что если вместо плейсхолдера вставить любой id из выведенного товара опции именного этого товара спокойно появляются
Сделать вот так:
?
Ну или в сниппете получить контент чанка с помощью xPDO и заменить их функцией str_replace
Как ни крути, любые варианты решения задач полезны. Не исключаю. что в некоторых случаях такое решение будет рациональнее, чем приплетать msAddLinked.