Всего 125 697 комментариев

Николай Савин
16 мая 2021, 13:34
0
Отлавливайте клик средствами JS. Передайте куда нибудь в data атрибут идентификатор товара.
После того как поймаете клик по нужному товару — сформируйте ajax запрос на сайт.
Ловите запрос через плагин на событие onHandleRequest и далее уже средствами php как-нибудь запоминайте этот товар как избранный
Alexey
16 мая 2021, 12:24
0
Помню, несколько лет назад реализовывал функционал избранного, но не через сессии, а через куки.

То есть, при добавлении в избранное, идет проверка, авторизован ли пользователь на фронтенде. Если да, то id товара пишется в extended пользователя, если нет, то сажаем ему куку в браузер. Список айдишников просто через запятую, при добавлении, есесно, проверяем наличие этого айдишника в избранном, если есть, то удаляем из избранного и наоборот.

Плюс этого варианта в отсутствии необходимости добавлять отдельную таблицу. Но какие-то подводные камни были… Вроде бы, связанные с разными контекстами
Николай Савин
16 мая 2021, 11:54
0
Вообще если честно судя по списку ваших вопросов я вам вряд ли смогу помочь подобными алгоритмами.
Больно уж много знать нужно о MODX
Николай Савин
16 мая 2021, 11:52
+1
Суть будет примерно такая.

1. Нужно создать таблицу в базе данных. Поля user_id — число, session_id — строка, product_id — число
2. Создать модель для этой таблицы, чтобы modx знал о ее существовании.
3. Создать класс управления таблицей. Основные методы add(), remove(), getList(), может быть getCount()
4. В каждом методе написать обращение к таблице и ее чтение, добавление записи, удаление записи.
5. При записи в таблицу если пользователь авторизован — записывать его Id как идентификатор, если нет — то записывать session_id
6. Подготовить js файл который по клику будет определять чего хочет пользователь и слать запрос на корневой адрес сайта
7. Подготовить плагин на событие OnHandleRequest который будет слушать обращения JS файла и вызывать класс компонента и соответствующий метод.
Амина
16 мая 2021, 11:42
0
Подскажите, пожалуйста
Татьяна
16 мая 2021, 09:26
0
Евгений, да, вы правы. А я об этом не подумала XD

Александр, да, тоже сталкивалась с этим. Только в админке все было норм, инфа была актуальной. А вот когда делала свой сниппет сразу такую ошибку не заметила. Пришлось перепроверять все заказы (благо владелец их своевременно удалял) и править ошибки в своих записях.

Николай, спасибо. Я посмотрю, может что-нибудь и получится)
Николай Савин
16 мая 2021, 08:40
0
Это очень простая задача — и отлично подходит для практики написания собственного компонента.
Всего одна табличка в базе данных плюс взаимодействие с ней.
Если хочешь могу подсказать логику реализации.
Николай Савин
16 мая 2021, 08:33
0
Добрый день.
В минишоп нет такой возможности из коробки.
Данный вопрос уже всплывал недавно, он добавлен в список «Хотелок» и в «ближайшем» будущем будет реализован.
Пока что ваш вопрос можно решить следующим образом.
Согласно документации создать и подключить свой класс оформления заказа, устранив оттуда логику создания заказа. Честно говоря не проверял — нужно пробежаться по коду — но из за отсутствия юзера в заказе проблемы могут возникнуть в самых неожиданных местах. Например где-нибудь в таблице заказов.
Евгений
16 мая 2021, 00:53
0
This page contains the following errors:
error on line 47 at column 113: EntityRef: expecting ';'
Below is a rendering of the page up to the first error.
Александр Мельник
15 мая 2021, 21:25
0
Ну честно говоря, автоматическое создание аккаунта при заказе иногда приносит проблемы.
Не раз сталкивался со следующим поведением
— человек делает заказ указав email test@test.com и свои контактные данные
— ему автоматически создается аккаунт
— через месяц он еще раз делает заказ на сайте, указав тот же email, но другие контактные данные, например у него сменился телефон или адрес
— в такой ситуации в заказ могут попасть некорректные данные, подтянутся «старый»
телефон к примеру. Так же некорректные данные могут прийти в письме менеджеру о новом заказе.
Евгений Webinmd
15 мая 2021, 19:19
0
ну база email собираются себе потихонечку, маркетологам на забаву
Татьяна
15 мая 2021, 19:17
0
Акк не мешают, просто люди не хотят регистрироваться — лень что ли, не могу сказать точно.
А когда открываешь гостевой заказ — создается просто туча акк которые никогда не используются.
В общем, я наверное не хочу терять контроль над акк)
Татьяна
15 мая 2021, 18:54
0
Понятно, спасибо. Значит придется с JS мутить.
Евгений Webinmd
15 мая 2021, 18:14
0
нет в минишопе такой возможности из коробки
Иван
15 мая 2021, 16:25
0
тех. поддержку чего modx или minishop2? можете дать ссылку если Вам не трудно. Спасибо.
Aleksandr Huz
15 мая 2021, 16:19
0
напишите в тех. поддержку, разберемся.
Иван
15 мая 2021, 15:42
0
Не помогло. В журнале ошибок появилось следующее сообщение «Could not load class: msOrderFields from mysql.msorderfields.»
Александр Мельник
15 мая 2021, 15:39
0
Разве интересно всегда и везде использовать готовые компоненты? В чем тогда смысл быть программистом?