Все познается в сравнении. Привыкаешь к гибкости и функциональности CMS. Настолько, что оно кажется естественным и нормальным. Например, создать меню и вывести его в виде модуля в нужном месте, назначить главной страницей любую другую на сайте, на выбор. Создавая шаблон, структурировать его в одном единственном index.php, а модуль устанавливать для всех шаблонов. Можно долго перечислять. Лучше расскажу реальный случай из практики.
Решили удешевить проект и организовать его на магазинной CMS. Сам по себе магазин намного выигрывает все компоненты магазинов на Joomla. Ну, это на мой субъективный взгляд конечно же. Ничего лишнего, с точки зрения покупателя все идеально. С точки зрения продавца — есть только админка магазина, в которой только функции для этого магазина. Нет множества настроек и т.п., что изначально пугает неофитов в Joomla. ТЗ несложное, рассчитывал отстреляться максимум за неделю. Но не тут то было. И проблема в том, что кроме магазина в нем ничего нет. Даже нормального меню навигации. Доступа к управлению пунктами нет. Шаблон магазина имеет только четыре модульные позиции (верх, низ, право и лево). Если мне нужно вывести контактную информацию в шапку сайта, то скорей всего мне придется это сделать напрямую в файл шаблона, изменять эту информацию — соответственно. Любой джумлавод скажет: «А в чем проблема то? Создай новую позицию, создай модуль „Произвольный HTML и дело в шляпе!“ Не выйдет. Для того, чтобы создать новую позицию, нужно расковырять пару-тройку системных файлов, описать новую позицию на php там, затем эту позицию описать еще и в файлах требуемого модуля. Как то так. Модуля HTML там кстати тоже нет по-умолчанию. Есть сторонние. Отыскал я один такой, поставил. Ставятся они распаковыванием и заменой файлов в корневой директории. Все расширения ставятся для шаблона default. Иногда не только на уровне названия папки под замену, но и в путях к стилям модуля, или еще хлеще — путям к файлу модуля. Кто знаком со смарти, тот знает что такое привязка файлов шаблона с определенными именами. Так вот, там смарти и есть. Файлы модулей — это не только файлы шаблона, но и контроллеры, модели со ссылками именно на файл в папке шаблона default. Весело? Это еще что, по сравнению с двумя сотнями файлов самого шаблона. Смарти — это смарти.
Разработчики этого магазина нашли выход установки расширений, требующих перезаписи системных файлов — это vqmod. Частично решили проблему с установкой. Но, опять же, почему не сделать нормальную систему инсталляции внутри CMS? Почему не сделать нормальный алгоритм расширения модульных позиций?
Потребовалось создать верхнее горизонтальное меню. Оно есть по-умолчанию. Только это меню из категорий, без доступа к изменению. То есть создать какой то свой пункт, „Новости“ например, в нем уже невозможно без хака CMS. Всерьез задумывался о мосте для магазина с Joomla.
И таких вот моментов в работе было много. Когда у нас есть удобный инструмент, то начинаешь забывать, что его достоинства именно — достоинства, а не обыденность. Позднее уже стал осмысливать это все, вспомнил, что для других CMS (некоторые даже числятся в списке популярных) все эти несуразности считаются вполне нормальными вещами. В DLE баннеры вставляются каким то хитрым методом, почти напрямую в шаблон, но именно напрямую его туда вставить более рационально, чем мастурбировать с его дефолтными „удобствами“. Вспомнился вордпресс с его блоговой нерасширяемостью. Кто то на WP даже магазины делает, собственными глазами видел подобное извращение. На многих CMS впиливать в шаблон менюшку вместе со ссылками — норма... По сути, это приверженцы Joomla не совсем нормальные. Остальные впиливая клиенту это меню не думают, как он впоследствии сможет добавить в него новые пункты, или же удалить устаревшие. Зачем тогда вообще нужна Система Управления Контентом? Если сайт будет на голом HTML, то для клиента он будет не более доступным, чем на такой CMS. Это хорошо, если обновления на сайте проводит разбирающийся в этом человек. Но чаще администрированием занимаются менеджеры, секретарши, или администраторы локальной сети внутри предприятия.
Такое вот небольшое сравнение обычных для сайта вещей. Оказывается это Joomla не совсем обычна, если сравнивать ее с другими системами.