Существуют три основные версии Jommla, причем корректный переход на следующую версию невозможен из-за разных платформ. Т.е. обновиться с Joomla 2 на Joomla 3 невозможно.

Старые версии Joomla 1 и Joomla 2, текущая основная версия Joomla 3.

Можно отметить, что для всех версий сразу не очень понятно, как вставить код со скриптами. Т.е. конечно есть вариант "в лоб" - внести код в основной макет сайта, но при установке обновлений Ваш код будет потерян. Вариантов несколько:

- скопировать текущий шаблон в свой пользовательский (плюс - Joomla не будет его трогать, минус - не будет исправлений ошибок, которые там есть)

- сохранить все переделанные/измененные файлы себе на локальный ПК и после каждого обновления их восстанавливать

- для любых изменений использовать только средства Jooma: настройки, модули, плагины и т.д. - самый правильный вариант

Базовая схема позиций модулей в Joomla 3



Да, есть еще редактор страниц и стандартный HTML-модуль, но они позволяют вставлять только тэги html, вызовы скриптов обрезаются.

А нам надо на сайт поставить минимум 3 внешних скрипта:

- счетчик Яндекс

- счетчик Гугль

- скрипт кнопок "Поделиться" для социальных сетей

Смотрим, почему обрезаются скрипты в модуле HTML. Это просто настройки встроенного редактора запрещают. Разрешаем, при создании визуальный редактор выключаем, вставляем скрипт, сохраняем.

Как разрешить JavaScript в редакторе

Чтобы можно было добавлять JavaScript в модуль Custom HTML, нужно разрешить использование Javascript в Вашем текстовом редакторе. Если Вы используете редактор TinyMCE, то можете найти эти установки в меню Extensions -> Plugin Manager -> Editor - TinyMCE 2.0. Убедитесь, что настройка 'Code Cleanup on Startup' поставлена в 'Off' и 'Code Cleanup on Save' в 'Never'. Этим Вы обеспечите, что редактор не будет вычищать Ваш добавленный код (для Joomla 1).

При использовании Joomla 2 или 3 - убрать запрещенный тэг script из настроек.

и заодно сделать для новых строк "перевод строки" который BR, а не "параграф"

Но это еще не все. Надо поставить в разрешенные тэги конструкцию *[*] - тогда точно не будет резать тэги. Окончательно для Joomla 3



Если побороть редактор TinyMCE не удается - устанавливайте плагин JCE editor и назначайте его редактором по умолчанию.
В настройках JCE editor, перейдите в меню Компоненты -> JCE Administration Editor Profiles (Groups) -> Default (или другую группу, которую Вы используете) -> Editor Parameters -> Options. Убедитесь, что опция 'Allow Javascript' установлена в 'Yes'.



Более подробно про установку и настройку JCE editor можно прочитать здесь.

Вид 3-х модулей (два счетчика и кнопки социальных сетей), выбираем позицию footer.

Проверяем код, все ОК.

 Да, счетчики можно установить и через специальные плагины, но

- это лишнее, можно использовать стандартные средства

- плагины надо проверять, часть плагинов ставит счетчик в заголовок <head></head>, а не в конец страницы

Установка плагина для Open Graph

Он нужен для того, что бы социальные сети правильно забирали себе данные, которые будут показаны в ленте. Подробнее здесь. Используется в основном для явного указания, какую картинку передавать в социальную сеть (картинок на обычной странице много).

Будем использовать плагин Phoca Open Graph Plugin (он бесплатный), скачать можно здесь http://www.phoca.cz/download/category/62-phoca-open-graph-plugin

Обратите внимание:

- он разный для Joomla 2 и Joomla 3, выбирайте правильно

- после установки плагина надо зайти в Common Options и выбрать тип "property" вместо "name" по умолчанию.

Заголовки, тэги <h1> и дубли страниц.

Да, это все вместе. В Joomla в качестве заголовков могут использоваться и заголовки материалов и заголовки пунктов меню (в WordPress для пунктов меню используются заголовки материалов, что более логично). Кроме того, у каждого заголовка может быть установлено свойство "использовать как ссылку".

