171 похожих чатов

Парни, не знаете, как вывести всех производителей определенной категории по

ID?

50 ответов

42 просмотра

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

<?php $parent = $modx->getOption('parent', $scriptProperties, $modx->resource->id); $arRes = []; $resources = $modx->getIterator('modResource', ['parent' => $parent, 'class_key' => 'msProduct']); if(is_object($resources)){ foreach($resources as $resource){ $arRes[] = $resource->get('id'); } } $q = $modx->newQuery('msVendor'); $q->innerJoin('msProductData', 'msProductData', 'msProductData.vendor = msVendor.id'); $q->innerJoin('msProduct', 'msProduct', array( 'msProductData.id = msProduct.id', 'msProduct.deleted' => 0, 'msProduct.published' => 1 )); if(isset($arRes)){ $q->where(['msProductData.id:IN' => $arRes]); } $q->groupby('msVendor.id'); $q->sortby('name','ASC'); $output = []; if ($q->prepare() && $q->stmt->execute()) { while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) { $output[] = $row; } } //$modx->log(1, print_r($scriptProperties, 1), '', 'listVendors.php'); return $output; $pdoTools = $modx->getService('pdoTools'); return $pdoTools->getChunk($scriptProperties['tpl'], ['vendors' => $output]);

Ozzy- Автор вопроса
Иван Бочкарев
<?php $parent = $modx->getOption('parent', $script...

Вчера где-то находил это пробовал, выводится array [[!brandParent? &parents=`15` ]] Так же?

Ozzy
Вчера где-то находил это пробовал, выводится array...

попробуй использовать pdoResources и class msVendor

Ozzy
Вчера где-то находил это пробовал, выводится array...

Буду у пк гляну в проекте. Я с телефона скопировал код

Ozzy- Автор вопроса
Sentinel
попробуй использовать pdoResources и class msVendo...

Я это в меню пытаюсь вывести, а pdoResources внутри pdoMenu не работает - пробовал

Ozzy
Вчера где-то находил это пробовал, выводится array...

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

Ozzy- Автор вопроса
Иван Бочкарев
выводится array Так нужно далее просто массив разо...

А как и где его разобрать? В снипете или в выводе снипета как-то?

Ozzy
А как и где его разобрать? В снипете или в выводе ...

Если ты не используешь fenom, то в сниппете, в противном случае можно прям после вызова сниппета

Ozzy- Автор вопроса
Pavel Androsov
tpl нет

[[!brandParent? &parents=`1637` &tpl=`@INLINE [[+id]]` ]] Как-то так?

Ozzy
[[!brandParent? ...

Нет. У тебя же сниппет отдаёт массив, а надо чтобы парсил чанк. В сниппете там где возвращается массив, напиши $modx->parseChunk($tpl, $array). Ну и в вызове передай имя чанка. А а самом чанке будут доступны элементы массива как плейсхолдеры [[+id]]

Ozzy- Автор вопроса
Ozzy
screenshot 😵‍💫 сорри, но не догоняю как, куда вставить(

когда ты вызываешь return - все что снизу у тебя уже не отрабатывает

Артур Шевченко💀
На строку 29

Если не сработает тогда удали то, что написал и закомментируй 30 строку

Ozzy
screenshot 😵‍💫 сорри, но не догоняю как, куда вставить(

вместо 30-33 пишешь так: return $modx->parseChunk($tpl, $output) ;

Ozzy- Автор вопроса
Pavel Androsov
вместо 30-33 пишешь так: return $modx->parseChunk...

Сделал, в чанке просто плейсхолдер [[+id]] написал - итог выводит 1637 просто, то что указано в parents получается

Ozzy
screenshot

Тебе надо начиная с 29 строки объявить переменную $html а ниже в цикле перебрать массив $output, подставив в тело цикла то, что сейчас написано на 30 строке без return, только второй аргумент будет не output, а то что ты напишешь после as. Ну и сохранять это надо в переменную $html и её же за циклом вернуть.

Ozzy
screenshot Не получается...

$q->select(array('msVendor.id', 'name')); Где-то после 22 строки попробуй это добавить. В коде с сайта bezumkin.ru она есть, а в примере пропущена. Иначе плейсхолдеры создаются с несколько другими ключами

Ozzy- Автор вопроса
Алексей Иванов
$q->select(array('msVendor.id', 'name')); Где-то...

Добавил, но вроде это тоже не помогает

Ozzy- Автор вопроса
Артур Шевченко💀
$html .= $modx...

[[!brandParent? &parents=`1637` &tpl=`tpl.vendor` ]] В чанке tpl.vendor: [[+id]] Итог выводит: 1637

Ozzy
screenshot [[!brandParent? ...

Совсем всё плохо с программированием, да? До цикла $html = ''; В цикле $html .= $modx->parseChunk(...)

Ozzy- Автор вопроса
Артур Шевченко💀
Совсем всё плохо с программированием, да? До цикла...

С PHP угу... надо было блогером стать) Сделал, но это не помогло все равно, просто ничего не выводит теперь

Артур Шевченко💀
Совсем всё плохо с программированием, да? До цикла...

Ну хотят за счет таких как ты, я и других, получить кеш ничего не делая НЕДУМАЯ!

Vectorserver
Ну хотят за счет таких как ты, я и других, получит...

Это понятно, но я сегодня добрый, готов к благотворительности)))

Vectorserver
Скидоны допилил)?

Да, вчера вечером. Кстати по поводу сортировки массивов usort не подошла, она ключи затирает, а вот uasort делает то же самое, но ключи сохраняет.

Артур Шевченко💀
Да, вчера вечером. Кстати по поводу сортировки мас...

ну да, я думал тебе нужно сортнуть тупо двумерный массив

Vectorserver
ну да, я думал тебе нужно сортнуть тупо двумерный ...

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

Ozzy- Автор вопроса
Артур Шевченко💀
Скинь доступы в админку в личку

Спасибо, сделаю по-другому) способов куча, просто хотелось как-то по правильному что ли...

Vectorserver
screenshot

Ну нет, это пусть уже без меня)))

Ozzy- Автор вопроса
Vectorserver
Ну хотят за счет таких как ты, я и других, получит...

Ну совсем не так... просто кто в чем разбирается лучше... я что знаю, могу помочь тоже

Ozzy
Ну совсем не так... просто кто в чем разбирается л...

Не принимай близко) У меня чувство юмора как у Петросяна!)

Ozzy- Автор вопроса
Vectorserver
Не принимай близко) У меня чувство юмора как у Пет...

Я когда нахожу решение, какой-то задачи пишу ее решение четко по шагам, чтоб потом кому-то пригодилось, ведь куча задач повторяется

Ozzy
screenshot [[!brandParent? ...

вы вопрос то закрыли?

Ozzy- Автор вопроса
Степан Гончаров 🇷🇺
вы вопрос то закрыли?

Нет, рабочего снипета так и не получилось же..

Ozzy
Нет, рабочего снипета так и не получилось же..

я правильно понимаю что вы хотели бренду получить по одному товару?

Ozzy- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта