CMS

индекс
77,39

Joomla 1.5 глазами разработчика

Joomla 1.5
Joomla является достаточно известным и взрослым проектом, мало найдется людей, кто никогда не слушал об этой CMS. Многие хабравчане работали и работают с ней. Не так давно (чуть больше года назад) все сильно поменялось, вышла стабильная версия 1.5. Это событие означало огромный поворот в развитии проекта в правильном направлении, переход на модель MVC, создание собственно фреймворка, лечении «детских» болезней ветки 1.0.
Мне, как человеку привыкшему к первой ветке, изначально было сложно заставить себя перейти на новый уровень.
Но теперь, я хочу упростить этот переход для других пользователей и открываю цикл статей по знакомству с внутренним устройством Joomla 1.5


Установка


Установка полуторной версии Joomla мало чем отличается от установки первой версии, однако есть два момента,
теперь инсталлятор не проверяет доступность папок на запись, однако теперь можно включить режим FTP в админке, мне не кажется это хорошей идеей, поэтому дальше я приведу список папок, которым неплохо бы выставить права на запись:
  • administrators/backups
  • administrators/cache
  • administrators/components
  • administrators/images
  • administrators/language
  • administrators/modules
  • administrators/templates
  • cache
  • components
  • images
  • images/stories
  • language
  • logs
  • media
  • modules
  • plugins
  • plugins/autentification
  • plugins/content
  • plugins/editors
  • plugins/search
  • plugins/tmp
  • plugins/user
  • templates
  • tmp


После установки, вам также предложат вручную удалить папку installation
Претерпел изменения и файл конфигурации, теперь конфигурационные переменные хранятся не в массиве а в классе JConfig.
Из новых параметров следует отметить только параметр legacy, который позволяет включить режим совместимости с 1.0 веткой.
Также в параметрах появилось возможность включить SSL.

Структура директорий


В этом раделе я упомяну наиболее важные директории CMS и их предназначение.
  • administrator Директория традиционно отвечающая за back-end, т.е. за админку сайта. В ней есть также важные поддиректории:
    • components сюда сохраняется вся back-end часть компонентов, т.е. та их часть что предназначена для работы администратора.
    • includes здесь хранятся файлы реализующие Application Layer в приложении. (Об этом поговорим пожже)
    • language в этой папке хранятся локализации back-end'а
    • templates директория с шаблонами back-end'а
    • modules папка с администраторскими модулями, такими как toolbar, или панель быстрого доступа.

  • components в этой директории хранятся файлы всех установленных в системе компонентов. Каждый компонент обязан иметь определенный набор файлов предписанный API и выбранной моделью, это обсудим чуть ниже.
  • images папка изображений joomla, имеет важную подпапку stories в которую сохраняются пользовательские изображения.
  • includes — папка с файлами реализующими Application Layer, однако множество файлов в этой директории оставлены для совместимости со старой версией CMS
  • language это лишь локализации front-end'а
  • libraries содержимое этой директории реализует Framework Layer CMS, в ней хранится как сам фреймворк joomla, так и сторонние библиотеки необходимые для работы.
  • modules — это модули front-end'а
  • plugins в предыдущей версии CMS, они назывались Мамботы (mambots), с точки зрения проектирования, плагины — это обработчики событий, они вызываются компонентами в определенное время генерации контента, например перед его размещением.
    Самым простым примером может послужить плагин безопасной вставки email'а, перед размещением контента, компонент вызывает этот плагин, который находит все вхождения emailов на странице и шифрует их, делая недоступными для спамботов.
  • templates — пользовательские шаблоны, шаблоны joomla очень сильны в своей реализации, при этом они остаются достаточно просты для изготовления даже не специалистом. Особенно это стало удобно именно в новой версии.
  • xmlrpc — в этой папке собраны файлы реализующие доступ к сайту по протоколу XML-RPC


Заключение


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

_________
Текст подготовлен в ХабраРедакторе
+22
3 февраля 2009, 12:47
47

комментарии (108)

