Warp 6 framework

Warp 6 - Позиции модулей

Joomla

Мы назовем позицию "top-c" ниже уже существующих позиций "top-a" и "top-b". Вот список файлов, находящихся в шаблоне, которые нам предстоит редактировать:

  • templateDetails.xml
  • config.xml
  • /layouts/template.php
  • /layouts/module.php
  • /js/template.js

Добавление новой позиции в файл XML

Откройте файл templateDetails.xml. Здесь вам нужно добавить вашу новую позицию (top-c), чтобы в менеджере модулей мы могли её выбрать. Просто скопируйте существующую позицию и переименуйте ее, как показано в примере:

<positions>
	...
	<position>top-a</position>
	<position>top-b</position>
	<position>top-c</position>
	<position>bottom-a</position>
	...
</positions>

Определение опций разметки модуля для новой позиции

Откройте config.xml и взгляните в начало записи уже существующей позиции. Скопируйте код, к примеру из "top-b", вставьте ниже и переименуйте ее:

<field name="top-c" type="layout" default="equal" label="Top C Layout" description="Выберите разметку для этой позиции модуля." />

Это позволит вам определить разметку для вашей новой позиции в опциях административной части.

Добавление новой позиции в главный файл шаблона

Откройте layouts/template.php, вы увидите базовую разметку шаблона. Этот файл определяет, где модули, опубликованные в вашей новой позиции, должны появляться. Как и раньше, вы должны скопировать код из существующей позиции и вставить его туда, куда вам нужно, а после - переименовать:

<?php if ($this['modules']->count('top-c')) : ?>
	<section id="top-c">
		<div class="grid-block">
			<?php echo $this['modules']->render('top-c', array('layout'=>$this['config']->get('top-c'))); ?>
		</div>
	</section>
<?php endif; ?>

Примечание: Вы можете замещать файл template.php в вашем собственном стиле. Просто скопируйте /layouts/template.php в /styles/ВАШ_СТИЛЬ/layouts/template.php.

Определение стиля модуля "по-умолчанию" для новой позиции

Откройте layouts/module.php и укажите дефолтный стиль модуля в этом файле, добавьте код для вашей новой позиции. В данном примере, был создан стиль "line", как стиль "по-умолчанию" для позиции top-c:


if ($style == '') {
	if ($module->position == 'top-a') $style = 'line';
	if ($module->position == 'top-b') $style = 'line';
	if ($module->position == 'top-c') $style = 'line';
	...
}

Помните: Если вы создаете стиль темы и хотите добавить несколько новых стилей для модулей, вы можете заместить файл module.php. Скопируйте /layouts/module.php в /styles/ВАШ_СТИЛЬ/layouts/module.php.

Выравнивание высоты модулей

Чтобы выровнять высоту модулей в одном ряду, откройте js/template.js. Найдите уже существующую запись в функции matchHeight(). В примере была скопирована запись для #top-b и переименована в #top-c.

$('#top-c .grid-h').matchHeight('.deepest');

Обновление CSS

Если вы хотите стилизовать вашу новую позицию для модулей, вам нужно редактировать файл /css/layouts.css. Т.е. добавить все CSS, которые были применены к top-a и bottom-a, к новой позиции.

Оригинальная статья: YooTheme
Artem Valchuk
Привет меня зовут Артем. Я занимаюсь разработкой сайтов, шаблонов HTML, Joomla и WP.