Билдер SQL запросов для modx, minishop2 и TV

Всем привет, просили меня недавно сделать выгрузку со старого сайта на modx с более чем 200к товаров, т.к. я уже давно не работал с modx, абсолютно забыв методы API, а также помня, насколько медленно и ресурсозатратно оно работает было решено писать SQL напрямую и все бы ничего, пока я не увидел структуру tv полей. Руками писать SQL с выборкой необходимых TV было адским адом, и было решено за часик накидать мини билдер SQL запросов

Получился примерно такой в использовании билдер, по мне покрывает 100% моих задач в формировании SQL для выгрузок из modx & ms2:
$builder = new SimpleBuilder();
$builder->addResourceFields('id', 'pagetitle', 'longtitle')
    ->addMs2Fields('article', 'price')
    ->addTvFields('price_opt', 'product_time', 'valute', 'remains', 'product_tax')
    ->where('deleted', '=', false)
    ->where('published', '=', true)
    ->where('class_key', '=', 'msProduct')
    ->where('remains', '!=', 0)
    ->whereNotNull('remains')
    ->whereIn('id', [18559, 18560])
    ->limit(1)
    ->offset(1)
;
$sql = $builder->sql();

$products = $modx->query($sql)->fetchAll(PDO::FETCH_ASSOC);
Под катом код и результат SQL который формирует билдер
Если хочется сразу к коду
Pavel Zarubin
24 февраля 2022, 02:10
modx.pro
5
1 629
+10

Планируется ли дополнение для оплаты в TON Coin?

Всем привет!
Наверняка в сообществе есть люди интересующиеся криптовалютой

Собственно возник вопрос
Занимается ли кто-нибудь написанием расширения для оплаты товаров в TON Coin?

Для CMS Битрикс уже вроде как написали подобное решение
Будет ли для MODX?
Андрей
23 февраля 2022, 21:01
modx.pro
660
+1

непавильный адрес картинки из-за чпу

Здравствуйте, у меня такой вопрос: в общем на сайте у меня включено ЧПУ и есть TV поле с картинкой. Но сама картинка не отображается на сайте, так как из-за чпу к её адресу приписывается ещё и адрес категории. То есть вот как это всё выглядит:

site.com/category/images/img.jpg

А должно быть так:

site.com/images/img.jpg

Скажите, как можно решить эту задачу?
marius
23 февраля 2022, 08:27
modx.pro
866
0

pdoMenu - меню с разными выпадающими блоками подпунктов меню &tplInner

Всем привет, реализовал вывод разных подпунктов меню (&tplInnerRow) таким образом, условие:

Скриншот: skr.sh/sCeITqSxqlE

Скриншоты вывода, как выглядит:
1. skr.sh/sCehopuyFvu
2. skr.sh/sCehlrbmTcd

Как реализовать вывод разных блоков подпунктов меню (&tplInner)?

Аналогичным способом вывести не получается.

Скриншот: skr.sh/sCeVZICM6n0

Скриншот вывода, как выглядит: skr.sh/sCeQnccd9f1

Заранее спасибо!
Константин
22 февраля 2022, 17:18
modx.pro
604
0

Вывод подкатегорий с товарами независимо от id родителя minishop2

Нужно сделать вывод подкатегорий с товарами, независимо от id родителя. Получилось корректно сделать вывод названий подкатегорий, а товары показываются со всех подкатегорий в каждой. Номер категории [[+id]] правильно показывается в названии подкатегории, а добавив в parents msProducts не работает.
[[pdoMenu?
&parents=`[[*id]]`
&tplOuter=`@INLINE [[+wrapper]]`
&tpl=`@INLINE
<div class="block container">
  <div class="row">
	<div class="col-12">
	  <h2><a href="[[+link]]">[[+menutitle]]</a> [[+id]]</h2>
	</div>
	[[msProducts?
	&parents=`[[+id]]`
	&tpl=`product-row`]]
  </div>
</div>`
]]
Михаил
22 февраля 2022, 14:35
modx.pro
580
0

Разные SMTP на одном сайте и отправка SMTP через API

Приветствую!

Последнее время начали возникать проблемы с почтой, частенько в спам или вовсе не приходят, начал разбираться и решил, что лучше всего делать через SMTP.

Предполагается, что почта на домене от майл и яндекс настроена верно и все записи(mx,dkim,spf) прописаны.
Константин Ильин
22 февраля 2022, 13:21
modx.pro
1 274
0

Как вывести листинг категорий с товарами?

Здравствуйте!
Магазин на minishop2.
В одной из категорий необходимо вывести список подкатегорий и в этот листинг добавить список товаров для каждой подкатегории.
Пробую через pdoResources внутри pdoResources, но не могу тогда получить нужный &parent, т.к. [[+id]] отдает саму подкатегорию. Вот так выглядит текущая попытка:
steve.kon
22 февраля 2022, 12:59
modx.pro
502
0

Похожий товар с помощью &where

Здравствуйте!
Пытаюсь сделать вывод «похожих товаров» в карточке товаров. С помощью &where.
У меня есть опция mir_shape(Форма), по которой я их хочу выводить «похожие товары»
Похожие товары вывожу с помощью pdoPage:
[[!pdoPage?
   &element=`msProducts`
   &parents=`[[*parent]]`
   &limit=`4`
   &includeThumbs=`90x90,330x330`
   &sortby=`RAND()`
   &tpl=`item-row`
   &tplWrapper=`cognateOuter.Tpl`
   &includeContent=`1`
]]
Пытаюсь вывести таким образом:
&where=`{"mir_shape.value":"[[+mir_shape.value]]"}`
но не работает. Что-то видимо недопонимаю.

Как возможно это реализовать?
Alexandr
22 февраля 2022, 12:57
modx.pro
757
0

Можно ли как-то в доп поле вывести все способы доставки и затем выбрать допустим для текущего ресурса?

Для каждого ресурса есть потребность выбирать может ли использоваться та или иная доставка, как это сделать? в плане эти доставки уже есть в минишопе, а как сделать так чтобы в доп поле ресурса я выбирал из как раз этих доставок в минишопе.
Vladimir
22 февраля 2022, 11:48
modx.pro
470
0

Отображать pagetitle, но только если эта страница находится в категории с нужным id

Подскажите, на нужных страницах нужно вывести pagetitle, эти страницы вложены в категорию.

Главная
Контакты
Доставка
Категория id =23
-страница 1
-страница 2
-страница 3

Как вывести pagetitle только у страниц 1, 2, 3

[[*pagetitle [[~23]]]]
не то…
Игорь
21 февраля 2022, 13:42
modx.pro
727
0