25 марта 2016, 11:58 Если ты про ошибку в окне привязки периодов к объектам, то обновись еще раз. ) П.С. Прошу прощения у автора за оффтоп. Вопросы / Медленный getChunk 22 0
25 марта 2016, 11:49 мой стаж программирования не позволяет мне похвастаться крупными вкладами в open source проекты, но я за бесплатное ПО и за улучшение его качества.Это и есть ответ на вопрос. Вот когда сделаешь что-то большое, значимое для себя, вот тогда и решишь для себя как реагировать, когда какой-нибудь новичок в приступе борьбы за все хорошее будет копировать твое творение. Если ты найдешь и выпустишь много элементарных вещей за 190 руб. никто в обиде не будет. Главное найти хотя бы одну такую вещь. Ещё раз повторю, дело не в деньгах. Ты не задумывался, почему я более крутые дополнения делаю бесплатно, а сайтстатистик за деньги? Только из соображений «внутренней» порядочности и из уважения к Валентину из АртДевю. Я сделал свое позже. А мой доход позволяет мне покупать новую Ауди А4 каждый месяц и ещё немного останется. Мне эти 300 руб. вообще никуда не упирались. Вопрос только в уважении разработчиков друг к другу. Ваше отношение с Гвоздем к уважению ясно, но Михаил проявил себя вполне достойно. Настоящий мужик. Уважаю. Лично я готов сделать свое дополнение бесплатным хоть сейчас. Уверен Валентин не будет против. Новые дополнения и их версии / [UsersOnline] Пользователи онлайн 55 -4
25 марта 2016, 11:21 Да, pdoFetch решает проблему со скоростью. По-моему, Василий писал, что оптимизировал вызов getChunk() в цикле — т.е. он зачитывает его в кеш при первом обращении и потом достает его при повторном запросе. Т.е. foreach ($rows as $row) { ... // Первый запрос в базу, остальные в кэш $output .= $pdo->getChunk('name', $row); }Но мой кусок кода будет чуть-чуть быстрее только из-за многочисленных проверок методов класса pdoFetch, сделанных для универсальности и проверки разных условий. П.С. Кстати, ты проверил годовые периоды? П.П.С. И еще хотел сказал про феном, но Василий уже ответил. Вопросы / Медленный getChunk 22 0
25 марта 2016, 08:53 И не поймешь до поры до времени. Перечитай мой последний комментарий. Исходя из этого, у меня получается лишь один вывод:Не получается. Разговор только о нашем тесном сообществе, где многие разработчики друг друга знают уже давно. У меня стоит задача сделать себе на сайт промокоды. Вот я сделаю его и выложу здесь, чтобы послушать аплодисменты. А потом чуть допилю и сделаю купонатор. Тоже для аплодисментов. Ни строчки кода не скопирую с твоих компонентов. А чё, здоровая конкуренция. И тогда логика тебе в руки, а эмоции заверни в газету и убери на чердак. Никого не хочу обидеть. Ответ чисто гипотетический, если бы вдруг меня об этом спросили. Новые дополнения и их версии / [UsersOnline] Пользователи онлайн 55 -5
25 марта 2016, 07:33 У меня опечатка в коде. В первой строчке должно быть так $rows = $modx->getCollection('modResource', $q); // Про это я говорил заменить на newQuery.Вот поправленный вариант // Если использовать pdoTools $where = array(); // Указать необходимое условие $rows = $pdo->getCollection('modResource', $where); // Второй параметр: или id, или JSON, или массив $output = ''; // Нужно указать название чанка $chunk= $modx->getChunk('чанк'); foreach ($rows as $row) { // В чанке плейсхолдеры должны совпадать с именами ключей массива $row $modx->setPlaceholders($row); $modx->getParser()->processElementTags('', $chunk, false, false, '[[', ']]', array(), 10); $modx->getParser()->processElementTags('', $chunk, true, true, '[[', ']]', array(), 10); $output .= $chunk; $modx->unsetPlaceholders($row); } Вопросы / Медленный getChunk 22 0
24 марта 2016, 20:05 Михаил, не надо меня убеждать, что мои эмоции неправильные. Почему Василий обиделся на Володю за копирование небольшой части офиса (пользовательских контроллеров)? Ты сможешь это понять, когда будешь в такой же ситуации. Я сделал сайтстатистик, чтобы заменить у себя HitsPage. И сделал его платным только из-за того, что считаю неправильно отбивать у них пользователей. Поэтому сделал выбор для пользователя — бесплатно меньше функций, платно больше. И ребятам из АртДевю не обидно. А чтобы пользователь чувствовал вес платного варианта, добавил ещё usersOnline, который вы и дарите тут. Вопрос не в деньгах, а в солидарности разработчиков и уважении друг друга. Представь, что я сделаю свой бесплатный компонент, который копирует твой бесплатный. Т.е. ты ничего не потеряешь, но какие получишь эмоции? Новые дополнения и их версии / [UsersOnline] Пользователи онлайн 55 -4
24 марта 2016, 19:00 Я разделил с тобой радость копирования функционала моего дополнения. Новые дополнения и их версии / [UsersOnline] Пользователи онлайн 55 -3
24 марта 2016, 18:57 Михаил, я имел ввиду свое дополнение. Новые дополнения и их версии / [UsersOnline] Пользователи онлайн 55 0
24 марта 2016, 18:28 Да, стоит. Точно, плагин проверяет. Вот какое хорошее дополнение, поставил и проблемы сами решаются. Ещё разделяю твою «радость» когда кто-то дарит функционал твоего платного дополнения. Новые дополнения и их версии / [UsersOnline] Пользователи онлайн 55 0
24 марта 2016, 18:01 Еще одна встречающаяся проблема — после блокировки пользователь может делать на сайте все, что угодно, пока жива его сессия.Вроде уже нет такой проблемы. Новые дополнения и их версии / [UsersOnline] Пользователи онлайн 55 0
24 марта 2016, 08:43 Забыл сказать, ещё и папку админки не светишь. Пошаговые инструкции / Двухуровневая авторизация в менеджере 20 0
24 марта 2016, 08:17 С токенами есть в AdminTools — вводишь логин и на почту получаешь ссылку для входа. Никакие переборы не страшны. Можно выпилить. Пошаговые инструкции / Двухуровневая авторизация в менеджере 20 0
22 марта 2016, 20:06 На вскидку. ... // Я бы заменил getCollection() на newQuery(). Быстрее и меньше памяти жрет. $rows = $pdo->getCollection('modResource', $q); $output = ''; // Нужно указать название чанка $chunk= $modx->getChunk('чанк'); foreach ($rows as $row) { // В чанке плейсхолдеры должны совпадать с именами ключей массива $row $modx->setPlaceholders($row); $modx->getParser()->processElementTags('', $chunk, false, false, '[[', ']]', array(), 10); $modx->getParser()->processElementTags('', $chunk, true, true, '[[', ']]', array(), 10); $output .= $chunk; $modx->unsetPlaceholders($row); }На 30 объектах время сократится раза в 2. Вопросы / Медленный getChunk 22 -1 1
22 марта 2016, 18:01 Самый простой вариант оптимизации — это вынести getChunk из цикла. Т.е. вызывать его один раз, а не 30. Вопросы / Медленный getChunk 22 0
21 марта 2016, 08:24 Не в ногу вы идете с Росстатом. У них инфляция доли процента в месяц, а вы сразу на 20 поднимаете. Ещё стоимость садика подняли на 25%. Придется выбирать — или сайт содержать или детей в садик водить. :)) Хостинг / Modhost: новые цены, новые серверы, новые функции 6 0
21 марта 2016, 07:11 Переименованы всего лишь 2 папки — коннекторы и админка. И этому «всё ни по чём» детектору оказалось «не по зубам». :) Вопросы / CMS Detector ! 17 0
15 марта 2016, 22:59 $assigned = $instance;Этот код клонирует объект $instance и записывает в переменную $assigned указатель на клонированный.Вообще не так. Подумай, зачем тогда нужна конструкция clone? И почему тогда, если это разные объекты, изменение $assigned изменяет $instance? На самом деле объект всегда один (начиная с PHP 5). Но в первом случае создается ещё один псевдоним объекта и получается, что две переменных ссылаются на один объект. Когда мы разрываем одну связь ($instance = null), вторая переменная ($assigned) всё ещё хранит ссылку на объект. Работая с двумя переменными, мы, на самом деле, работаем с одним объектом. Но удалить можно только связь с объектом. И когда удалится последняя связь, то удалится и сам объект. Похоже на жесткую ссылку в Linux. А во втором случае, переменная $reference — это прямая ссылка на объект в памяти. И в данном случае, присваивая переменной $reference NULL, обнуляется не связь, а сам объект, т.е. в память по адресу объекта записывается NULL. Вопросы / Вопрос к знатокам PHP 3 +1
13 марта 2016, 13:41 А так не работает? $q->where(array('MONTH(date)' => 4)); Вопросы / xPDO запрос WHERE Month или DATE_FORMAT 5 0
Редизайн сообщества так выглядит вопрос на подтверждение удаления заметки в темной теме. Кроме того при публикации заметки не увидел всплывающего уведомления об успешной публикации из-за чего о...
Возможно ли реализовать возможность предоплаты за доставку на сайте? У меня Робокасса, у них вроде есть docs.robokassa.ru/ru/iframe
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем orderUI, после
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
П.С. Прошу прощения у автора за оффтоп.
Ещё раз повторю, дело не в деньгах. Ты не задумывался, почему я более крутые дополнения делаю бесплатно, а сайтстатистик за деньги? Только из соображений «внутренней» порядочности и из уважения к Валентину из АртДевю. Я сделал свое позже. А мой доход позволяет мне покупать новую Ауди А4 каждый месяц и ещё немного останется. Мне эти 300 руб. вообще никуда не упирались. Вопрос только в уважении разработчиков друг к другу. Ваше отношение с Гвоздем к уважению ясно, но Михаил проявил себя вполне достойно. Настоящий мужик. Уважаю.
Лично я готов сделать свое дополнение бесплатным хоть сейчас. Уверен Валентин не будет против.
Но мой кусок кода будет чуть-чуть быстрее только из-за многочисленных проверок методов класса pdoFetch, сделанных для универсальности и проверки разных условий.
П.С. Кстати, ты проверил годовые периоды?
П.П.С. И еще хотел сказал про феном, но Василий уже ответил.
Не получается. Разговор только о нашем тесном сообществе, где многие разработчики друг друга знают уже давно.
У меня стоит задача сделать себе на сайт промокоды. Вот я сделаю его и выложу здесь, чтобы послушать аплодисменты. А потом чуть допилю и сделаю купонатор. Тоже для аплодисментов. Ни строчки кода не скопирую с твоих компонентов. А чё, здоровая конкуренция. И тогда логика тебе в руки, а эмоции заверни в газету и убери на чердак.
Никого не хочу обидеть. Ответ чисто гипотетический, если бы вдруг меня об этом спросили.
Вот поправленный вариант
Я сделал сайтстатистик, чтобы заменить у себя HitsPage. И сделал его платным только из-за того, что считаю неправильно отбивать у них пользователей. Поэтому сделал выбор для пользователя — бесплатно меньше функций, платно больше. И ребятам из АртДевю не обидно. А чтобы пользователь чувствовал вес платного варианта, добавил ещё usersOnline, который вы и дарите тут.
Вопрос не в деньгах, а в солидарности разработчиков и уважении друг друга. Представь, что я сделаю свой бесплатный компонент, который копирует твой бесплатный. Т.е. ты ничего не потеряешь, но какие получишь эмоции?
Ещё разделяю твою «радость» когда кто-то дарит функционал твоего платного дополнения.
На 30 объектах время сократится раза в 2.
Ещё стоимость садика подняли на 25%. Придется выбирать — или сайт содержать или детей в садик водить. :))
На самом деле объект всегда один (начиная с PHP 5). Но в первом случае создается ещё один псевдоним объекта и получается, что две переменных ссылаются на один объект. Когда мы разрываем одну связь ($instance = null), вторая переменная ($assigned) всё ещё хранит ссылку на объект. Работая с двумя переменными, мы, на самом деле, работаем с одним объектом. Но удалить можно только связь с объектом. И когда удалится последняя связь, то удалится и сам объект. Похоже на жесткую ссылку в Linux.
А во втором случае, переменная $reference — это прямая ссылка на объект в памяти. И в данном случае, присваивая переменной $reference NULL, обнуляется не связь, а сам объект, т.е. в память по адресу объекта записывается NULL.