Сайт «Еда со вкусом», техническая сторона

anyutt82 объявила про сайт http://www.edasovkusom.ru/. Значит можно считать его открытым. Кулинарией не интересуюсь, поэтому оценить его содержимое не могу, но занимался его программной частью и хочу про это написать. До этого на столько сложных сайтов на «Джумле» не делал, хотя изначально ничто не предвещало беды, если не считать то, что весь функционал и дизайн сам просился на WordPress, но категоричным требованием заказчика была Joomla! Внешне простенький сайт передали новому программисту, а я уехал в отпуск доделывать висящих на мне три интернет-магазина.

Удалённо всю неделю помогал с созданием сайта, но в итоге начальник разработку полностью отдал мне, так как сроки истекали и срочно надо было проект завершать. Функционал получался необычный, впервые что-то типа блога делали на «Джумле». Пришлось использовать компонент Tag для добавления тегов рецептам и компонент MultiCategories, заменяющий собой стандартный компонент Content, так как один рецепт должен быть в нескольких категориях. Для вывода уменьшенной картинки во вступительном тексте изображений использовался модуль JA News.

Проблема была в том, что компонент тегов работал только со стандартным конетном, а не мультикатегориями, на странице тега тоже теги не выводились, а согласно заданию должны были. И модуль вывода последних статьей выводил картинку только у себя, а еще должен был выводить в блоге мультикатегории и блоге тега. Ну и сами мульткатегрии ничего не знали про теги и вывод автоматически уменьшенных картинок в тексте, а так же категории и теги должны были выводится в одном списке одним и тем же плагином, то есть плагин тега еще и их должен был выводить. С компонентами тегов и мультикатегорий работал впервые, пришлось со всем разбираться и переписывать компоненты, плагины, связывать между собой, подключать классы от модуля в компоненты и изменять плагины на срабатывание с нестандартными компонентами. Форматирование стать тоже необычное получилось с выводом категорий в заголовке, тегов с автоматической картинкой ниже и в конце всего вместе. Часть этого делал впервые и до работы над проектом не знал как это делается. Опыта набрался прилично.

Хорошо, что в то время был в отпуске в селе и мог спокойно сосредоточенно на трезвую голову поработать вечером и ночью. В офисе сложно сосредоточиться, когда параллельно постоянно нужна помощь другим двум программистам и начальство от пары-тройки разных заказчиков новые требования передаёт, и всё это после пятичасового сна, когда голова и так не может нормально работать. На работе вряд ли бы на столько удачно основную часть проекта завершил.

Но работа над сайтом после отпуска не закончилась. Ещё потребовалось переделывать программную часть админкы «Джумлы», требование с одной, конечно, странное после того как требовали сайт делать только на этой CMS, а теперь надо было ещё что-то в бэкенде переделывать. С другой стороны и это оправдано, так как отдельно присваивать мультикатегории не было удобно, а до этого с мультикатегориями на «Джумле» ни заказчик, ни мы не работали. Пришлось разбираться с формой редактирования контента в админке — это уже далось сложней, какой-то непонятный код бэкенда получается в сравнении в фронтендом, кое как требуемое сделал, не красиво в коде получилось, так как не нашёл где точно и правильно менять надо, но зато всё заработало как просили.

Через несколько недель сайт внезапно стал трёхъязычным. С JoomFish! ранее работал и особых проблем с её установкой не было, только с трудом разобрался на французском сайты Джумлы где её перевод качать. Но в итоге перевод тегов и мультиакатегорий отказался выводится — пришлось снова перелопачивать скрипты и исправлять обращения к базе, чтобы срабатывал вызов перевода, и переписывать условные операторы, чтобы они работали с переведенным содержимым.

В общем, работа над проектом понравилась и запомнилась. Смотрю, в офисе остальных он прилично достал и некоторых даже передергивает. А мне такое нравится, нравится, когда заказчик конкретно знает чего хочет, даже если требования слегка необычные и строгие. Это лучше того, когда часть функционала сайта самому приходится на ходу во время создания придумывать, а потом ещё переписывать, когда после показа клиенту оказывается что они хотят часть переделать.