Александр Мельник

Александр Мельник

Был в сети 15 февраля 2026, 18:37
Заказы не принимаю
Спасибо, вы молодцы.
К сожалению для Украины оба варианта донатов не подходят. Яндекс у нас вообще заблокирован, а попробовал первую ссылку через Тинькофф и получил уведомление — иностранные карты не принимаются.
Пытаюсь понять, что же вы такое придумали.
Как я понял — заходим на какую то страницу вашего сайта, нажимаем кнопку — добавить фотографии. Отмечаем сразу 100 изображений, наверное вводим Год, по этому году будет создан ресурс родитель, нажимаем Создать. Создается 100 страниц (ресурсов) в поле content у каждого вложена ссылка на одно изображение?
Не понимаю две последние «страницы» вот здесь
ГОД документа -> страницы документа т.е. сканы -> записи о людях -> запись связанных с ним людей
Откуда на автоматически создаваемых ресурсах, которые создаются каждый для отдельной фотографии возьмутся внутренние страницы, да еще и даже два уровня внутренних страниц.
Я так понимаю, что предлагать SPA сделать это глупый совет.
Но почему не хранить меню в файле? В виде html и подключать этот чанк. Такое меню будет отображаться моментально, поскольку не будет формироваться при каждом запросе.
Спасибо.

Изучаю код сниппета и вижу, что формирование скрипта с объектом выполняется только при условии
if (!empty($config['autocomplete'])) {}
очень странно, но кто-то выставил параметр autocomplete в 0
[[!mSearchForm?
                	&pageId=`12`
                	&tplForm=`tpl.searchForm`
                	&autocomplete=`0`
                ]]