+1
stboris #
Продолжайте, интересно.
+1
kudarets #
было бы интересно прочитать о том, как маой кровью перенести проект с 1.0 на 1.5
0
Vass #
Хорошая мысль, я подумаю об этом.
0
tass #
все зависит от проекта… в случае большого количества кастомных компонентов проще может быть переписать с нуля;)
+1
Vass #
Не то что проще, я единственно верный путь. а для обычного перехода, есть возможность использовать специальный компонент миграции, я напишу об этом пожже.
0
xkspy #
напишите об этом обязательно, т.к. очень нужная информация. лиж бы только не пропустить.
0
rnbworld #
Согласен, хотя некоторые компоненты линейки 1.0 совместимы с линейкой 1.5 (надо включить мамбот Legacy Mode). По мне, проще по-новой информацию вбить (или импортировать материалы в БД через sql-запросы).
+1
zelenin #
если время ждет, то лучше подождать, поскольку работа над 1.5 завершена, уже работают над 1.6. Стоит дождаться ее выхода и переносить уже на нее, чтобы потом не получилось каких костылей.
0
Sashok #
Часто на коммерческих хостингах без использования режима FTP новые расширения ставятся с владельцем Apache на файлы. И потом редактировать код этих файлов практически невозможно.
0
Vass #
Да известная проблема, но как правило на коммерческих хостингах в cPanel есть такая штука как файловый менеджер, который позволяет работать с фалами с правами Apache, что позволит поставить доступ и для других пользователей например FTP
0
Mar1k #
Сталкивался с этой проблемой. На моем хостере она решает выполнением простого php-скрипта, если что могу его скинуть. Юзил уже его раз 20 — работает как часы
0
catbegemot #
Я пользуюсь phpsuexec (PHP as CGI), мало того что решается описанная вами проблема, заодно гораздо легче определить «хозяина» скрипта, который отнимает слишком много ресурсов или шлет что-то куда-то.

Но некоторые хостеры не умеют phpsuexec настраивать, так что это не всегда лучший способ решения проблемы.
0
antirek #
Только хочу перейти на joomla с самописного трехлетнего движка.

продолжайте, пожалуйста. буду пробовать на практике.
+1
Mar1k #
Попробуй поюзить поиск. По джумле ведутся специальные базы знаний, есть мануал и много форумов поддержки — они помогают в освоение системы. Проверял на себе лично! =)
0
maashaa #
Подскажите, пожалуйста, а есть в Joomla рейтинги и карма, такие как на Хабре?
+7
homm #
Да там даже корованы грабить нельзя!
0
Vass #
Тут вы правы :) корованы грабить нельзя.
+2
homm #
Просто странные у Марии Алексеевны критерии выбора CMS. Карма — это одно поле в таблице пользователей, а рейтинги — в таблицы статей. Сделать и то и другое очень просто, а вещи которые дейстительно нужно знать при выборе CMS не спрошены.
0
Vass #
кармы в стандартной поставке Joomla нет, а вот рейтинги статей имеются в наличии сразу из коробки
0
dorohoff #
Есть масса «социальных» плагинов (мамботы, компоненты), в которых и карма, и дхарма и любые рейтинги. Джумла для портальных проектов подходит идеально по моему мнению. Для социальных есть специально заточенные движки. Например, форумы для Джумлы мне не очень нравятся, пока по крайней мере. Блог получается на Джумле супермегакрутой, но с Вордпрессом разобраться проще и работать быстрее.
+3
PiSaiK #
Ну тут палках о двух концах. Как создатель кучи сайтов (более 50 штук) на CMS joomla могу сразу сказать, что она идеальна для сайта визитки, интернета магазина, информационного портала и прочей мелочи. А если захотите сделать что-то крупное, примеру социалку, то тут вас ждет разочарование. Кол-во запрос жесть, компоненты кривые. И во поймете, что лучше вложить под индивидуальные проекты писать индивидуальные CMS
0
voooz #
Интернет-магазины под Joomla не очень хороши, Соби2 — тоже хреновое решение.
А вот для информ. сайта, визитки — очень и очень неплохо.
P.S. Я так-же разработчик на данной CMS
0
PiSaiK #
Не скажи. Я тут в прошлом месяце вложил силы, не только свои, в разработку двух магазином как раз под Joomla. Скажу честно, что получились весьма достойные решений. Тут самое главное руки золотые и чтобы не пахли.

