Вступление

Современные шаблоны не страдают малым количеством позиции для модулей. И всё же, в этой статье решим задачу, как добавляется новая позиция модуля на сайт Джумла сайта.

Задача

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

Примечание: В статье рассмотрим два способа. Один способ для шаблонов использующих Joomla функции, второй для шаблонов, написанных на «чистом» PHP.

Подготовка

  • Для безопасности предварительно делаем резервную копию сайта.
  • Для работ понадобится текстовой редактор, использую Notepad++ и программа FTP клиент.
  • Сайт на время работ лучше отключить на вкладке Общие настройки.

Пример 1.

Имеем стандартный шаблон Joomla на Фреймворке типа Helix. Хочу добавить пользовательскую позицию модуля под названием «Hello!». При этом поместить позицию модуля «Hello!» я хочу под шапкой сайта.

Этапы работ

Шаг 1. Редактирование файла templateDetails.xml

Забираем файл из шаблона через FTP и открываем в текстовом редакторе.

Видим в файле строки с существующими позициями модулей.

Добавляем в конце этого списка свою позицию:

<position>hello</position>

Возвращаем файл на место.

Шаг 2. Редактирование файла index.php

Забираем по FTP файл index.php рабочего шаблона.

В текстовом редакторе в нужном месте, в данном примере перед тегом <header>, вставляем такую строку 

<jdoc:include type="modules" name="hello" style="" />

Можно задать свой style (в кавычках указать произвольное название стиля) для модулей этой позиции, прописав стиль в файле каскадных стилей шаблона.

Сохраняем файл и возвращаем на место.

Всё! Новая позиция hello для модулей добавлена.

Пример 2

На Фреймворке Wamp (чистый php) работает все иначе:

В файл «templateDetails.xml» добавьте позицию модуля

<position>hello</ position>

В файл «config.xml» добавьте элемент <row>hello</ row>

В файл /layouts/theme.php добавьте функцию для нового модуля в нужное место шаблона, в данном случае в нижнем колонтитуле:

<?php if ($this['widgets']->count('hello')) : ?>
             <section id="tm-hello" class="<?php echo $grid_classes['hello']; echo $display_classes['hello']; ?>" data-uk-grid-match="{target:'> div > .uk-panel'}"
data-uk-grid-margin><?php echo $this['widgets']->render('hello', array('layout'=>$this['config']->get('grid.hello.layout'))); ?></section> <?php endif; ?>

Всё. Позиция модуля добавлена.

Вывод

Своя позиция модуля на сайт Джумла нужна редко, однако её решение позволяет лучше изучить и понять устройство системы и принцип создания шаблонов. 

©Joomla-abc.ru

Еще статьи

Похожие статьи

Как удалить шаблон сайта на CMS Joo...
Как удалить шаблон сайта на CMS Joo...
Как удалить шаблон сайта на CMS Joo...

Краткая инструкция, как удалить шаблон сайта на CMS Joomla. Шаблон является...

Пакетный перенос модулей Joomla меж...

Если вам нужно перенести  или размножить модули сайта, используйте инс...

Как посмотреть позиции модулей Joom...
Как посмотреть позиции модулей Joom...
Как посмотреть позиции модулей Joom...

Модули сайта Joomla это позиции шаблона для размещения дополнительной инфор...

Как установить шаблон для сайта  на...
Как установить шаблон для сайта на...
Как установить шаблон для сайта на...

Шаблон сайта это специальное расширение, задающее внешний вид сайта для пол...

Copyright © 2023 Joomla-abc.ru. Все права защищены.