Вот и верь заказчикам что они никому не дают доступы к сайту)
Возможно вам стоит обратиться к своему хостингу.
Ведь «точка» это не просто глюк, все сайты в мире в оригинале должны открываться с точкой в конце, поскольку это — домен нулевого уровня в системе DNS.
ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%80%D0%BD%D0%B5%D0%B2%D0%BE%D0%B9_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD
Как правило «удалением точки» занимается сам браузер, просто скрывает от нас, чтобы сделать жизнь проще.
Вы врядли могли сами вызвать «добавление точки», скорее всего сбой произошел на хостинге.
Если есть возможность, делайте резервные копии перед обновлением.
Не знаю, может я такой криворукий, а может на моих сайтах много самописного кода, но у меня в среднем из десяти сайтов без проблем обновляются — один. Девять просто перестают работать после обновлений.
Да, вы правы. Кроме как запрещать доступ через настройки вебсервера и отдавать файлы через readfile() с проверкой прав, на его просмотр — по другому и не решить данный вопрос.
Я буквально недавно решал подобную задачу, в рамках микрофреймворка slim и там было проще, в том плане, что сама архитектура фреймворка позволяет все файлы приложения хранить на уровень ниже, чем публичная директория, куда смотрит веб сервер, поэтому получить файл по прямой ссылке просто невозможно.
я имел ввиду, что выбор инструмента для решения задачи исходит из самой задачи. Возможно для таких систем как ваша, где запрос пользователя случайным образом отправляется на разные сервера, то выбор redis является правильным и удобным инструментом. Хотя не совсем понимаю, как это устроено. Редис работает одновременно на всех серверах и везде данные синхронизированы?
Да спасибо Евгений, примерно по такому пути и я смотрел.
Правда не стал использовать phpredis а взял вот эту программу cheprasov/php-redis-client
Но дело ведь в том, что редис сам по себе не гарантирует сохранность данных.
Если мы храним сессии в файлах, то они там и остаются. Храним сессии в базе — они там и остаются. А редис это все таки хранилище которое живет в оперативной памяти и при выключении питания на сервере к примеру — все будет потеряно. Да редис умеет периодически сбрасывать данные на жесткий диск, но все это не гарантируется разработчиком.
Александр, кто кроме вас знает, как у вас организована архитектура? Что на вашем сайте есть Область, что есть Города?
Я не использую никогда mFilter и мне кажется и для этой задачи он тоже не нужен.
Предположим что у вас есть ресурс Киевская область и в нем дочерние ресурсы — города.
Чтобы вывести селект со списком областей вам хватит pdoresources
А далее пишете свой javascript который отслеживает изменения на этих селектах и отправляет ajax запрос, передающий id области.
в самом простом случает пусть вам возвращает сервер готовый html c options городов этой области. Это опять таки может сделать pdoresources у которого родителем будет указан переданный вами айдишник.
Ещё правильнее хранить сессии в Redis.
Ну тут Евгений, наверное стоит заметить, что сайты разрабатываемые на modx как правило размещаются на очень недорогих хостингаx, где нет возможности установить redis. Как это по русски — каждый сверчок знай свой шесток.
При правильных настройках — у активных пользователей сессия не будет слетать (так как часто запрашивается).
А менее популярные сессии анонимов при большом размере кеша будут выталкиваться.
У вас нет ссылок на примеры реализации? Просто я буквально неделю назад углубленно вникал в работу redis и скажем так — не нашел redis очень удобным для хранения сессий. Применил redis для хранения временных токенов, для доступа у определенным ресурсам — вот тут прям идеально применение redis поскольку программа имеет возможность установки времени жизни записи и сама следит за ее удалением.
Так и при установке MODX на два сервера и более
неужели кто-то так делает? MODX это возможность за 6 дней сделать неплохо работающий сайт, лендинг, небольшой магазин без амбиций. Но распылять MODX на несколько серверов… Мне кажется это из области фантастики. Здесь на форуме собраны лучшие разработчики на MODX в России и бывших странах СССР — кто так делал?
Ох уж эти сессии. Да, в modx хранение сессий в базе приводит к тому, что таблица с сессиями занимает огромное место. У меня есть посещаемый сайт и там только таблица с сессиями занимает 17 гигабайт.
Сейчас работаю над закрытым порталом для сотрудников одной крупной мировой компанией и тоже пришлось глубоко погрузится в мир сессий.
К моему счастью, раз в сутки в 3 часа ночи происходит полное обновление данных о сотрудниках и я могу просто запустить скрипт по удалению файлов сессии. Это позволяет разлогинить всех сотрудников, чтобы утром каждый вошел (если не уволен за ночь) с новыми правами и плюс, не заводить кучу файлов сессий. Раз в сутки все файлы просто удаляются.
Андрей, ну слишком у многих возникает такая проблема. О ней писал и я выше, и на гитхабе просто куча issue по этому поводу. Явно есть проблема. Стоит при установке modx выбрать кодировку utf8mb4, прислушавшись совета Василия, который он дает по той ссылке, что вы написали
Ну ок, поддерживает utf8mb4 с версии 2.6.0, которая вышла в 2017 году.
А если ты её не используешь — то сам себе злобный буратино
а потом начать установку minishop как появится ошибка при создании таблицы с опциями. Возможно многие просто ее не замечают, поскольку магазин работает если не пользоваться опциями. Да, таблицу можно потом создать вручную sql запросом, но это не очень правильно.
Кстати, хорошо бы, чтобы для minishop были указаны минимальные требования к программному обеспечению, поскольку ничего кроме
этот компонент требует версию PHP 5.3 или выше
найти не удалось.
Насчет modhost может вы и правы, если бы на нем возникали проблемы, то это было бы уж совсем странно, но мне кажется modhost мало популярен среди разработчиков изза своей высокой стоимости. Если сравнить по стоимость тариф популярный на modhost за 360 рублей (8 гиг, 256 мегабайт памяти, всего один сайт, всего 6 процессов) то за те же деньги на timeweb можно приобрести vds с 30 гигами на nvme 2 гигами оперативки и полным контролем над этим выделенным сервером.