СОБи2 это каталог, но не каким образом не магазин.
0
voooz #
Я недописал про каталог.
Про руки — да, делается конфетка, но вообщем. Функционал, удобство админ. магазина Виртуемарта меня совсем не впечатлил, ШопСкрипт и его клоны мне показались гораздо удобней в работе, особенно когда товара за 2000.
0
catbegemot #
У VirtueMart (не)одна серьезная проблема — для вывода товара используется код из /administrator/components/virtuemart, что вообще говоря не правильно.
0
PiSaiK #
Это в старой версии 1.0.хх, в новой из 1.1.хх берутся из /components/virtuemart
0
catbegemot #
Это в версии 1.1.2, недавно как раз на ней собирал магазин, так что воспоминания еще свежи.
0
dorohoff #
Виртуемарт как магазин не лучшее решение с т очки зрения бухгалтерии или программирования. Зато удобно в связке Джумла — Виртуемарт делать информационно-коммерческие сайты, где есть и статьи, и блог, и комментарии и интернет-магазин. Кто пробовал постить новости в Оскоммерс, то поймет. Виртуемартом вполне можно делать магазины до 1000 товаров. Если больше, то лучше действительно ШопСкрипт, ПХПШоп или тот же Оскоммерс. Главный недостаток Виртуемарта — малый функционал по работе с группами товаров. Например, нет удобного группового изменения цен на все товары или на категорию, приходится извращениями заниматься.
0
dorohoff #
Абсолютно не согласен с мнением, что сайт-визитку хорошо делать Джумлой. Это как из пушки по воробьям. Есть масса более простых и легких движков, которые гораздо дружелюбнее к ламерам. А пользоваться визитками зачастую приходится именно ламерам.
0
hemilion #
конечно продолжай, Joomla — хорошая цмс.
Интересен был бы сравнительный анализ с другими (Drupal и т.д.) увидеть в продолжении или в отзывах.
+4
stalkers #
дык… холивар будет обеспечен. Вот для начала пара минусов Джумлы (я имею ввиду «базовую» поставку, а не кучу модулей и компонентов под нее; имеется также ввиду доступность настройки параметров через админку, поскольку Джумла продвигается как «CMS с человеческим лицом»), которые портят всё впечатление:
— слабо развита система категоризации контента: раздел -> категория -> статья. И всё. Приплыли.
— аналогично плохо развита система прав пользователей. 6 ролей доступа. Без возможности правки, добавления и удаления. Бред какой-то.

Хотите увидеть CMS, в которой эти вещи реализованы на порядок лучше? drupal.org — милости просим :)
+4
neochief #
Да, холиварщики уже наготове :)
0
dobradmin #
где тут настоящие боевые пидорасы… ой простите хотел сказать тролли…
Не надо сравнивать просто про джумлу расскажите.
А stalkers пусть за дрюпель говорит.
НЛО прилетело и опубликовало эту надпись здесь
0
Vass #
Такого не проскакивали, я специально поискал, перед тем как писать
+1
maxic #
C точки зрения архитектуры.
Честно говоря не понятно разделение компонентов от plug-ins.
>компонент вызывает этот плагин

А может не надо было разделять. Были бы просто компоненты. Неужели тяжело было сделать, чтобы компонент сам себя определял в каком «виде» себя вызывать? Ведь такие разделения запутывают логику.

Можно было бы сделать все одной логикой Modules, зачем разделять на компоненты, модули и плуги :)?
Одна логика Модули с настройками и всё.
0
PiSaiK #
Очень удобно использовать именно такую структуру. Компонент, модуль, мамбот( плагин), шаблон
1) Компонент соответственно то что отвечает за вывод типа материалов, будь то каталог или магазин, или еще что
2) Модуль вывод краткой информации из компонента. Например: последние комментарии
3) Чаше всего расширения для компонента. Например визуальный редактор или кнопки добавить в соцзакладки
4) Шаблон это понятно. Это общая набор из не скольких типов файлов: графика, стили CSS, расположение модулей и компонентов в одном файле
0
maxic #
1) Это же может сделать модуль
2) Вызов модуля из модуля
3) Модуль
4) Вызов модулей из шаблонов

