Макет шаблона

Два системных файла PHH определяют макет шаблона и его разметку. Узнайте, как отображаются позиции виджетов и рассчитываются их пропорции.

Файл theme.php

"Сердце" любого шаблона - это файл theme.php, который обеспечивает весь HTML для основной разметки шаблона. Есть отличие от стандартного Joomla шаблона или темы Wordpress, где файл index.php является главным файлом шаблона.
Далее представлена структура файла theme.php. Файл должен импортировать файл theme.config.php, отображать позиции виджета, возвращать переменные настроек и отображать системный вывод. <?php
// get theme configuration
include($this['path']->path('layouts:theme.config.php'));
?>
<!DOCTYPE HTML>
<html lang="<?php echo $this['config']->get('language'); ?>" dir="<?php echo $this['config']->get('direction'); ?>"  data-config='<?php echo $this['config']->get('body_config','{}'); ?>'>
  <head>
  <?php echo $this['template']->render('head'); ?>
  </head>
  <body>
    // render a widget position
    <?php echo $this['widgets']->render('widget-position'); ?>
    // retrieve a config variable
    <?php echo $this['config']->get('variable'); ?>
    // render the system output
    <?php echo $this['template']->render('content'); ?>
  </body>
</html>

Объекты конфигурации

Переменные из файла config.xml хранятся в объекте config. Для получения доступа к значениям переменной, просто используйте метод get. // output the value of the branding variable
<?php echo $this['config']->get('theme_branding'); ?>
// output the to-top scroller based on the theme setting
<?php if ($this['config']->get('totop_scroller')) : ?>
<a class="tm-totop-scroller" data-uk="smooth-scroll" href="#"></a>
<?php endif; >

Widget объект

Виджеты страницы хранятся в объекте widgets. Чтобы отобразить все виджеты в позиции, используйте метод
render. Вы можете проверить, все ли виджеты опубликованы в позиции, используя метод count. <// render all widgets in Top A position
<?php echo $this['widgets']->render('top-a')); ?>
// apply the parallel layout to all widgets in Top A position
<?php if ($this['widgets']->count('top-a')) : ?>
<?php echo $this['widgets']->render('top-a', array('layout'=>'parallel')); ?>
<?php endif; ?>

Файл theme.config.php

В то время, как файл theme.php определяет разметку шаблона, логика его работы хранится в файле theme.config.php. Он отвечает за расчеты макета, например трехколоночный макет, классы тела body, классы социальных кнопок.
  • Суббота, 24 января 2015

Оставить комментарий

Вы комментируете как Гость.

beget