Всего 123 793 комментария

Василий Наумкин
02 октября 2023, 04:28
1
+3
Недавно решал подобную задачу, только сделал немного иначе.

Вместо передачи токена корзины в заголовке, у меня указывается uuid корзины как часть адреса для запроса, типа /api/web/cart/fc30e4d7-ed56-40ec-9f6e-69f1fcd70582.

Оформление заказа так же происходит с указанием uuid корзины /api/web/orders/fc30e4d7-ed56-40ec-9f6e-69f1fcd70582, после чего заказ получает уже собственный uuid, а старая корзина удаляется.

Таким образом, авторизация вообще не нужна, заказ можно создавать и просматривать гостям — главное знать нужные uuid, которые не поддаются перебору.

Теперь становится возможно менять опции товара прямо в корзине, и если выбранный комплект опций совпадает с другим пунктом корзины, то комплекты просто суммируются.
А как эти товары потом разделить обратно, если соединил по ошибке? Разрешать делать что-то, без возможности отмены, мне кажется несовсем правильным.
Алексей Смирнов
01 октября 2023, 23:24
0
Дык у вас один и будет.
Через или foreach переменную mysnip прогнать
или чанк распарсить через parsChunk с уже готовой разметкой. Это уже на свой вкус.
Игорь
01 октября 2023, 23:11
0
ну так вопрос же и был, что не хочется ещё раз сниппет запускать, что бы просто количество элементов посчитать, когда уже есть готовый плейсхолдер со всеми данными (ну да, их limit=>6, но а вдруг меньше)
Алексей Смирнов
01 октября 2023, 22:41
0
в новой версии можно вызвать msProduct в режиме data и на феноме посчитать кол-во в массиве. Хотя оно у вас по идее будет почти всегда равно 6. тк у вас лимит =6. Поэтому даже не знаю… есть ли смысл подсчета…
Вывести данные можно добавив в параметры 'return' => 'data',
При таком подходе возвращаться должен голый массив, если не ошибаюсь.
те нужно:
{set $mysnip = 'msProduct' | snippet : ['return' => 'data']}
(проверьте только
{$mysnip | print}
И потом можно:
{$mysnip | lenght}
— кол-во.
Игорь
01 октября 2023, 21:19
0
установил mnishop 4.3.0 с Modstore — нормально. Как дальше? )
Игорь
01 октября 2023, 21:07
0
у меня сайт новый… все компоненты последних версий (буквально пару дней назад начал только делать), можно поподробнее?
а minishop 3.0.7 — видимо не там качал (с modx.pro)… сейчас установил с modstore — страшно, но там ломаться пока особо нечему, сайт новый
Алексей Смирнов
01 октября 2023, 21:04
+1
И на феноме можно, но это можно сделать если у вас минишоп 4й версии.
если нет, то увы.
Игорь
01 октября 2023, 20:10
0
да, я тоже сразу подумал про вариант с плейсхолдером в чанке… но, надеялся, что есть какое-то более правильное решение для fenom ) Спасибо
Евгений
01 октября 2023, 14:55
0
благодарю, помогло
Vladimir
01 октября 2023, 14:43
0
Всем доброго!
Не подскажите?:
Есть такой вывод меню категорий
Категории

[[pdoMenu?
&parents=`[[++catalogid]]`
&level=`3`
&showHidden=`1`
&where=`{«template»:14}`
]]

Как сделать, что бы не выводились на странице (например Caterpillar) другие категории (зачёркнуты на скриншоте)? В общем нажал на Caterpillar — скрылись из меню Case IH и Andoria, нажал на Case IH — скрылись Caterpillar и Andoria.

На странице при нажатии категории (Caterpillar, например) выводится товары именно из категории Catepillar и вложенных подкатегорий, понимаю, что нужно фильтровать по контексту (товарам) но не нахожу как это сделать
Kakorin Stanislav
01 октября 2023, 14:38
2
+9
Быстрое решение, без перехода на php 8
github.com/modxcms/revolution/issues/16468#issuecomment-1708335830

В файле core/model/phpthumb/phpthumb.class.php на 317
Заменяем
public function __set(string $name, mixed $value): void {
на
public function __set(string $name, $value): void {
Алексей Смирнов
01 октября 2023, 14:05
0
Если получить в коде fenom нужно, то можно схитрить и подсчитывать в чанке вашем msProductIndex на феном дописав:setPlaceholder('myovechka', $idx) — уточните в доке как вызываются модификаторы эти.
а уже ниже в вызове принимайте getPlaceholde('myovechka')
Должно сработать.
Ну а в JS проблем не должно быть определить кол-во. там 1й строкой можно.
Артур Шевченко
01 октября 2023, 13:24
0
Причём тут остроумие? Это реальный выход, а phpthumb можно из предыдущей версии закинуть.
Денис Усманов
01 октября 2023, 10:38
+1
Да, вчера столкнулся с такой проблемой на 1 проекте, решилось выдачей прав 777 на папку cache_image, прописанием этой папки в сис. настройках (почему то слетела) и очисткой кэша вручную. Не знаю, были ли какие то действия правильными или в целом нужными, но по крайней мере генерация превью в админке и на фронте заработала. В медиа источнике к сожалению, превью не отображаются местами, но это мне не мешает и заказчику не помешает тоже, ибо он будет грузить все изображения через MixedImage.
Ну и добавлю, что всё работает на phpThumbOn. И да, его я тоже переустанавливал на всякий случай.
Николай Савин
01 октября 2023, 07:23
0
Вы думаете что в ядре MODX на каждую системную настройку прям свой отдельный код есть? Это немного не так устроено.
Николай Савин
01 октября 2023, 07:07
0
Тот случай когда не нужно торопиться обновлять софт, просто потому что новое — лучше.
На всякий случай уточню. Большинство русскоязычных компонентов основаны на единой зависимости — библиотеке pdoTools. Она не заявлена в поддержке PHP8. В целом работает конечно, но ее никто, включая текущего владельца не тестировал основательно. Возможны проблемы как с самой библой, так и с отдельными компонентами.
Гарри
01 октября 2023, 00:40
+1
Возможно, этот pull request на Github будет полезен:
github.com/artdevue/LikeDislike/pull/21
Евгений
01 октября 2023, 00:19
0
debugparser в помощь
Евгений
01 октября 2023, 00:17
-1
очень остроумно, но в 7.4 некорректно работает pthumb в админке modx 2.8.6