Заметили везде значится только слово модуль :)
–2
PiSaiK #
В таком случае будет путаница. Описанно в joomla иерархия делает четкие разделения функционала каждое единицы. В вашем случае, уже не понятно, какой модуль. надо вывести в модуле, в модуле шаблона? масло масленное, а иерархия святое
+1
maxic #
Иерархия в joomla :)))? Не смешите.
Из-за того, что все разделено и представляет на сегодня такую путаницу с расширениями, что и представить нельзя.
Вы лучше не защищайте по «фанатски», а проанализируйте. Ведь вы сами знаете какая сейчас путаница с расширениями.
А иерархией компонентов, плугов и модулей там и не пахнет. Как раз скорее наоборот. Бардак.
У joomla есть и большие достоинства, но если есть «пробелы» в архитектуре, то они есть, и это факт.
0
PiSaiK #
А я и не защищаю, я просто знаю и уважаю Joomla. И на счет путаницы, видимо мало работали с Joomla. Если будет большой опыт, сразу станет все четко на свои места. Поверь… Говорит, один из суппорта Joomla ;)
0
maxic #
Поверьте перед тем как написать свой проект, я год анализировал код joomla, drupal, bitrix и т.п.
Я рассматриваю, как в топике, с точки зрения разработчика.
И могу с уверенностью сказать, что можно было бы и не разделять. Оставили скорее всего потому, чтобы можно было, более — менее, версии расширений «совмещать» :)
Хотя, нужно было бы принять стратегическое решение и отказаться в пользу новой архитектуры. Говорит один из разработчиков ;)
0
maxic #
На начальной стадии в моем проекте тоже столкнулся с ситуацией поведения модулей. Совершенно верно вы замечаете, можно было по старому пути joomla и разбить на модули на группы по поведению, но я избрал немного труднее путь и в итоге: полностью унифицированный код, сам код сократился в 2 раза, исчезла путаница, нормальная работа контроллера.
0
PiSaiK #
Модуль, модуль. Еще раз повторю компонент это ядро вывода информации, модуль выводит краткую информацию, а плагин расширяет возможности компонента. А как в Вашем случае должна быть структура, если есть только модуль? Моудль для модуля?
0
Jameson #
компонент — ядро вывода информации, модуль выводит краткую информацию, а плагин расширяет возможности компонента

слишком общо. можете проиллюстрировать на конкретных примерах эту иерархию?
0
PiSaiK #
Канечна.
Берем самый стандартный компонент Joomla com_content. Компонент отвечает за вывод статей на сайте. В Базовой конфигурации, статья содержит заголовок, дату создания, дату редактирования и имя автора, и конечно ссылку далее
Т.е.
Название
0
PiSaiK #
Название
Дата создания
Дата редактирования
Имя автора
Текст
Ссылка — далее

Допустим мы хотим, добавить возможность добавлении страницы статьи в соцзакладки (как сейчас модно). Для этого есть мамбот (плагин). Устанавливаем и опубликовываем. В итоге у нас будет выглядеть так

Название
Дата создания
Дата редактирования
Имя автора
Текст
> Ссылки добавить в закладки
Ссылка — далее

Или берем компонент поиска, тоже уже в комплекте. По умолчанию он ищет только в компоненте com_content. А у нас еще и магазин установлен Virtuemart. Для этого мы устанавливаем мамбот поиска по данному компоненту. Уаля. Компонент поиска ищет уже и в магазине
0
Jameson #
это вы рассказали про компонент и плагин, а как насчет «модуль — выводит краткую информацию»?

и вот еще что было бы интересно узнать: в какой корреляции компоненты/модули/мамботы находятся с контроллерами/моделями/видами?

