Динамичность сайтам под управлением CMS Joomla 3 придаёт то, что различные части кода вызывают друг друга в разных местах, при этом запрашивают и выдают контент из базы данных. Одной из важных частей этой логики является то, что в шаблоне указываются специальные места, называемые позициями, куда могут быть помещены контейнеры вывода данных, например из модулей. В этой статье рассмотрим, как создать запись для новой позиции в шаблоне Joomla 3 для того, чтобы CMS могла знать о нашем намерении использовать эту позицию в тех или иных целях, например, вывести в обозначенное место модуль.
templateDetails.xml
— файл конфигурации шаблона Joomla 3
templateDetails.xml
обязательный файл, содержащий информацию о шаблоне Joomla 3 в формате xml
. Именно в нём прописываются все позиции, которые Joomla может автоматически подгружать на сайт или в админку.
Для того, чтобы отредактировать этот файл, нужно найти его в менеджере шаблонов. Он находится в корневой директории шаблона. Как редактировать файлы шаблона, находясь в админке Joomla подробно описано в → этой статье.
Итак, для шаблона Protostar каталог с файлами и папками шаблоны выглядит примерно так, и в нём можно без труда найти и открыть файл templateDetails.xml
:
Вносим новую позицию шаблона в файл templateDetails.xml
Для того, чтобы внести новую позицию шаблона нужно в секции <positions>
внести новую запись, обозначив её тегами <position>
, после этого сохранить изменения в этом файле, чтобы они вступили в силу и стали доступны для использования CRM Joomla:
Если всё сделано правильно, в админке будет сообщение об удачном сохранении данных:
Использование новой позиции в модуле Joomla
После того, как новая позиция создана, она становится доступной для использования в поле «Позиция» в модулях Joomla. И это позволит вызывать модули по имени этой позиции несмотря на то, что данная позиция пока нигде явно не прописана в шаблоне.
О том, как вызывать модуль, используя его позицию рассмотрим в другой статье.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)