Всего 115 816 комментариев

Артур
28 июня 2022, 23:38
0
Через отдельную таблицу они реализованы, но это самый сложный вариант. А что со вторым вариантом не так?
Максим
28 июня 2022, 23:32
0
И снова мимо… Посмотрите как реализованы дополнительные категории в miniShop2…
А первоначально предложенное решение не то что «не отличное»… Оно просто не рабочее… Так как если в условие придет 1, то в выборку попадут id статей, в которых присутствует 1, то есть: 1, 10, 11, 12 и т.д.
Артур
28 июня 2022, 23:19
0
Так я и не говорю, что это отличное решение. Оптимальнее всего создать дополнительное поле у товара и при сохранении статьи, получать список связанных с ней товаров и в каждый дописывать id этой статьи, в потом просто вывести это значение в параметр resources. Т.е. в статье есть relatedProducts, а у товара сделать relatedArticles и значение последнего подставлять в параметр.
Максим
28 июня 2022, 22:14
0
Ну а теперь давайте посмотрим на ситуацию, когда в условие придет цифра 1… Как думаете какая выборка придет?
Использовать такую реализацию для связи многие ко многим достаточно ресурсозатратно. Но если уж не хотите или нет возможности переделать, то для корректного результата можно написать сниппет с использованием pdoFetch… Условия выборки оставляем такими же и получить массив результатов… Но потом средствами PHP отфильтровать выборку из БД сравнивая id ресурса с искомым id.
Артур
28 июня 2022, 19:23
0
Вставить в шаблон тэг img в атрибут src, которого записать плейсхолдер со значением поля, хранящего картинку.
Артур
28 июня 2022, 18:50
+1
Ну надо написать плагин, который выведет твой js на нужной странице(редактирование ресурса) и коннектор с процессором, которые передадут данные для вывода. Примеры надо искать в интернете. И в любом случае нужно будет разобраться хоть немного в ExtJs если ты хочешь добавить информацию именно на страницу ресурса.
Серый
28 июня 2022, 18:46
0
Да не, мне без редактирования, просто html-код сгенерировать, как если бы это была панель виджета…
Артур
28 июня 2022, 18:34
0
Можно, но когда ты узнаешь как, то не захочешь так заморачиваться))) Нужно написать свой контроллер, если нужно не только смотреть, но и редактировать, то ещё коннектор с процессором. Сам интерфейс можно построить на чём угодно, но в Modx используется ExtJs. Примеры можно найти в исходниках и переписать под себя, но по-моему, это ад. Готовые инструменты для облегчения написания своих дополнений есть, а для решения твоей задачи нет.
eflit
28 июня 2022, 14:57
0
Спасибо за подсказки почитал все внимательно нашел phone:SessionFields=^category^ вот так и передал параметр.
Игорь
28 июня 2022, 12:32
0
Спасибо за помощь. Очень помог и самое главное быстро) Показал и рассказал как исправить!
Артур
28 июня 2022, 12:31
0
На выходных могу сделать. Контакт есть в профиле.
Futuris
28 июня 2022, 12:25
0
Да, я сам с кодом не близко знаком). Спасибо за комментарий. Если вы готовы за такое браться — могу вам написать в Телеграм, как потребуется.
Артур
28 июня 2022, 12:14
0
Конечно возможно, а конкретный вариант реализации зависит от того, какова структура сайта. Я так понимаю, самостоятельно вы ничего делать не планируете, а если так, то вам нужно написать в раздел Работа и обсуждать нюансы с теми, кто откликнется.
Futuris
28 июня 2022, 12:08
0
Насчет копирования категорий — это отход от темы и не в этом суть. Важен технический момент, который заключается для меня в том, чтобы проставленная мной цена за куб, в конкретной категории модифицировалась по вышеописанной формуле: «цена куба / количество блоков в кубе = цена за штуку».

Т.е. газоблоков размером 600х200х300 мм в кубе 27,77 шт и стоят они за штуку (при цене 7000 за куб) — 252 руб.
Блоков 600х250х50 мм в кубе 133,33 шт и они за штуку стоят — 52,5 руб. (т.е. 7000 делим на 133,3)
Блоков 600х250х500 мм в кубе 13,33 и они стоят 525 руб. за штуку.
И размеров блоков — десятки. Но все их объединяет одна цена за куб — в описанном примере — 7000 руб.

Т.е. вы считаете, что есть возможность модифицировать эту цену для всех размеров блоков в определенной категории (не во всем каталоге магазина) по описанной выше простой формуле? И чтобы в дальнейшем я менял в этой категории только одну цену за куб, а для всех размеров эта цена будет пересчитываться «поштучно»?
Артур
28 июня 2022, 11:53
0
Где-то есть скрипт, который это делает, либо это будет первый в новейшей истории случай божественного вмешательства в работу сайт.
Артур
28 июня 2022, 11:50
0
Копировать категорию с товарами на мой взгляд не лучшая идея, особенно если на сайте они друг от друга никак отделяться не будут. Можно в карточке товара добавить опции с вариантами выбора Опт и Розница, если выбрана розница, то в плагине на добавление в корзину пересчитывать цену.
Futuris
28 июня 2022, 10:05
0
Не совсем так. Газобетон на сайте продается кубами. Но чтобы охватить запросы на розницу — решили экспериментально создать категорию с ценами за штуку. Но если за куб — одна цена, фактически на один-завод производитель у которого сотни блоков разных размеров. Т.е. блоки завода «Бонолит», к примеру — все по 7500 за куб. И цену менять быстро и удобно. А вот за штуку — нужно высчитывать в зависимости от размера и это время занимает.

Поэтому чисто логически задача выглядит так:
Клонируется обычная категория с ценой за куб. Далее на эту категорию вводится скрипт, модифицирующий цену (если это возможно конечно). Т.е. скрипт просто берет уже существующую цену за куб и делит ее на цифровое значение опции «количество блоков в кубе» (опция присвоена каждому размеру блоку) — и выводит в итоге цену за штуку. Цена за куб при этом в данной категории также есть, но ее можно даже не выводить в стилях страницы.

И в итоге при следующем изменении цен (а они меняются несколько раз в месяц) — я просто выгружаю обе категории блоков (с ценой за куб и с ценой за штуку) и меняю цену например с 7500 на 7000. И блоки «кубовой» категории так и висят с ценой 7000, а блоки «штучной» категории пересчитываются по формуле: «цена куба / количество блоков в кубе = цена за штуку».
vectorserver
28 июня 2022, 05:50
0
Выше на скрине решение, простой калькулятор
Максим
28 июня 2022, 01:01
0
А почему нельзя было воспользоваться услугами JSON? Evo формирует, Revo забирает, обрабатывает (если нужно) и кладет в базу… У меня такой метод переноса контента прошел безболезненно…