Мы будем использовать в качестве заголовков страницы название материала.

Надо:
- запретить показывать заголовки у меню и разрешить показывать у материала (в общих настройках материалов/меню или в самом материале/меню)
- запретить использовать заголовки как ссылки (и в материалах и в пунктах меню) - иначе добрая Joomla  создаст дубль страницы, только без заголовка и на эту страницу можно попасть, сделав клик на заголовке текущей страницы (не очень понятно, зачем это было сделано)
- по умолчанию Joomla обертывает заголовки в тэги <h2>, а нам нужно <h1>, надо корректировать код сайта в шаблоне

Входим в каталог сайта по FTP. Открываем папку:/components/com_content/views/article/tmpl/ в ней ищем файл default.php

Общий путь:  /components/com_content/views/article/tmpl/default.php

И в классе  ="page-header" меняем h2 на h1.

Пример1 (Joomla 3):

<div class="page-header">

              <h1 itemprop="name">

                          <?php if ($params->get('show_title')) : ?>

                                      <?php echo $this->escape($this->item->title); ?>

                          <?php endif; ?>

              </h1>

Пример 2 (Joomla 2.5)

<div class="page-header">

              <h1 itemprop="name">

                          <?php if ($params->get('show_title')) : ?>

                                      <?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>

                                                  <a href="/<?php echo $this->item->readmore_link; ?>" itemprop="url"> <?php echo $this->escape($this->item->title); ?></a>

                                      <?php else : ?>

                                                  <?php echo $this->escape($this->item->title); ?>

                                      <?php endif; ?>

                          <?php endif; ?>

              </h1>


Если нет желания/опыта для редактирования кода, можно использовать плагин Header Tags Plugin, вот здесь
http://www.joomla-specialist.net/joomla-extensions/header-tags-plugin.html



Дополнение:

Теги <h1> можно принудительно поставить для страницы - нужно идти в соответствующий пункт меню, там разрешить показ заголовка, внести этот заголовок ручками (и нигде не сообщается, что он будет в <h1>), и там же запретить показ родного заголовка из материала (иначе будет два заголовка у страницы). Вот попробуй догадаться...

Фавикон

По умолчанию Joomla показывает фавикон из соответствующего шаблона. Если надо показать свой фавикон - заменяем файл .ico в шаблоне. Недостаток метода обычный - при обновлении будет закачан стандартный фавикон Joomla. Используем специальный плагин - там есть возможность указать файл своего фавикона и больше Joomla не будет его трогать.

https://extensions.joomla.org/extension/favicon

В панели настроек выглядит так:



Дубли страниц по каждой категории:

По умолчанию у всех категорий в админке установлен статус "опубликовано". И Joomla, соответственно, генерирует ссылки для каждой категории. Зачем это сделано - не знаю, разработчики так видят.
Меняем статус на "не опубликовано". Проверяем по адресу http://seotable.ru/2-uncategorised.html Если отдается 404 страница - то все правильно. Если 404 страница в "крякозябрах" - надо в шаблонах сайта скорректировать файл error.php, точнее его кодировку. Переписываем файл себе на локальный ПК, открываем его блокнотом и сохраняем в UTF-8. Переписываем обратно на сервер.

Как создать горизонтальное меню в Joomla 3? Часть 1

По умолчанию, меню в Joomla 3 вертикальное. И мы будем делать горизонтальное. На самом деле очень просто это делается дописываем одного параметра. Нет, галочкой из списка выбрать нельзя, такая возможность не предусмотрена.

Итак, практически стандартный путь:
- создаем меню через менеджер меню
- создаем пункты меню
- через менеджер меню привязываем модуль
- в модуле выбираем, где он будет выводиться
- и тут немного волшебства в разделе Advanced


- в суффиксе класса меню вводим параметр " nav-pills", пробел спереди обязателен!

И всё - горизонтальное меню работает.

Как создать горизонтальное меню в Joomla 3? Часть 2

