Почему я использую Joomla (продолжение)

Все познается в сравнении. Привыкаешь к гибкости и функциональности CMS. Настолько, что оно кажется естественным и нормальным. Например, создать меню и вывести его в виде модуля в нужном месте, назначить главной страницей любую другую на сайте, на выбор. Создавая шаблон, структурировать его в одном единственном index.php, а модуль устанавливать для всех шаблонов. Можно долго перечислять. Лучше расскажу реальный случай из практики.

Ликбез по созданию и расширению меню

1) Создание меню. 

  • Создаем меню через менеджер меню в панели администратора ( Крестик «Создать», заполняем все поля, «Сохранить»).
  • Выбираем в списке  созданное меню, жмем «Создать», из списка выбираем нужный пункт, пишем заголовок, псевдоним, сохраняем.
  • Создаем еще несколько пунктов.

В панели администратора заходим в менеджер модулей ( Расширения => модули ), над списком модулей находим кнопку «Новый» ( Крестик ). На открывшейся странице находим пункт «Меню», жмем на него. Слева в верхней строчке пишем название модуля, оно же будет заголовком, выводящимся на странице. Варианты включить и выключить для отображения заголовка ( показать или скрыть его на странице сайта ), включить или отключить модуль. Выбыраем из списка позицию шаблона, в которой будет выведено меню (например «top» или «left»). Ниже: выбор группы пользователей, для которых показывать меню, дополнительные стили для меню.

Справа видим выпадающий список со всеми меню, выбираем по

Ликбез по CSS спрайтам

CSS спрайты — это вывод отдельных элементов единого изображения на веб — странице. То есть одна большая картинка, либо несколько разных, но объединенных в один файл рядом друг с другом. Зачастую подобным образом группируют множество различных иконок. Разработчики называют подобный файл мастер сеткой. В качестве примера возьмем одну картинку, из которой нам нужно вывести в разных частях страницы различные ее элементы. Как вариант, порезать ее на куски и определять каждую часть отдельно, 1 элемент — 1 отдельный файл. Впрочем еще несколько лет назад именно так все и делали. Простейший вариант по своей сути. Но данный метод имеет один существенный недостаток, а именно — количество HTTP запросов, которые отсылает сервер браузеру. Одна картинка — это один запрос. Чем их больше, тем дольше будет загружаться страница. Посему CSS спрайты в первую очередь служат для сокращения количества этих самых запросов.Выше на картинке вполне четко показан принцип работы CSS спрайтов если представлять

Иконки для сайта посредством Font Awesome

Font Awesome: бесплатный иконочный шрифт в стиле Twitter Bootstrap.

Каждому разработчику шаблонов периодически приходится сталкиваться с нудной работой над детализацией интерфейса создаваемого шаблона — иконками. Это могут быть, как иконки социальных сетей, так и интуитивная графика для обозначения времени создания материала, полей ввода логина и пароля, оформления кнопок визуального редактора и т.д. Сайт может содержать в себе несколько десятков подобных изображений. Которые нужно правильно оптимизировать, собрать в спрайт-сетку, затем вычислить положение каждого изображения сетки, затем спозиционировать его в качестве фонового изображения к каждому элементу. Зачастую эта кропотливая и нудная работа занимает больше времени, чем верстка всего шаблона в целом.

Сообщество разработчиков Joomla

Сообщество Joomla — это миллионы людей, использующих на своих сайтах Joomla CMS. Так же это коллективы профессиональных разработчиков web-сайтов, использующих в своей работе Joomla. Подобные коллективы существуют во многих странах мира и во многом сотрудничают между собой. Готовят локализации на языки своих стран, создают расширения, которыми пользуются люди во всем мире. Аналогичное сообщество существует и в нашей стране. Точнее, в странах бывшего СССР. Наше сообщество — это высококлассные профессионалы: программисты, дизайнеры, верстальщики, seo-специалисты и т.д. Обычно это фрилансеры, но есть и вполне самостоятельные студии web-разработки.

Чем мы отличаемся от обычных фрилансеров? Можно, конечно же, пафосно заявить, что знаниями! Но об этом за нас пусть скажут наши работы. От прочих разработчиков мы отличаемся, в первую очередь, коллективностью. У каждого фрилансера рано или поздно случаются накладки в работе, когда он по каким то причинам не может ее выполнить. Заболел, а может

Выбираем CMS

Пожалуй стоит начать статью не с описания достоинств, или рассказа о преимуществах использования системы. Об этом уже достаточно сказано в материалах моих коллег. А сделать сравнение платных, бесплатных и даже студийных CMS.

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

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

Условия в шаблонах

Что это и зачем они нужны? 

Простейший пример применения условий в шаблонах Joomla. У нас имеется сайт, на главной странице которого мы выводим левую колонку, ну внутренних страницах правую, или вообще никаких левых/правых контитулов, в только один контент-блок во всю ширину рабочей области. Или еще проще пример, выключаем модуль в позиции, вместе с ним прячется и вся разметка блока, обрамляющего модуль. Это и есть работа условий шаблона. 

jdoc:include - метод отображения контента на странице.

В статье Создание шаблонов для Joomla мы поверхностно коснулись темы методов вывода контента в теле шаблона. Давайте теперь подробно разберем что это и с чем его едят. Итак, объявления метода jdoc присутствуют  в каждом шаблоне Joomlaи выводят в тело шаблона (то бишь на страницу сайта) ту или иную информацию. В целом объявление метода выглядит следующим образом

<jdoc:include type="component" />

Данная строчка выводит на сайте информацию из компонентов, например статьи из com_content. Тип элементов вывода указывается в атрибуте.

    1. type — типы элементов вывода.

  • component — как писал выше, выводит основное содержание страницы. Может вызываться только один раз в шаблоне.
  • head — объявляется так же один раз после открывающего тэга <head>. Служит для вывода стилей, скриптов, <title> и метаданных текущей страницы.
  • message - выводит системные сообщения. Объявляется один раз в теле документа (body).
  • installation  — ничего не выводит и

Создание шаблонов для Joomla

Шаблоны практически всех CMS чем то похожи. Это обычные HTML шаблоны, интегрированные с системой. Чаще всего интеграция достигается путем вставки в нужные блоки программного кода, объявляющего те или иные элементы вывода: модулей, сайдбаров, материалов и т.д. Различия лишь в программировании, на уровне HTML никаких отличий нет и быть не может. Joomla в данном случае является классическим примером. Для того, чтобы создать в блоке шаблона позицию для модуля, нам требуется всего лишь вписать в него строчку

<jdoc:include type="modules" name="mymodule" />

Где <jdoc:include /> — метод объявления вывода элемента на страницу.

type=«modules» — указания типа выводимого элемента.

name=«mymodule» — название модульной позиции.

Минимальная информация, необходимая для создания позиции в шаблоне. Используется для вывода на странице модулей, например: меню навигации, формы авторизации, «хлебных крошек» и т.д. Так же можно указывать title="" для обозначения подсказки, style="" для