15 мая 2020, 12:28 Автор в постскриптуме указал почему. Плюс не очень удобно. Нужную настройку нужно обязательно удалить, иначе данный способ переопределения настройки не сработает. Т.е. придется лезть в админку. В моем варианте можно переопределять любые системные настройки. Они сразу будут применены. Кроме того, новые файлы подключаются автоматом. П.С. Файл конфига редактировать никто не запрещает. Он индивидуальный и его при обновлении никогда не трогают. Пошаговые инструкции / Лайфхак по config.inc 29 0
15 мая 2020, 12:24 Посмотрел в код. Конкретно эту настройку через системные настройки не изменить. Нужно или прописывать в $config_options $config_options = array ( 'cache_path' => 'path/to/cache/folder/', );или в своих коннекторах, где создается объект $modx указать параметры инициализации <?php // Boot up MODX require_once dirname(dirname(__FILE__)) . '/config.core.php'; require_once MODX_CORE_PATH . 'model/modx/modx.class.php'; $modx = new modX('', ['cache_path' => 'path/to/cache/folder/',]); Пошаговые инструкции / Лайфхак по config.inc 29 0
15 мая 2020, 09:51 При всём уважении, делать так не нужно. Просто создайте php файлик со своими системными настройками и загружайте его на событие OnMODXInit /OnHandleRequest. И тогда не нужны все эти манипуляции и проблемы с обновлением MODX. Как это сделать я говорил ещё в 2016 году. Пошаговые инструкции / Лайфхак по config.inc 29 +3
12 мая 2020, 10:14 Достаточно большой и красиво оформленный пост. Что плохого в том, что человек наглядно демонстрирует возможности системы? Похоже на документацию, не похоже на документацию… Какая разница. Если твой пост про создание промокода больше 3-х предложений, то пиши, не стесняйся. Этот сайт является частью самой большой MODX экосистемы в RU сегменте — modx.pro, modstore.pro и modhost.pro (хотя владельцы разные). Скорее даже самой большой в мире. Почему бы один ресурс не использовать для продвижения другого? А для удобства пользователей есть разделы. Хочешь, читай про дополнения, хочешь — про готовые решения. По моему, пост не нарушает никаких правил, ни описанных ни моральных. В отличие от поста с победными скидками. Вот там да, хочется сказать товарищу, что ошибся дверью. Это мое мнение, которое может меняться в зависимости от настроения )) Готовые решения / Quiz. Инструкция как создать опрос 15 +10
02 мая 2020, 05:29 Кстати, на чанки эта логика тоже не распространяется. Только наоборот. Они никогда не кэшируются не зависимо от того, указан! или нет. Вопросы / кеширование файловых элементов. Оно есть? Нет? Как отлючить? 6 0
01 мая 2020, 22:53 Ну значит эта логика на файловые элементы не распространяется. Юзай modHelpers. Там этих проблем нет. Больше не знаю, что посоветовать. Вопросы / кеширование файловых элементов. Оно есть? Нет? Как отлючить? 6 +1
01 мая 2020, 07:54 Полностью согласен с ребятами. Это не твоя головная боль. Ты работу сделал — тебе должны заплатить. Что там с ней будет дальше тебя не должно волновать. Я понимаю, что легче сказать, чем сделать. Но нужно вырабатывать определенный уровень здорового цинизма. Нельзя за всё переживать. Особенно за то, что тебя не касается. А если денег за работу не платят, то нужно работу менять. Но тут свои проблемы от объективных до субъективных. По хорошему, нужно твердо и уверенно ставить свои условия клиентам — предоплата, только на своих серверах. Но тут тоже свои сложности. Новые и маленькие студии готовы на всё, лишь бы получить заказ. И этим недобросовестные клиенты пользуются. Так что на каждом уровне свои проблемы. Вопросы / а какие методы борьбы с недобросовестными заказчиками используете вы? 12 +3
30 апреля 2020, 18:33 Будешь смеяться, но так {'@FILE !snippets/getFilters.php'|snippet}Ну или используй функцию snippet из modHelpers. Вопросы / кеширование файловых элементов. Оно есть? Нет? Как отлючить? 6 +2
30 апреля 2020, 05:47 [[!+modx.user.id:userinfo=`fax`:is=`123`:then=`да`:else=`нет`]]Но я бы для таких целей посоветовал использовать Fenom. {if ($_modx->user.fax == '123'} да {else} нет {endif} Вопросы / Как вывести условия по параметрам пользователя? 5 0
29 апреля 2020, 20:44 Еще один вариант (по алгоритму Алексея) 1. Создаем сниппет, в котором формируем уникальный хеш файла. 2. Записываем в массив ['хэш строка' => 'путь/к/файлу'] 3. Сохраняем массив в кэш на определенное время. Если нужно ограничить конечно срок жизни ссылки. Если не нужно, то сохраняем в кэш без ограничений по времени. 4. На странице загрузки файла проверяем хэш из GET параметра на наличие в массиве из кэша. Есть — отдаем и удаляем из кэша. Вопросы / Скачивание файла конкретным пользователем 6 0
28 апреля 2020, 14:23 {if $files?} {set $files = array_chunk($files, 4)} <div class="slider"> {foreach $files as $fileGroup} <div class="slide"> {foreach $fileGroup as $file} {$file} {/foreach} </div> {/foreach} </div> {/if}Возможно придется включить php на страницt в настройках pdoTools. Вопросы / Обернуть каждые N элементов массива в Fenom 4 +3 1
28 апреля 2020, 07:27 Фильтры ввода/вывода для пользователя. Вопросы / Как вывести условия по параметрам пользователя? 5 0
23 апреля 2020, 17:08 Я такого не говорил,Ну не говорил так не говорил. Сейчас не золотой век CMS, CMS все меньше кому то нужны уже даже в России, за пределами России я уже вообще молчу, тут бы дожить существующим CMS спокойно, а новые в принципе обречены на провал какие бы хорошие они не были.и Я не слежу за количеством CMSЭто 2 соседних комментария. Наверно и тут можно выкрутиться, что там имел ввиду не это, а тут не то. Ну началось, мерить скорость фреймворков — себя не уважатьВон оно чё, Михалыч. Т.е. когда выбирают фреймворк под высокопосещаемый сайт, кидают кости или смотрят у кого строк в коде больше. Ух уж эти подлые манипуляторы. )) у того же Laravel есть люменЯ понимаю о чём ты говоришь. Но с формальной точки зрения Lumen — это не Laravel. Это микрофреймворк от того же автора. А я говорил именно о популярном Laravel. Ладно, забей, далеко уже ушли от темы. Готовые решения / [MODX/Laravel] DevDocker - удобная разработка под Linux 48 +1
23 апреля 2020, 12:37 Или ты предлагаешь рассказывать людям работающим на modx как построить контейнеры способные держать 400 хостов в секунду в течении месяцев без перебоев?Ну началось. То золотой век CMS прошел, то MODX плохой, потому что не может держать 400 запросов в секунду. Ну вечером в пятницу под пару кружек пенноого чая ещё сойдёт, но вроде серъёзные разработчики собрались, а разговоры как у прыщавых подростков. Количество CMS множится, ибо инструментов стало столько, что народ начал придумывать что-то своё в различных комбинациях. Зайди на хабр, удивишься. Конкуренция растёт, поэтому популярность таких мамонтов как WP, Joomla, Drupal и остальных снижается. Вот и весь секрет. А пенять на MODX, что он не может работать в высоконагруженной системе, это уж какой-то лужапук. Ну не предназначен он для этого. Высоконагруженные системы — это отдельный мир. Ты удивишься, но тот же Laravel имеет невысокие показатели среди других фреймворков по RPS (request per second). Зачем развотить холиварные темы? А статья интересная, плюсанул. Пытаюсь побороть себя поставить на локалку с Windows основной вэб стек (Linux, MySQL, NGINX, PHP) в контейнере. Но времени нет. Готовые решения / [MODX/Laravel] DevDocker - удобная разработка под Linux 48 +2
17 апреля 2020, 10:46 Опытный разработчик найдёт много вариантов. Вот первые три 1. Использовать фильтр для тега link с заменой «glavnaja» на /. Только предварительно почитав документацию по инлайн чанкам. 2. Использовать отдельный шаблон для первой страницы [[pdoResources? &useWebLink=`1` &resources=`-1` &tplFirst=`@INLINE <a href="/">1</a>` &tpl=`@INLINE <a href="[[+link]]">[[+id]]</a>` ]]3. Почти тоже самое <a href="/">1</a> [[pdoResources? &useWebLink=`1` &resources=`-1` &tpl=`@INLINE <a href="[[+link]]">[[+id]]</a>` ]] Вопросы / pdoResources: [[~[[+id]]]] на работает при @INLINE 4 +2
14 апреля 2020, 07:17 Расширить класс pdoFetch, исправить как нужно (заменить | на какой-нибудь неиспользуемый символ, например, #), указать в системной настройке новый класс. Вопросы / pdoFetch и | в select 2 0
12 апреля 2020, 08:45 Вполне возможен ещё один вариант. В админке у тикетов отключить Jevix, а в нужных шаблонах добавить вывод контента через сниппет Jevix. В этом случае тег [[~88]] должен распарситься до обработки Jevix и всё отработает как положено. Чисто в теории. В этом случае, кстати, ты можешь динамически управлять поведением Jevix через параметры сниппета, в отличие от наборов параметров. Вопросы / Jevix - как отключить тег br? 52 0
12 апреля 2020, 08:28 Небольшое уточнение. Согласно документации коду достаточно написать так "a":{"title":"#text","href":"#text"}Ибо по-умолчанию атрибуту href присваивается тип #link. А при указании в атрибуте тега MODX, он фильтрацию не проходит и тег a вырезается. Поэтому нужно указать другой тип. А чтобы foreach не сломался, нужно указать типы для всех атрибутов. Иначе выпадает ошибка, о которой ты писал выше. Самое интересное, что ты можешь указать практически любое значение "a":{"title":"#text","href":"#modx"} "a":{"title":"#text","href":"#fuck"}В этом случае Jevix не найдёт соответствующего фильтра и оставит значение без обработки. В случае же с типом #text, значение прогонится через функцию htmlspecialchars(). П.С. Вообще, у Jevix самый большой минус — это отсутствие документации. Не программисту разобраться тяжело. Вопросы / Jevix - как отключить тег br? 52 +2
11 апреля 2020, 13:30 Делаешь свой парсер по аналогии с pdoParser. Вопросы / MODX Revo + шаблонизатор Blade. Реально? 7 0
Возможно ли реализовать возможность предоплаты за доставку на сайте? В любом случаем стандартный флоу минишоп2 рассчитан на оплату по ссылке, т.е. чтобы получить информацию об оплате, нужно чтобы заказ существовал. Чтобы сделать иначе, нужно использ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
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... Да, планируется. Даже чуть больше, чем просто бонусная система)
В моем варианте можно переопределять любые системные настройки. Они сразу будут применены. Кроме того, новые файлы подключаются автоматом.
П.С. Файл конфига редактировать никто не запрещает. Он индивидуальный и его при обновлении никогда не трогают.
или в своих коннекторах, где создается объект $modx указать параметры инициализации
Этот сайт является частью самой большой MODX экосистемы в RU сегменте — modx.pro, modstore.pro и modhost.pro (хотя владельцы разные). Скорее даже самой большой в мире. Почему бы один ресурс не использовать для продвижения другого? А для удобства пользователей есть разделы. Хочешь, читай про дополнения, хочешь — про готовые решения. По моему, пост не нарушает никаких правил, ни описанных ни моральных. В отличие от поста с победными скидками. Вот там да, хочется сказать товарищу, что ошибся дверью.
Это мое мнение, которое может меняться в зависимости от настроения ))
А если денег за работу не платят, то нужно работу менять. Но тут свои проблемы от объективных до субъективных.
По хорошему, нужно твердо и уверенно ставить свои условия клиентам — предоплата, только на своих серверах. Но тут тоже свои сложности. Новые и маленькие студии готовы на всё, лишь бы получить заказ. И этим недобросовестные клиенты пользуются. Так что на каждом уровне свои проблемы.
Ну или используй функцию snippet из modHelpers.
1. Создаем сниппет, в котором формируем уникальный хеш файла.
2. Записываем в массив
3. Сохраняем массив в кэш на определенное время. Если нужно ограничить конечно срок жизни ссылки. Если не нужно, то сохраняем в кэш без ограничений по времени.
4. На странице загрузки файла проверяем хэш из GET параметра на наличие в массиве из кэша. Есть — отдаем и удаляем из кэша.
и
Это 2 соседних комментария. Наверно и тут можно выкрутиться, что там имел ввиду не это, а тут не то.
Вон оно чё, Михалыч. Т.е. когда выбирают фреймворк под высокопосещаемый сайт, кидают кости или смотрят у кого строк в коде больше. Ух уж эти подлые манипуляторы. ))
Я понимаю о чём ты говоришь. Но с формальной точки зрения Lumen — это не Laravel. Это микрофреймворк от того же автора. А я говорил именно о популярном Laravel.
Ладно, забей, далеко уже ушли от темы.
Количество CMS множится, ибо инструментов стало столько, что народ начал придумывать что-то своё в различных комбинациях. Зайди на хабр, удивишься. Конкуренция растёт, поэтому популярность таких мамонтов как WP, Joomla, Drupal и остальных снижается. Вот и весь секрет.
А пенять на MODX, что он не может работать в высоконагруженной системе, это уж какой-то лужапук. Ну не предназначен он для этого. Высоконагруженные системы — это отдельный мир. Ты удивишься, но тот же Laravel имеет невысокие показатели среди других фреймворков по RPS (request per second). Зачем развотить холиварные темы?
А статья интересная, плюсанул. Пытаюсь побороть себя поставить на локалку с Windows основной вэб стек (Linux, MySQL, NGINX, PHP) в контейнере. Но времени нет.
1. Использовать фильтр для тега link с заменой «glavnaja» на /. Только предварительно почитав документацию по инлайн чанкам.
2. Использовать отдельный шаблон для первой страницы
3. Почти тоже самое
В этом случае, кстати, ты можешь динамически управлять поведением Jevix через параметры сниппета, в отличие от наборов параметров.
документациикоду достаточно написать такИбо по-умолчанию атрибуту href присваивается тип #link. А при указании в атрибуте тега MODX, он фильтрацию не проходит и тег a вырезается. Поэтому нужно указать другой тип. А чтобы foreach не сломался, нужно указать типы для всех атрибутов. Иначе выпадает ошибка, о которой ты писал выше.
Самое интересное, что ты можешь указать практически любое значение
В этом случае Jevix не найдёт соответствующего фильтра и оставит значение без обработки. В случае же с типом #text, значение прогонится через функцию htmlspecialchars().
П.С. Вообще, у Jevix самый большой минус — это отсутствие документации. Не программисту разобраться тяжело.