Дмитрий Середюк
С нами с 07 декабря 2014; Место в рейтинге пользователей: #213Использование xPDO без MODX
Некоторое время назад подписался помочь хорошему проекту Критиканство в написании парсера для автоматической загрузки скриншотов игр.
Админка Критиканства создавалась в разное время разными специалистами и выглядит немного разрозненной. Тоже касается и таблиц базы данных — каждый разработчик мудрил с ними по своему.
Сам сайт сделан очень олдскульно и «чисто для себя». То есть, работает быстро, но все что можно зашито прямо в php код. Никаких ORM, никаких шаблонов, только то, что нужно.
Для разработки парсера мне предоставили полную свободу действий, поэтому я набросал новую версию админки с использованием шаблонов, xPDO и других любимых методик.
«Критиканство» — это крупнейший в российском сегменте интернета агрегатор критических отзывов на фильмы и игры. В нашей базе более 150 печатных и интернет-изданий, а количество рецензий на момент запуска (на март 2013 года) составило более 60 000.Этот проект был запущен ребятами с прекрасного сайта kino-govno.com, к которому я питаю очень теплые чувства. Шутка ли, его создали авторы из лучшего журнала про игры — Game.EXE, который я до дыр зачитывал еще в школе.
Админка Критиканства создавалась в разное время разными специалистами и выглядит немного разрозненной. Тоже касается и таблиц базы данных — каждый разработчик мудрил с ними по своему.
Сам сайт сделан очень олдскульно и «чисто для себя». То есть, работает быстро, но все что можно зашито прямо в php код. Никаких ORM, никаких шаблонов, только то, что нужно.
Для разработки парсера мне предоставили полную свободу действий, поэтому я набросал новую версию админки с использованием шаблонов, xPDO и других любимых методик.
Метод sendForward() и сохранение полей ресурса
Могие знают полезный метод в MODX — sendForward('id'), который позволяет загрузить некий ресурс без изменения url. При помощи этого метода работает выдача страниц «404 не найдено» и «401 требуется авторизация».
Но немногие знают, что можно выдавать заменяющую страницу, сохранив оригинальные pagetitle, introtext и другие поля.
Но немногие знают, что можно выдавать заменяющую страницу, сохранив оригинальные pagetitle, introtext и другие поля.