а то несколько смущают примеры:
вот только что мамбот добавлл панельку социальных закладок (налицо просто модификация вида (view)), а теперь он уже аж поиск выполняет, т.е. налицо результаты работы как минимум контроллера и модели!
0
maxic #
> Для этого есть мамбот (плагин). Устанавливаем и опубликовываем.
Не понятно, зачем «мамбот» — почему не модуль. И вывод статьи — тоже модуль.
0
PiSaiK #
Сравните словесные конструкции:

1) Модуль для расширения функционала модуля
2) Плагин (мамбот) для расширения функционала компонента
0
maxic #
Не кто не запрещает расширять функциональность модуля, например посредством наследования классов, контроллеров модуля и т.п.
0
Vass #
Плагин может подключаться не к одному компоненту. Например взять тот же несчастный шифровщик емейлов, я пишу свой компонент, отличный от стандартного к примеру, и просто указываю ему пройти всю цепочку плагинов на событие вывода контента, и меня не заботит уже вывод емейлов в моем компоненте, если администратор включил этот плагин, он обработает и мой вывод тоже.
0
maxic #
>Плагин может подключаться не к одному компоненту

В предложенном мною варианте, такого вообще нет :))) Потому, что существует только модуль. А модуль из модуля обязан уметь вызываться, причем не имеет значения из какого. Унификация — это гибкость. Единственный сложный момент — «морока» разработчикам joomla :)
Единственное что, тогда сыграет роль, это порядок вызовов, но это решатся тоже очень просто.
0
catbegemot #
Слишком много — тоже плохо. Гибкость это хорошо, но до определенной степени. Друпал, к примеру, на мой взгляд, намного гибче Джумлы, поэтому им практически не пользуются люди, которым накладно нанимать разработчиков.
+1
maxic #
Друпалом не пользуются потому, что у него ужасное юзабилити, и это факт, который сами признают разработчики. Зато, друпалом пользуются большие компании (IBM, Worner B., Times, Fox и еще куча). Drupal имеет гранты от MS, Google. Не обижайтесь, но joomla называют не иначе, как cms для домохозяек. Там простое юзабилити. Можно ничего не писать, только кликать и этого достаточно для простых сайтов.
0
catbegemot #
О чем я и говорил, совершенно согласен. Вы сами посмотрите — большие компании имеют время и средства заточить Друпал под нужные им задачи, так что гибкость приходится ко двору. Хозяевам же малого и среднего бизнеса, где практически каждый работник исполняет две-три роли (если может, конечно) Джумла подходит значительно больше.

Как говорят умные дяди и тети (себя я к ним не отношу) — у них разные маркеты :)
–1
dorohoff #
А вы не забывайте, что есть плагины к компонентам. И без компонента-основы этот плагин некуда лепить, он просто работать не будет. Отсюда и структура, вполне логичная. Это на первый взгляд неудобно. Лично я привык на второй день и сейчас не представляю, как это может быть по-другому.
0
maxic #
Вот вы сами ответили на вопрос.
Ну неужели нельзя было сделать чтобы модуль (компонент+плуг) сам мог понимать где его вызывают internal. Это настолько легко технически и логически.
А здесь взяли и разделили. Причем если плуг без компонента не работает — маразм.
0
ivlis #
Мне кажется давать права на запись куда-то кроме директории, куда пользователи загружают файлы не особо гуд.
0
Vass #
Как раз все перечисленные директории — это директории куда могут быть загружены файлы, например components, modules и т.д,, администратор сайта устанавливая новые компоненты, как раз помещает в эти папки их файлы.
0
ivlis #
ну админ это делает через шел всё-таки, а не через вебсервер.
0
tass #
не всегда… некоторые компоненты (типа жумфиша) гораздо проще и быстрее поставить через вебсервер… так как там куча файлов в разных местах, плюс куча работы с базой…
+1
ivlis #
Дык это не секурно. Если каким-то ообразом получится исполнить код, через XSS например, то можно будет внедрится в кодовую базу.
0
tass #
ну это есть такое, но можно на момент создания сайта дать доступ на запись, а в продакшене закрыть
0
Vass #
вы не поняли, не админ сервера, а админ сайта. админ сайта может залить готовые компоненты двумя способами:
быстрым: залогиниться в админке, выбрать файл компонента и закачать его, админка сама пропишет необходимые таблицы в Бд и разместить все файлы в нужных директориях.
и медленным: зайти например по FTP, и вручную залить все нужные файлы в определенные директории, после чего создать в БД необходимые таблицы также вручную.

