С открытым исходным кодом систем управления контентом (CMS) большое семейство веб-приложений, но если we’ ищете стабильности, производительности и средних технических требований, we’ приду с несколько вариантов.
В прошлом, выбирая “ right” CMS был вопрос project’ требования с, но сейчас это не совсем справедливо потому, что парадигма расширяемости довели развитие основных CMS’ к модели основных функций, расширяемойс плагинами, которые заполняют практически любой requirement.
Выбор правильного CMS является то вопрос “ психического models”: выбирая тот, который наилучшим образом соответствует нашим видением того, как веб-приложения должны работать и какой она должна предоставить пользователям и администраторам.В этой статье we’ VL изучить основные различия в психической models: от WordPress и Joomla для тематизации и расширения их core.
Фон Thoughts
WordPress и Joomla являются двумя из самых популярных открытым исходным кодом CMS’ вокруг.Они предлагают большой и активной сообществ разработчиков и отличным documentation.
WordPress является первым выбором среди дизайнер сообщества в основном из-за его хорошо продуманные задней части и широкая доступность отличной themes.
Joomla, тем временем, страдает от Mambo’ наследие, которое было пресловутой низкой производительности и семантически неверным результатам (например, вложенные таблицы для разметки).Но с момента выхода версии 1.5, Joomla имеет полностью переписанный ядро, с улучшенной расширяемости и более HTML output.
Одно из различий между WordPress и Joomla является их тематизации модели.Сайт разработчика миграции с Joomla на WordPress может почувствовать, что последняя требует слишком много тему кодирования, в то время как разработчик перемещение в другую сторону, может показаться, что Joomla является менее гибким и настраиваемым.Причина этого заключается в различных моделях, на которых эти темы CMS’ являются based.
WordPress’ Темы оформления Model
WordPress’ тематизации модель основана на за просмотр структуры.Это означает, что в каждой теме, вы можете иметь отдельные файлы вид на пост списка, одно сообщение и архив страниц.Эти файлы являются независимыми друг от друга, что позволяет разработчику настраивать каждый вид, но требует, чтобы копировать многие части кода.Только общими частями в теме являются верхний и нижний колонтитулы, которые могут быть закодированы непосредственно в отдельных зрения anyway.
Основным недостатком этой модели является то, что разные взгляды не всегда требуют другогопрезентации (например, архива, список категорий и список тегов только списки).Чтобы преодолеть эту проблему, тему организованы в иерархическую структуру, в которой более общие представления используются как откаты за конкретными.Общий резервный для темы WordPress является index.php файл, который на самом деле требуется только файл (вместе с таблицей стилей) в теме.Полный справочник и визуальные диаграммы иерархическую структуру темы WordPress доступны here.
The Loop и шаблонов Tags
Чтобы лучше понять, как тема WordPress работает, мы должны более внимательно на “ loop” tags.__4 и шаблоны |
Все данные на должность или список сообщений извлекается через петлю.Петля в основном while
конструкция, которая начинается с этого заявления:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> // post output here <?php endif; endwhile; ?>
Наиболее важная часть этого кода составляет the_post()
, который инициализирует глобальные $post
PHP объект, содержащий все страницы данных.Циклу также требуется для одного вида поста, потому что все функции для представления данных опираются на присутствие $post
объект.Эти функции вызываются теги шаблонов, а их основной целью является вывод данных в формате.Как правило, они не выводить теги HTML, так что они могут быть использованы в различных scenarios.
Полное руководство по теме развития доступны here.
Joomla’ содержимому основе Model
Joomla имеет совершенно другой подход тематизации.Joomla’ с шаблонами построены на общей структуры, определенные в index.php file.
Этот файл содержит как статический контент (т.е. содержания, которое является общим по всему сайту) и теги шаблонов, которые служат местом содержания правообладателей и заменены на HTML выход во время рендеринга страницы phase.
Распространенной формой для шаблона теги:
<jdoc:include type="modules" name="right" style="xhtml" />
Шаблон теги различаются по типу содержания, которое они обеспечивают: компонент, сообщений, модуль, head.
Эта структурная основа подразумевает, что каждый вид в CMS выводит не всю страницу, а просто what’ S необходимо представить содержание.На первый взгляд, разработчики привыкли к тематизации модель WordPress может подумать, что there’ нет способа настроить этот блок содержимого.В самом деле, Joomla опирается на MVC архитектурных pattern Это означает, что извлечение данных и представления разделяются, причем последние оказывают мнению части application.
Шаблон Customization
Для настройки по умолчанию, Joomla имеетшаблон под названием шаблона коррекции, с помощью которого система сканирует папки шаблонов для пользовательских файлов целью использования в место по умолчанию.На рисунке ниже показана структура папок и именования вид по умолчанию, и его override.
Пример папок и файлов структура переопределения шаблона Joomla (от “ ja_purity” шаблон).
Joomla коррекции являются отличным способом, чтобы настроить шаблон сайта без хаков.Тем не менее, они часто упускают из виду, и Joomla’ с поддержкой устаревших расширений делают эту модель непригодна даже для популярных пакетов, таких как Virtuemart (которая использует встроенный в шаблон системы)
Полный справочник для Joomla’ система шаблонов с доступно here.
За Core
(Изображение от jared)
В последние несколько лет, плагины сделал большой разницы в индустрии программного обеспечения, одна из самых ярких примеров бытия Mozilla Firefox.
Как мы уже отмечали, современные CMS’ разработаны, чтобы быть расширяемым, что позволяет нам использовать основные качестве основы и строить специализированные части на вершине.Этот результате модульная конструкция является эффективной моделью развития по многим причинам:
- Лучшая ремонтопригодностьРазработчики don’ T нужно изменить основной для того, чтобы добавить или настроить functionality.
- Легкий и безопасныйТолько функции, которые необходимы включены, в результате чего меньше потребление памяти, меньше базу кода и меньше vulnerabilities.
- Отдельные циклы разработки для ядра и особенностиПредлагая расширений API, сторонние разработчики могут добавлять новые функции, в то время как основная группа фокусируется на надежность и производительность system.
С проектов с открытым кодом, этот последний пункт и благословение и проклятие.К услугам гостей общие усилия в области развития, но приводит к непроверенным работе и менее организованные workflow.
Joomla и WordPress пытались преодолеть это проклятье, предоставляя кодирования руководящих принципов.Тем не менее, мало усилий тратится документирования фоновых и фронтального интерфейса design.
Помимо их различные именования, расширения моделей WordPress и Joomla отличаются тем, как сторонний код взаимодействует с ядром по среднему расширения API.
Ключевым моментом для понимания является то, что в то время как Joomla на основе шаблона MVC, WordPress опирается на события, как системы, к которой расширения могут быть подключены.Let’ посмотрим на некоторыеdetails.
WordPress’ Hook Method
WordPress’ Расширения модель основана на выполнение множества функций, подключенных к системе потока средняя “ hooks.”
Крючки содержать перечень функций, которые запускаются в различных точках, как WordPress работает.Они манипулируют (в случае фильтра крючки) и выходной (в случае действия крючки) базы данных и могут быть доступны внутри самой теме и от специализированных плагинов package.
WordPress отсутствует полная документация …
Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров