Всего 123 801 комментарий

Алексей Шумаев
21 декабря 2022, 20:48
+3
Инструкция полезная по-любому, хотя бы для расширения кругозора.

Сдаётся мне, что весь сыр-бор с передачей функционала mSearch2 «на сторону» разгорелся вокруг нехватки ресурсов хоста, на котором крутится магазин + не оптимальной настройке сайта. Хотя, я достаточно давно от Modx отошёл, может быть, не совсем верно понял проблему.

У меня на поддержке осталось несколько магазинов, например:
1) 96000 товаров и 12 фильтров
2) 9000 и 55 фильтров (индексы в мускуле для msProductData уже закончились) :-)
modhost на максимальном тарифе, проблем нет, всё и всегда нормально работает, каких-то заметных задержек в фильтрах нет. Все свойства реализованы расширением msProductData.

Я не очень понимаю, чего может не хватать в msSearch2 разработчику, который работает с modx.
Если делаем «серьёзный» магазин и не устраивает msSearch2, то, очевидно, что и modx тут как-то совсем не в тему. Берём туже ларку с эластик. Ну и немного команду разрабов добавляем к себе на зарплату.
Всё имеет свою цену.

К вопросу же «серьёзности»: второй магазин — лидер рынка в «СНГ» в весьма живом сегменте с огромным оборотом. MODX+mSearch2 обеспечивает сайту нормальную работу уже лет 10.
И там за это время столько всего понаделано, аж страшно иногда. Там уже CRM по сути вместо сайта.
И ничего, всё ок.

С другой стороны, сейчас наблюдаю поневоле много сайтов на WP/Bitrix и т.п.
Во где ужас-то в большинстве случаев ) На большинстве таких сайтов я бы никогда ничего не заказал.

Так что на MODX и mSearch2 вполне можно и даже нужно клепать сайты. Только настраивать более-менее и хостинг не совсем бюджетный брать.

Ставить крест на MODX/mSearch2 я бы вообще не стал.
Сейчас, кмк, MODX не хватает продвижения в ru + выпуск 3 версии в момент фактического схлопывания сообщества сильно подгадил.
Алексей Смирнов
21 декабря 2022, 18:45
0
Вы пишите свой сниппет, верно?
И наверняка при выводе одной папки вы знаете кол-во в этой самой папке...?
Просто посчитайте количество и проверьте по условию.
Алексей Смирнов
21 декабря 2022, 18:33
0
По факту вы усложняете тем что хотите ключ один а названия разные — это чревато.
Если у вас свойств примерно 20..30, то лучше создавать опции специально под необходимые параметры. Так и выборки будут быстрее идти и не запутаетесь в опциях одинаковых. И потом поддерживать вам же будет проще.
Если хотите прям принципиально, то лучше уже использовать TV параметры. Там можно с помощью форм переназывать ТВ-шки.
Александр Туниеков
21 декабря 2022, 17:54
+3
Чудесные тут методы пишут :-). Проблема не в том чтобы отфильтровать по какому-то определенному значению. С этим и mysql легко справляется. Вопрос как получить список значений по каким можно фильтровать? И как получить кол-во ресурсов для этих значений? И как получить кол-во ресурсов для этих значений если какое-то значение уже выбрано
Николай Савин
21 декабря 2022, 13:30
0
Откуда взялся MIGX?
Есть же встроенный механизм присвоения категорий опциям.
Используйте его.
Как обойти проблему с вариативностью названий я вам написал.
Артур Шевченко
21 декабря 2022, 13:12
0
Можно его доработать и выбирать тип фильтра по типу опции.
Павел Бигель
21 декабря 2022, 10:12
0
Приходилось ли работать с postgress без прослойки ORM, а напрямую на SQL?
Ну разве что не в PHP проектах.
Синтаксис стопроцентно совпадает с mysql?
Конечно нет :). Если нужен совместимый с MySQL — вам к MariaDB.

Поделитесь пожалуйста, какие преимущества Postgres лично вы можете выделить
В основном они завязаны на вопросе масштабируемости.
В MySQL очень много вещей попросту платные либо нерешаемые относительно постгреса.
Дмитрий
21 декабря 2022, 09:59
0
В категории создано доп поле MIGX prnt.sc/C0ylMEOl15aj там задаю список опций для данной категории, как будет опция назваться и будет ли выводится в фильтре

на frontend я поменял название опций в фильтре, если они выводятся
[[getImageList? &tvname=`filtr_mini` &tpl=`@CODE: [[+option2]]` &where=`{ "option1:=":"{$filter}" }` ]]
Вопрос в том как в админке поменять, чтоб контент менеджер понимал, что заполнять, ведь там выводятся все опции
Дмитрий
21 декабря 2022, 09:50
0
спасибо за ответ. Вариант с SelectFilters оставляю на крайний случай. жаль что не позволяет выбрать фильтра (select, slider)
seosavspb
21 декабря 2022, 09:50
0
Спасибо большое за то что откликнулись. Сейчас попробую накопать что-нибудь по вашим подсказкам. Хорошего дня))
Александр Мельник
21 декабря 2022, 09:03
0
А еще лучше начинать все новые проекты сразу на Postgres. Ваши проекты скажут мне спасибо за совет :)
Поделитесь пожалуйста, какие преимущества Postgres лично вы можете выделить. Не абстрактные, а те с которыми реально столкнулись. Приходилось ли работать с postgress без прослойки ORM, а напрямую на SQL? Синтаксис стопроцентно совпадает с mysql?
maxgmm
21 декабря 2022, 06:09
0
нЕ РАБОТАЕТ в тикет коментариях РЕЙТИНГ И ИЗБРАНОЕ можете подсказать почему svoy.life/profile/
maxgmm
21 декабря 2022, 01:36
0
Все понял прав небыло!
maxgmm
21 декабря 2022, 01:18
0
Подскажите а как можно отсортировать по рейтингу SimpleRating
Павел Бигель
21 декабря 2022, 01:03
0
ПОчему нельзя тоже самое написать на чистом PHP + API Modx?
Почему же, можно.
Получишь, что-то вроде mSearch на выходе.
Артур Шевченко
21 декабря 2022, 00:38
+1
Fenom тебе ничем не поможет, это шаблонизатор. Задача описана весьма размыто, но осмелюсь предположить, что вес надо менять как количество. Соответственно надо добавить блок аналогичный тому, который есть в стандартном чанке для количества, заменить там count на weight. В админке создать плагин на событие msOnChangeInCart в котором и делать необходимые изменения. Ну и JS дописать на Cart.change.response.success чтобы ответ вставлять.
Вот про чекбокс не понятно. Если он должен быть в корзине, то общую стоимость поменять не выйдет, точнее выйдет, но при любом изменении заказа она будет пересчитана. Менять лучше всего стоимость заказа или отдельного товара или всех товаров.
Артур Шевченко
21 декабря 2022, 00:31
0
Очень интересно было прочитать про возможности Laravel. Только я так и не понял зачем он (Laravel) тут? ПОчему нельзя тоже самое написать на чистом PHP + API Modx? Это гораздо сложнее? Работать будет медленнее? Чем данный пример принципиально отличается от обычной подстановки значения в SQL запрос?

В общем я ничего не понял, но очень интересно)))
Дмитрий Суворов
20 декабря 2022, 21:56
+2
Нужно в сниппете «msListOrders» заменить строку 80.
Вместо:
'on' => 'msOrder.address = msOrderAddress.id',
Нужно:
'on' => 'msOrder.id = msOrderAddress.order_id',
Evgeny
20 декабря 2022, 20:16
0
Вставил код, но блок скрыт уже сразу. В чем может быть проблема?