второй способ сложен для непрофессионала. Поэтому остается лишь первый.
И как писал Tass ниже в продакшене все уже можно будет позакрывать.
0
Boyle #
Спасибо. Буду ждать продолжения.
+1
AntonShevchuk #
Одна из самых больших проблем Joomla — это отсутствие правил принятия расширений в репозиторий (собственно такового и нету — лишь список со ссылками), из-за этого даже самые популярные компоненты очень кривые по своей сути, особенно стоит опасаться плагинов переписанных с версии 1.0 на 1.5 — тама просто ужас…
0
maxic #
Этот все из за того, что нет унификации. Разделили Модули на компоненты, плуги и модули. Зачем?
Есть одно понятие модуль — всё, этого достаточнона все случаи жизни.
0
eolexe #
Joomla отличная CMS, и подробное обозренее её возможностей на хабре, будет замечательно. Возможно в серии статей, стоит, так же, упомянуть о самых полезных и интересных, для разработчика, компонентах. К примеру написатть о Community Builder.
–1
dorohoff #
И о Virtuemart. И обзор встроенных форумов. И еще — шаблоны, шаблоны, шаблоны. Кстати, знаю места, где можно бесплатно качнуть 4 гига темплэйтмонстровских платных шаблонов с psd-шниками и мануалами.
–2
dorohoff #
Это нелегально… зато бесплатно. В торрентах. Например, здесь есть много шаблонов, и не только для Джумлы. Пользуйтесь поиском, я уже не помню где что стянул. Помню, что плохо лежало :-)
0
inlanger #
Интересует разработка собственных модулей для этого движка… Потому как сейчас делаю сайт на жумле, и катастрофически не хватает готовых модулей!
0
tass #
проще всего это сделать взяв какой-нить стандартный и переписав его под свои нужды
0
inlanger #
именно этим и приходится заниматься почти всё время… Не у всех модулей код в удобно читаемом виде :)
0
tass #
дак выберите один какой-нить… сделайте из него скелет модуля/компонента/плагина и уже используйте
0
Vass #
С модулями-то как раз все просто. Будет и это.
+1
Mar1k #
Самым большим недостатком Joomla считаю это работу с группами пользователей и наделение их правами. Есть конечно же хак JACL, который практически полностью решает и эту проблему, но использовать его можно только на свой страх и риск!
В остальном движок изумительный и расширений к нему туча: на любой изыскательный вкус, цвет и полет фантазии! Плюс информации по системе в интернете огромное количество, много специализированных сайтов и форумов.
По-моему мнению, один из самых интересных и перспективных Open Source проектов на настоящий момент.
0
zelenin #
сейчас в разработке версия 1.6. В основном как раз работают на новыми компонентами ACL и бэкапа.
0
n1tr0k1ll3r #
А можно ли на Joomla сделать простой сайт-визитку с несколькими страницами без сильных заморочек? Я понимаю, что можно и самому без CMS, но всё же?
НЛО прилетело и опубликовало эту надпись здесь
0
dorohoff #
100 % согласен, WP для визитки самое то. И еще останется потенциал роста. Джумла тяжеловата для визитки. Это все равно, что на танке за пивом ездить. Кеды удобнее.
0
Mar1k #
На Джумле можно практически все! Но для простой визитки использовать такой движок наверное не очень целесообразно, если только в перспективе развития =)
+1
tass #
зато простую визитку на жумле можно сделать за час не залезая абсолютно в файловую систему
0
Mar1k #
Да, дизайн шаблончик написать (или скачать), инфой полить и хостинг надыбыть =)
0
n1tr0k1ll3r #
Перспективы развития есть, но теоретически :) Кто его знает — сейчас пока не надо, но если фирма будет работать нормально и появятся другие направления работы, то может и придется делать.

