03 декабря 2015, 18:39 {$_pls['tvname']} Новые дополнения и их версии / [pdoTools] 2.0.0-beta c шаблонизатором Fenom 175 0
03 декабря 2015, 12:30 Сделай стоимость такого билета на 1 рубль меньше. Фактически, ни на чем не отразится, но в таблице легко заметишь. Новости и события / MODX Meetup Minsk 2015 [билеты уже в продаже] 76 0
02 декабря 2015, 23:45 {$_modx->resource.tvname} Новые дополнения и их версии / [pdoTools] 2.0.0-beta c шаблонизатором Fenom 175 0
02 декабря 2015, 22:29 И сейчас все побегут массово расширять все системные таблицы ))) Готовые решения / Упрощаем работу с TV 44 +1
02 декабря 2015, 20:13 HybridAuth. Новые дополнения и их версии / [UserProfile2] - профиль пользователя. 103 0
02 декабря 2015, 17:55 Второе. Когда необходимо постоянно работать с некоторыми TV, появляется смысл добавить дублирующие значения в основную таблицу. В противном случае это не нужно. Готовые решения / Упрощаем работу с TV 44 0
02 декабря 2015, 15:18 MinifyX ошибки в своей работе скидывает в лог ошибок MODX. Что там есть? Вопросы / Не работает MinifyX 13 0
02 декабря 2015, 12:34 Вот и поглядим, знают ли они русские народные пословицы :) Готовые решения / Упрощаем работу с TV 44 +1
02 декабря 2015, 12:25 О 3 версии уже года 3 идут разговоры. Готовые решения / Упрощаем работу с TV 44 0
02 декабря 2015, 12:21 Сергей, молодец! Все гениальное просто :) Твой пытливый ум еще много полезностей, чую, придумает ))) Готовые решения / Упрощаем работу с TV 44 +1
02 декабря 2015, 09:41 Отправить AJAX запрос из браузера, отловить запрос сниппетом или плагином, запустить обработку. После всего этого вызвать JS метод Order.getCost(); Вопросы / Изменять стоимость доставки через яндекс 7 +1
02 декабря 2015, 08:29 Стоимость считается на фронте на JS? Если так, необходим собственный класс доставки, который принимает стоимость из браузера, но очень это криво выглядит. Нужно больше подробностей. Вопросы / Изменять стоимость доставки через яндекс 7 0
02 декабря 2015, 07:07 В HitsPage так не должно быть, достаточно посмотреть на название. Вопросы / Не могу настроить работу Hitspage 27 0
30 ноября 2015, 23:30 <? switch ($modx->event->name){ case 'msOnBeforeAddToCart': if (!is_array($options)) $options = json_decode($options, true); if (isset($options['price'])) { $product->set('price', $options['price']); } break; }Кусок с работающего проекта. Полагаться на записанное в options товара никогда не нужно, но как пример хорошо подходит. Вопросы / miniShop2 — работа с оптовыми ценами 28 0
30 ноября 2015, 23:08 1) Использовать getIterator 2) Перед сохранением установкой новых значений и сохранением в базу проверять, есть ли изменения. Если не изменилось, ничего не делать. Это самая очевидная оптимизация. Следующий шаг — начальная выборка значений в виде массивов данных, без getCollection/getIterator. Сравнить все на уровне массивов, затем быстро пройти только по изменившимся товарам. И, кстати, рекомендую именно проверку на уровне массивов сделать с формированием нового массива, в котором будут изменившиеся значения. На мой взгляд, быстрее этого варианта только чистый SQL. Могу, конечно, ошибаться. Вопросы / Программное обновление ресурсов (7000+) 8 +2
30 ноября 2015, 23:00 В такой задаче, хоть и не самый правильный способ, я бы смотрел в сторону обновления на чистом SQL, если нет необходимости отработки плагинов и прочего при изменении товаров. А такой необходимости нет, учитывая допустимость работы без процессоров. Что касается самих процессоров, с ними быстрее не получится. Они, помимо getObject() и save() выполняют еще огромное количество функций и проверок. У вас товары сохраняются все и всегда? Или есть проверка на изменившиеся поля? Вопросы / Программное обновление ресурсов (7000+) 8 0
UiCMPGenerator дополнение для создания пакетов Ближе к сентябрю, основная загвоздка это создание нормальной документации и видео обзора, а так пакет как бы уже готов
Личный кабинет на Sendit - не удается сбросить пароль Хм, в массиве поле extended приходит пустым, временного пароля там нет. Сам тестовый юзер изначально был зареген в группу Users с правами доступа в личный кабинет (по обычной инстр...
Checkbox для модального окна Они не отключены, они платные, чтобы писали только те, кому действительно очень надо. Когда бесплатно люди начинают думать, что я им должен.
[SendIt 2.6.0] Анализ поведения пользователя для защиты от спама (невидимая капча)... Здравствуйте. Делаю личный кабинет на Sendit и со сбросом пароля возникли проблемы. Можете подсказать, в чем ошибка? Список вопросов в одноименном разделе на modx.pro пока пуст, и,...
Minishop + честный знак (продажа маркированной продукции) В нашем случае мы решили убрать всю логику по маркировке сайта.
MiniShop3 - Не выводятся товары дополнительных категорий @SYAN ваша указанная проблема исправлена еще до версии 1.2.3 @Павлик Мышкин завел: github.com/modx-pro/MiniShop3/issues/480 github.com/modx-pro/MiniShop3/issues/481Исправим в б...
MobileDetect 2.0.0-pl функция "планшеты как стандартные браузеры не работает" в 2.1.0-pl баг исправлен
msImportExport не сохраняет родителя по умолчанию Компонент не понимает кирилические домены при загрузку фото. пример: Error download. Url : https://антаресдвери.рф/upload/iblock/a50/a50b2ef45305a3c18f6e298f1e134880.jpg. Message...
Все гениальное просто :) Твой пытливый ум еще много полезностей, чую, придумает )))
Если так, необходим собственный класс доставки, который принимает стоимость из браузера, но очень это криво выглядит. Нужно больше подробностей.
2) Перед сохранением установкой новых значений и сохранением в базу проверять, есть ли изменения. Если не изменилось, ничего не делать.
Это самая очевидная оптимизация. Следующий шаг — начальная выборка значений в виде массивов данных, без getCollection/getIterator. Сравнить все на уровне массивов, затем быстро пройти только по изменившимся товарам.
И, кстати, рекомендую именно проверку на уровне массивов сделать с формированием нового массива, в котором будут изменившиеся значения. На мой взгляд, быстрее этого варианта только чистый SQL. Могу, конечно, ошибаться.
Что касается самих процессоров, с ними быстрее не получится. Они, помимо getObject() и save() выполняют еще огромное количество функций и проверок.
У вас товары сохраняются все и всегда? Или есть проверка на изменившиеся поля?