Тут же возникает второй вопрос - а можно ли как-то продублировать текущее вертикальное меню и сделать из него горизонтальный дубль? Можно, на этом сайте так и сделано.

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

Вот так:



И все будет работать, у одного меню два модуля, даже на кнопке написано множественное число "Модули".
Одно и то же меню выводится в двух разных местах сайта.

Позвольте, а сделать-то как?
Волшебный совет "просто добавьте новый модуль к Вашему меню" я видел на многих сайтах. Это когда мы только создаем меню, у нас появляется кнопка "добавить модуль". А когда уже один модуль есть, тут не видно никакой возможности добавить второй. Этой возможности "тут" и нет, придется идти в обход.

На самом деле правильный совет: создайте в менеджере модулей еще один модуль для Вашего меню.

Расширения -> Менеджер модулей -> Создать -> Выбор типа модуля -> Меню



Вот оно где - создаем новый модуль с типом "меню", в нем уже выбираем месторасположение, выбираем наше уже работающее меню и добавляем горизонтальную настройку (через суффикс класса - смотри выше). И этот же модуль будет видно из менеджера меню, как второй установленный.

Как изменить ширину основного шаблона Joomla 3?

По умолчанию, в таблице стилей ширина шаблона задана в пикселях. Зачем это сделано - неизвестно.
В результате на широких экранах сайт отображается с большими вертикальными полями по сторонам. Мы не будем трогать таблицы стилей шаблона, а зайдем в основные настройки:



Выберем тип контейнера "Резиновый" (там где-то 90% от ширины экрана) и сайт сразу начнет отображаться в приличном виде :) Сами параметры "резинового" отображения или ширины в пикселях хранятся в таблицах стилей данного шаблона.

Форма обратной связи для Joomla

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

Нужен или дополнительный плагин или можно воспользоваться готовым HTML+PHP шаблоном и сделать модуль самостоятельно.

Модуль для вывода новостей

Как это влияет на продвижение и зачем нужны новости - читаем здесь.

Модуль bloglatestnews от разработчика http://blogprogram.ru/modules-posledniye-dobavlenniye-materiali-joomla25-3/
Прелесть, а не модуль:
- устанавливаем стандартно (через менеджер расширений),
- активируем,
- выбираем позицию показа (лучше footer),
- выбираем показ 3 материалов по 3 в строку (например),
- указываем, на каких страницах показывать.

Модуль позволяет выводить материалы в несколько колонок и строк. Если нужны только новости - создаем категорию news (например) и модуль будет показывать только материалы из этой категории.

Модуль выводит картинку, название материала, часть текста (все настраивается).


Резюме:

Joomla выглядит так, будто ее делали без любви к конечному пользователю. Чем-то похоже на 1С - настройки важного модуля разбросаны по разным местам программы и все их надо знать.

- генерируются дубли страниц, но из самой Joomla это не видно
- сразу нельзя использовать html-модуль для установки счетчиков, скрипты режутся, оказывается это в настройках редактора надо разрешить (ниоткуда это не очевидно)
- после просмотра html-модуля со скриптом пустая страница = а это по умолчанию включается редактор, который был выключен в прошлый раз
- при загрузки картинок по умолчанию показывается папка image, а не та папка внутри image c которой Вы работали (и дерева папок нет, надо опять внутрь по папкам идти)
- с заголовками страниц вообще что-то странное

Конечно, готовый (тем более бесплатный) продукт критиковать легко, но мне субъективно не понравилось, просто не удобно.

  • CMS - что это (2522)

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

  • Подключение MySQL к CMS (1154)

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

  • CMS Joomla (1065)

    Существуют три основные версии Jommla, причем корректный переход на следующую версию невозможен из-за разных платформ. Т.е. обновиться с Joomla 2 на Joomla 3 невозможно. Старые версии Joomla 1 и Joomla 2, текущая основная версия Joomla 3. Можно отметить, что для всех версий сразу не очень понятно, как...

  • База MySQL (754)

  • Denwer (695)