Joomla! CMS - самая популярная CMS!
По данным ITrack за 2012 год в зоне RU 33% сайтов управляются Joomla! CMS. Она занимает первое место среди CMS и прибавила 3% к своей доле с 2010 года.
Я использую Joomla! CMS для всех сайтов над которыми работаю. Я собрал коллекцию расширений для Joomla! CMS, которые делают работу с сайтом максимально удобной и быстрой. В сравнении с другими CMS Joomla! CMS обладает наиболее гибкими и широкими презентационными возможностями, которые я чаще всего и использую. Для интернет-магазина и мощных социальных сетей я бы рекомендовал использовать профильные движки. Для всего остального, в том числе многопрофильных сайтов, используйте Joomla! CMS.
В данный момент существует две основные версии Joomla! CMS:
- 1.5 - устаревающая версия, но большинство сайтов, созданных на Joomla! CMS в конце 2000-х на ней.
- 2.5 - новая версия, позволяющая просто обновлять CMS и компоненты - то есть всегда иметь последнюю версию движка.
Скачать Joomla! CMS - Русифицировать
Расширения, плагины, модули
К2
Более совершенный компонент для публикации страниц сайта, чем компонент "Материалы" установленный в Joomla! CMS по умолчанию. К2 динамично развивается и «дружит» всё с большим количеством других компонентов и веб-сервисов. Теги, комментарии, рейтинг, страницы авторов и возможность редактирования материалов, не заходя в панель управления.
Скачать компонент с сайта разработчика JoomlaWorks (1.5 и 2.5)
Настройка шаблонов выводы категории
Исходник: /components/com_k2/templates - копируем всю папку default в эту же папку, переименовав её. Название папки будет служить названием шаблона вывода категории (см. настройки категории).
Настройка шаблонов вывода модуля K2-Content
Исходник: /modules/mod_k2_content/tmpl/ - копируем всю папку default в предварительно созданную папку
/templates/[ваш шаблон]/html/mod_k2_content/ и переименовываем. Название папки будет служить названием шаблона вывода модуля (см. настройки модуля).
Переключатель визуальных редакторов
Часто визуальный редактор распоряжается введённым нами кодом так, что некоторый код ему доверять не стоит. В таких случаях очень выручает переключатель между редакторами. Переключатель есть на каждой странице админцентра Joomla! CMS. По умолчанию вы можете переключаться между TinyMCE и простым редактором HTML, что вполне достаточно для работы над сайтом.
Скачать с extensions.joomla.org: 1.5 - 2.5
Карта сайта
Карта сайта помогает поисковикам точнее индексировать страницы сайта, ничего не забывая и не путаясь в структуре. XMap - компонент для создания карты сайта и XLink-плагин - под окном визуального редактора появляется кнопка LINK - из открывшегося при её нажатии диалога можно выбрать ссылки пунктов меню.
extensions.joomla.org (1.5 и 2.5)
Файловый менеджер
Можно просматривать содержимое сайта, словно вы подключились к нему по FTP-протоколу. Вы сможете выполнять с файлами следующие операции: копировать и перемещать, переименовывать, редактировать (редактор с подсветкой синтаксиса) и менять права, создавать и распаковывать zip-архивы.
(В NinjaExplorer есть устаревшая PHP функция ereg() - её можно заменить на mb_ereg() - /administrator/components/com_ninjaxplorer/include/fun_extra.php)
NinjaExplorer для 1.5 и OSE для 2.5 (хотя в К2 для Joomla! CMS 2.5 появился отличный медиа-менеджер - его достаточно)
Решение типовых задач
Установка последовательности материалов в K2
Первое - нужно проверить, как сортируются материалы в категории: K2 - категории - Шаблон материалов категории (справа) - Порядок материалов - в списке должно быть выбрано "Порядок расположения", чтобы материалы поддавались ручной сортировке или любое другое.
Если выбран "Порядок расположения" - то материалы на странице сайта будут следовать друг за другом в том, порядке, который вы зададите в списке материалов (K2 - Материалы - столбец "Порядок"). Если вы зададите положительные номера для материалов, то Joomla их пересчитает от 1 до последнего по категориям и подкатегориям. Когда на странице отображаются материалы из нескольких подкатегорий, или из родительской категории и её подкатегорий, это не удобно: вверху окажутся материалы из всех категорий с номером 1, потом все материалы с номером 2 и т.д. Чтобы Joomla не пересчитывала введённый пользователем порядок по категориям указываем для материалов отрицательные номера: -1, -2, -3 и т.д. материал с бóльшим отрицательным значением на странице сайта окажется выше. Например, материал со значением "-2" будет выше материала со значением "-1". Так же не пересчитывается значение "0". Если оказывается несколько материалов с одинаковым значением - то выше отображается тот, чей ID меньше (его значение можно увидеть в последнем столбце таблицы со списком материалов).
Добавление фотогалереи
Плагин SimpleImageGallery позволяет автоматически создавать превью для изображений, находящихся в определённой папке на сайте. Он располагает их на странице и подключает скрипт, который позволяет открывать и пролистывать исходные изображения в LightBox (на фоне затемнённой страницы).
Скачать плагин с сайта разработчика JoomlaWorks: 1.5 - 2.5
Сначала нужно подготовить фотографии. С помощью пакетного обработчика фото (например: FastStoneViewer) уменьшаем фото до 800px по ширине и 600px по высоте. Можем добавить водяной знак. Архивируем их в zip-архив (например, с помощью 7Zip).
Теперь заходим в Joomla! CMS. С помощью файлового менеджера создаём папку на сайте внутри папки images, загружаем архив в неё и распаковываем. Сверху в файловом менеджере указывается путь к нашей папке. Например: /images/pic/my-best-photo/ - копируем его. Открываем страницу материала в котором будет фотогалерея. Вписываем в выбранное на странице место конструкцию:
{gallery}путь к папке{/gallery}
Удаляем из пути "/images/". Путь к папке скопируется вместе со ссылками — их можно быстро удалить, устанавливая курсор на названия папок и нажимая кнопку визуального редактора . Также нужно удалить первый и последний слешы. В итоге должно получиться, например:
{gallery}pic/my-best-photo{/gallery}
А на странице сайта в этом месте появится фотогалерея из изображений, лежащих в папке my-best-photo.
Использование RokCandy
RokCandy позволяет создавать макросы, которые работают и в тексте страницы, и в модуле и даже в заголовках страниц. Макросы могут содержать какой угодно код (Javascript, HTML) и он не пройдёт через фильтры визуального редактора и обработку плагинами, а значит появится на странице сайта без искажений.
Макрос состоит и двух частей - конструкции, которую вы вписываете при редактировании материала или модуля и HTML-части - того, во что превращается макрос на сайте.
Простейший макрос может выводить, например, телефон. На страницах материалов сайта или в модулях вы вписываете вместо телефона макрос: [phone][/phone]. На сайте эта конструкция отображает номер телефона, который является HTML-частью макроса. Если вы решите поменять номер телефона на всём сайте - вам нужно будет отредактировать лишь один макрос. Таким же простым макросом я добавляю видео на страницы, чтобы код вставки видео не искажался визуальным редактором.
RockCandy позволяет вводить в макрос переменные, которые затем можно подставлять в HTML-часть. Вот, например, сложная конструкция из Javascript, html-конструкции и стиля для неё - секундомер. Переменные - это время в минутах от 00 до 59, через которое появится всплывающее окно и текст в этом окне.
Макрос выглядит так:
[sec]{min}-{text}[/sec]
где {min} - это минуты от 01 до 59, а {text} - текст всплывающего окна. Переменные отделены друг от друга значком "-" — можно использовать любой символ, но тогда этот символ нельзя использовать, как значение переменной. Лучше было бы использовать наиболее редко употребляемый "~". В итоге на странице материала я вписал:
[sec]01-1 минута прошла![/sec]
HTML составляющая макроса включает скрипт с переменными {min} и {text}, форму с кнопками и стили, которые задают их внешний вид.
А в итоге на странице мы видим секундомер ...
... и через минуту после его запуска мы увидим сообщение, что минута прошла!
Скачать RockCandy c cайта разработчика RocketTheme (1.5 и 2.5 - пока в данная версия плагина работает с ошибками, жду обновления)
Просмотр ссылок в lightbox
K2 добавляет в Head на всех своих страницах специальный script и подгружает mootools и modal (javascript и сss) из системных папок Joomla
{slide=Содержимое head}
<link rel="stylesheet" href="/media/system/css/modal.css" type="text/css" />
<script type="text/javascript" src="/media/system/js/mootools.js"></script>
<script type="text/javascript" src="/media/system/js/modal.js"></script>
<script type="text/javascript">
window.addEvent('domready', function() {
SqueezeBox.initialize({});
$$('a.modal').each(function(el) {
el.addEvent('click', function(e) {
new Event(e).stop();
SqueezeBox.fromElement(el);
});
});
});
var K2RatingURL = 'http://dpage.ru/';
</script>
{/slide}
Благодаря этому в материалах K2 можно открывать ссылки в окне на затемнённом фоне - как изображения фотогалереи в Lightbox.
Ссылка должна выглядеть так:
<a class="modal" href="http://dpage.ru/" rel="{handler:'iframe',size:{x:800,y:600}}">Dpage.ru</a>
Вот как это работает:
Dpage.ru
Но если открыть таким образом видео и запустить его, то при закрытии окна во всех обозревателях, кроме FF, видео продолжает воспроизводиться (слышен его звук). Поэтому в стандартный modal.js (/media/system/js/modal.js) после строки 164, в функцию close: function(e) после this.toggleListeners(); можно добавить строку:
document.getElementById('sbox-content').innerHTML="";
[n]Пример использорвания[/n]
Хаки для Joomla! CMS и расширений
K2
Отключение очистки тегов при выводе текст в модуле К2
/components/com_k2/helpers/utilities.php - закомментировать строку $str = strip_tags($str);
Опасно, так как незакрытый div и т.п. могут нарушить вёрстку всей страницы.
Настройка главной страницы панели управления
Редактируется как обычный html код. Например можно закомментировать некоторые лишние кнопки
/administrator/modules/mod_quickicon/mod_quickicon.php - кнопки ядра Joomla! CMS
/administrator/components/com_k2/views/cpanel/tmpl/default_quickicons.php - кнопки K2
Head
Редактирование автоматически генерируемого HTML-кода для head:
/libraries/joomla/document/html/renderer/head.php