1. Шаблоны YOOtheme теперь можно взять здесь https://t.me/joinchat/AAAAAE8kLWTMWul8Jt3fmg
    Скрыть объявление
  2. Платные расширения теперь можно взять тут https://t.me/joinchat/AAAAAEj-JImu2ZZVVQpTvQ
    Скрыть объявление

Warp7 макет шаблона

Тема в разделе "Общий раздел", создана пользователем admin_forum, 24 янв 2017.

Метки:
  1. admin_forum
    Оффлайн

    admin_forum Администратор Команда форума

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

    theme.php
    Сердцем каждого шаблона является файл theme.php, который предоставляет весь HTML для базовой разметки. В этом отличие от стандартных Joomla и WordPress шаблонов, в которых главным файлом шаблона является index.php.

    Вот структура theme.php. Файл должен подключить theme.config.php, отобразить позиции виджетов, получить переменные конфига и отобразить системные выходные данные.

    PHP:
    <?php
    // get theme configuration
    include($this['path']->path('layouts:theme.config.php'));
    ?>
    <!DOCTYPE HTML>
    <html 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.

    PHP:
    // 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 data-uk="smooth-scroll" href="#"></a>
    <?php endif; >

    Объект виджета

    Виджеты страницы хранятся в объекте widgets. Для рендеринга всех виджетов в позиции используйте метод render. Проверить, опубликованы ли виджеты в этой позиции, можно с помощью метода count.

    PHP:
    <// 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 и социальные кнопки. В этом файле расположена логика шаблона

    Автор перевода
     

Поделиться этой страницей