В общем, надо будет глянуть что-нибудь попроще, т.к. изначально много информации не планируется.
0
catbegemot #
Попроще — WP.
0
n1tr0k1ll3r #
Спасибо. Гляну его.
+1
q_styler #
По работе приходится приходится очень тесно работать с джумлой. Надо сказать, что это действительно очень хороший движок.
Но когда я начинаю копать глубже, я раскрываю широко глаза и кричу: «И как они блин ухитрились сделать так, чтобы это всё ещё и работало!!!»
0
Vass #
Имхо в джумле как раз еще все не так страшно, хотя тоже бывает конечно.
Тут на хабре были разносы некоторых движков, вот там действительно страх.
0
tass #
тем не менее до сих пор (как минимум на момент версии 1.5.8) в жумле лежит непропатченный пхпмейлер с его широкоизвестным косяком при работе с длинными утф сабжами
0
q_styler #
Дело не в том, что криво написано. Написано-то нормально.
Меня поражают размеры этакой махины.
+1
Mel #
Интересно было бы почитать о создании компонентов и модулей.

Про шаблоны очень хорошо расписано в этой статье
www.compassdesigns.net/tutorials/208-joomla-15-template-tutorial.html
0
kydapodatsya #
обязательно продолжайте…
+1
DIDJER #
joomla при всём моём уважении отличная дрянь, использовав её одно время я понял что само ядро без оптимизации настолько сильно нагружает для небольшой посещаемости что кроме как делать сайты-визитки для небольших контор она не сгодится, ну или для друзей выкладывать файлы и общаться во внутреннем форме. Программировать под неё вообще бред, так как структура данная как мне кажется уже устарела и нужно выбросить старую модель программирования из умов нашей молодёжи :)
0
tass #
мвц устарела??? о_О а что сейчас используется почти везде тогда?
0
maxic #
А там «нормальная» MVC есть? :)))
Проанализируйте код — ответ придет сам собой. Только анализ делайте не по «фанатски».
0
tass #
та мвц что там есть меня вполне устраивает… больше чем зендовская, но меньше чем рельсовая

такой ответ устроит?
0
maxic #
нет ;)
Нормальным mvc там и не пахнет. Подделочная jmvc :)))
Пока не увидели фаны zend fw, сравнивать с zend не надо ;)
Основной плюс joomla — её юзабилити, для простых людей (из-за этого и большое кол-во расширений (правда больше половины кривых)), на этом всё заканчивается.
0
tass #
ну я расширения всегда допиливаю либо пишу свои, так что их кривость меня мало волнует… жумлу я использую больше как готовый бекенд и класс для работы с бд, ну и по мелочи всякая дрянь из library
0
maxic #
Ответ простой — устаревшая архитектура. Все проблемы из-за архитектуры. А менять её — это все равно, что писать с нуля новую cms.
НЛО прилетело и опубликовало эту надпись здесь
+2
DenisO #
Выше — только констатация фактов о структуре файлов в джумле. Это скучно и имеет мало смысла. Было бы гораздо интереснее услышать о + и — новой джумлы.
+2
maxic #
А еще лучше, архитектуру. Не APi, а именно архитектуру. Желательно (обязательно скорее) с диаграммами.
0
catbegemot #
С какими диаграммами? :)
+1
maxic #
Мда, для joomla — это тяжелый «случай» ;)
:))))
+1
RedSnow #
Согласен на 100%.
А про диаграммы тут ru.wikipedia.org/wiki/UML
+1
gaki #
Ознакамливали с внутренним устройством, ознакамливали, а даже не упомянули, на чем оно написано-то вообще…
0
handymade #
было бы полезно написать о внутренних функциях, объектах и методах Joomla 1.5
чтобы в шаблонах и при редактировании и написании компонентов понимать что из чего следует

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.