Оформление средствами CSS

Определенным элементам модуля присвоены классы. Например, содержащему контейнеру:

<div class="newsflash">

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

Для чего нужен альтернативный макет модуля

Когда нужно внести изменения в html-код. Чаще всего это связано с добавлением дополнительных элементов, или изменением структуры вывода. Например отображение материалов в виде табов.

Почему не нужно менять код в самом модуле

При первом же обновлении Joomla, файлы могут быть перезаписаны , и все ваши изменения утеряны.

Как переопределить макет вывода модуля

  • В вашем шаблоне нужно создать папку templates /my_template_name /html /mod_articles_news
  • В эту папку из модуля скопировать файлы, которые будут переопределяться (это может быть один или несколько файлов)

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

При изменении кода файла, будет переопределен любой из стандартных шаблонов: default.php, horizontal.php, vertical.php

Если изменить код файла _item.php, то будут переопределены все 3 макета! Потому что он подключается в каждый из них!

Для того, чтобы создать альтернативный (дополнительный) макет - нужно переименовать стандартный файл. Например default.php --> alt-maket.php. Тогда во вкладке Дополнительно, в списке Альтернативный макет появится alt-maket.

Внимание!

Имя каталога mod_articles_news должно строго соответствовать названию папки модуля!

Альтернативный макет вывода материала в модуле

Выше было показано как создать альтернативный макет модуля.

Но для каждого такого макета может понадобиться индивидульный макет выводимых материалов. Для этого нужно:

1. Переименовать файл _item.php --> _item-alt.php

2. В файле alt-maket.php подключить соответствующий шаблон, отредактировав строку:

require JModuleHelper::getLayoutPath('mod_articles_news', '_item-alt');