0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 17616 Просмотров
*

beliyadm

  • Легенда
  • 9758
  • 1664 / 66
  • Севастополь, Россия
В шаблонах для движка 1.5 вставка позиции модуля происходит следующим образом
Код: html4strict
<jdoc:include type="modules" name="left" style="xhtml" />
Если с полем name все понятно (имя позиции из списка созданных в XML файле шаблона), то вот с полем style частенько возникают вопросы - что это, зачем и что можно с ним делать.
Разберем сначала вывод хтмл по умолчанию при стиле XHTML - в исходном коде получается следующее
Код: html4strict
<div class="moduletable">
<h3>заголовок модуля</h3>
тело модуля
</div>
А что же нам делать, если хотим чуть усложнить структуру, дабы вписаться в разработанный дизайн либо иное? Все очень просто.
Мы идем в папку шаблона, в ней видим (и если не видим то создаем папку html), в ней находим (а если не находим то создаем файл modules.php). В нем к примеру пишем такую функцию
Код: php
function modChrome_mycustomdiv($module, &$params, &$attribs)
{
$headerLevel = isset($attribs['headerLevel'])? (int) $attribs['headerLevel'] : 3;
if (!empty ($module->content)) : ?>
<div class="mycustomdiv<?php echo $params->get('moduleclass_sfx'); ?>">
<?php if ($module->showtitle) : ?>
<div class="mycustomdivtitle"><h3><?php echo $module->title; ?></h3></div>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
<?php endif;
}
И в шаблоне index.php для style теперь указываем значение mycustomdiv. То есть имя функции обязательно должно начинаться с modChrome_ а то что после подчеркивания нужно использовать в качестве значения style при выводе в шаблоне
Код: html4strict
<jdoc:include type="modules" name="left" style="mycustomdiv" />
В итоге у нас хтмл вывод будет таким
Код: html4strict
<div class="mycustomdiv">
<h3>заголовок модуля</h3>
тело модуля
</div>
По порядку, что мы здесь видим:
$params->get('moduleclass_sfx') - суффикс модуля, заданный в его настройках
$module->showtitle - заголовок модуля и соответственно проверку условия, если в настройках отмечен к показу - то выводим в тегах h3
$module->content - тело модуля, зависит от хелпера модуля либо других вариаций вывода

Получается что в эту функцию мы можем добавить любую структуру контента модуля, хоть табличную, хоть дивную, зависит от потребностей для вывода данного модуля

« Последнее редактирование: 07.03.2010, 20:41:29 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
можно немного дополнить (расширенное рассмотрение возможностей шаблонизации модуля)
И куда-нибудь присобачить. Будет полезно.
« Последнее редактирование: 09.03.2010, 15:37:37 от beliyadm »
*

sachek

  • Захожу иногда
  • 102
  • 1 / 0
  • Jamal*
В шаблонах для движка 1.5 вставка позиции модуля происходит следующим образом
Код: html4strict
<jdoc:include type="modules" name="left" style="xhtml" />
Если с полем name все понятно (имя позиции из списка созданных в XML файле шаблона), то вот с полем style частенько возникают вопросы - что это, зачем и что можно с ним делать.
Разберем сначала вывод хтмл по умолчанию при стиле XHTML - в исходном коде получается следующее
Код: html4strict
<div class="moduletable">
<h3>заголовок модуля</h3>
тело модуля
</div>
А что же нам делать, если хотим чуть усложнить структуру, дабы вписаться в разработанный дизайн либо иное? Все очень просто.
Мы идем в папку шаблона, в ней видим (и если не видим то создаем папку html), в ней находим (а если не находим то создаем файл modules.php). В нем к примеру пишем такую функцию
Код: php
function modChrome_mycustomdiv($module, &$params, &$attribs)
{
$headerLevel = isset($attribs['headerLevel'])? (int) $attribs['headerLevel'] : 3;
if (!empty ($module->content)) : ?>
<div class="mycustomdiv<?php echo $params->get('moduleclass_sfx'); ?>">
<?php if ($module->showtitle) : ?>
<div class="mycustomdivtitle"><h3><?php echo $module->title; ?></h3></div>
<?php endif; ?>
<?php echo $module->content; ?>
</div>
<?php endif;
}
И в шаблоне index.php для style теперь указываем значение mycustomdiv. То есть имя функции обязательно должно начинаться с modChrome_ а то что после подчеркивания нужно использовать в качестве значения style при выводе в шаблоне
Код: html4strict
<jdoc:include type="modules" name="left" style="mycustomdiv" />
В итоге у нас хтмл вывод будет таким
Код: html4strict
<div class="mycustomdiv">
<h3>заголовок модуля</h3>
тело модуля
</div>
По порядку, что мы здесь видим:
$params->get('moduleclass_sfx') - суффикс модуля, заданный в его настройках
$module->showtitle - заголовок модуля и соответственно проверку условия, если в настройках отмечен к показу - то выводим в тегах h3
$module->content - тело модуля, зависит от хелпера модуля либо других вариаций вывода

Получается что в эту функцию мы можем добавить любую структуру контента модуля, хоть табличную, хоть дивную, зависит от потребностей для вывода данного модуля



Все отлично получилось...но хотя бы отображается заголовки модулей.Вот еще бы эти заголовки подогнать под общий дизайн сайта,а то на превью моего шаблона совсем по другому сайт выглядет.Я так понимаю нужно самому уже создавать свой стиль...?
*

lottis

  • Захожу иногда
  • 181
  • 11 / 0
спасибо, очень тема помогла, как раз столкнулся с тем, как изменить стандартные теги вывода заголовка меню - поменял - как теперь красиво стало - любуюсь ;-) +1 вам)
вот так вышло: (заголовок модуля в h3 с стилем caption, моей иконкой)



*

faradej

  • Новичок
  • 3
  • 0 / 0
Подскажите где можно найти список функций для вывода информации в модуль. В Google информацию найти не могу. Думаю это будет актуально и для версии 3+
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Создание новой позиции модуля

Автор Ptalameeya

Ответов: 6
Просмотров: 7282
Последний ответ 01.03.2015, 14:32:36
от Natko23
[howto] Создание новой позиции модулей в Joomla 1.5 .

Автор Blinp

Ответов: 221
Просмотров: 242606
Последний ответ 25.11.2013, 16:17:06
от milk101
[howto] Создание шаблона для Joomla! 1.5

Автор Mitrich

Ответов: 225
Просмотров: 361450
Последний ответ 17.09.2013, 16:00:05
от fred
Повторение стиля боковой колонки для каждого модуля отдельно

Автор ArtTheft

Ответов: 0
Просмотров: 4137
Последний ответ 21.09.2012, 20:04:56
от ArtTheft
Шаблон вывода статей на главной.

Автор ArtTheft

Ответов: 8
Просмотров: 6136
Последний ответ 09.08.2012, 12:19:16
от ArtTheft