Артем
С нами с 15 октября 2017; Место в рейтинге пользователей: #1631 час назад
Далее код оставил без изменений
<script type="text/javascript">
// <![CDATA[
{literal}
Ext.onReady(f...
Помогите добить VideoGallery 2
2 часа назад
По этому вопросу тоже думаю — создал вопрос тут
Вопрос по будущему MODX и стратегии развития. 2
7 часов назад
Не нужно меня поддерживать в данном конкретном случае. Прошу убрать лишнее
Опыт по переносу MODX2 на MODX3 и Minishop3 2
8 часов назад
В общем убил целый день, но… так у меня ничего и не вышло.
не могу зарегистрировать класс.
содержание самого файла my_msorderhandler.class.php:
...
Кастомизация minishop'a 9
Вчера в 16:01
Компонент очень нужный и мне кажется будет востребован.
У меня тут задача стоит сделать что-то подобное на сайте на движке на MODX 2.8 — там есть ста...
ms3Variants - Реализация вариантов одного товара в MiniShop3 4
Вчера в 14:42
тут пришла мысль что никто не захочет просто так делиться своим опытом за бесплатно. Можно было бы сделать статьи и кейсы платными? Типа хочешь прочит...
Предложение по развитию сообщества: Создание каталога портфолио/реализованных кейсов на MODX с демо ... 1
Вчера в 10:08
Добрый день! Я этот компонент давно делал, и еще лет 5 не возвращался к нему… он работоспособен, все в этом плане нормально (ну по крайней мере с php ...
msProductKits - удобное управление товарами-комплектами (наборами товаров) 29
19 февраля 2026, 10:22
Вижу, спасибо.
Ошибочно решил, что если есть в документации minishop2, то в старых версиях есть и сам код не посмотрел.
Предыдущий идентификатор статуса при событии 'msOnChangeOrderStatus' 4
19 февраля 2026, 09:27
Привет, Алексей.
1. Как определяем ботов
Проверка идёт по User-Agent в ms3rv_is_bot() (helpers.php). Используется regex по типичным маркерам краул...
ms3RecentlyViewed - Недавно просмотренные товары для MiniShop3 2
searchResources юзает getCollection, ровно как и остальные методы для поиска, тут можно передать привет оперативке.
process тоже переопределять нужно.
И что там в итоге остается, проверка прав?
Тем более, в твоем примере просто проверяется наличие '@FILE' в строке, а не на первой позиции. Это я к тому, что накосячить с этим гораздо проще, чем кажется.
То она просто скастуется до 0 через (int), а затем будет взято 3. В общем, в этой переменной всегда будет число и ошибки не будет. Максимум — условие не пройдет, если передать отрицательный minQuery.
Если у тебя будет 30к товаров, то getIterator сожрет всю оперативку даже не дойдя до половины.
Конечно, защищает от любых sql-инъекций.
достаточно просто
Объекты тут вообще не нужны, гораздо правильнее заменить это на
$query было бы неплохо хотя бы поверхностно обработать, т.к. он дальше напрямую передается в запрос.
Можно добавить (int).
- $a in list $b
- $a in keys $b
- $a in string $b (если указана строка вместо массива)
Соответственно, в твоем случае in list возвращает false, но сразу после этого идет проверка на in keys, которая уже возвращает true. То есть проверяется, что parent текущего ресурса содержится в ключах массива, а это, разумеется, правда.Из сорсов:
Не знаю, зачем был придуман этот модификатор, потому что в реальных кейсах никто не проверяет такой «микс» условий.
Рекомендую забыть об этом модификаторе и юзать его более конкретизированные версии, в частности in list.
А вообще, мне лично неясно, зачем здесь нужна вторая таблица. Достаточно создать 3 новых поля — discount, discount_after, discount_until, затем написать небольшой кусок логики, который будет проверять, что товар попадает в нужный временной отрезок и к нему можно применить акцию, ну и останется только рассчитать скидку согласно акции.
По инструкции, которую ты скинул, можно расширить админку и сделать вполне удобный интерфейс для заполнения этой инфы.
Пройдись в цикле по всем изображениям в базе, проверь их наличие через file_exists и актуализируй данные на основе наличия этих файлов.
Ну а потом просто добавь условие, которое тебе уже подсказали в другом треде.
В админке тык по шестеренке -> Наборы параметров.
Если класс выводимых объектов отличается от modResource, то его всегда нужно указывать явно.
Соответственно, в чанке юзается просто {$product.pagetitle}.
Восстанавливай нервы, отдыхай от этой суматохи и возвращайся с новыми силами!
пухомконнектором, что еще тут скажешь.Я не собираюсь использовать твой компонент, который состоит из 30 так-себе-написанных строк, да и другим не советую этого делать.
Какие мы тут плохие, обидели бедняжку:(
Ну ты извини нас, мы дружно скачаем твой компонент и будем использовать на всех своих сайтах. Ведь это самый удобный и самый практичный способ работы с ajax.
Собственно, если в разрешенных сниппетах будет какой-нибудь pdoResources, то это будет аналогично этому коду: