Виджеты/Модули

Узнайте, как создавать новые позиции, макеты и стили для виджетов Wordpress и модулей Joomla.
Добавление новых позиций для модулей и виджетов в вашем шаблоне не сложно. Вы должны дать название позиции и определить, в каком месте макета шаблона она будет отображаться.

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

Добавьте новую позицию в файл templateDetails.xml для  Joomla или в файл theme.xml для WordPress, чтобы дать вваш менеджер контента "узнал о ее существовании". Новая опция появится в настройках вашего шаблона. <position>top-a</position>
<position>MY-POSITION</position>
<position>bottom-a</position>

Добавление настроек

С аттрибутом settings вы можете контролировать опции отображения виджета в вашей позиции. Вы найдете их в панели Modules/Widgets ваших настроек шаблона. Доступные значения - это class, style, icon, badge и display. Дополнительно, опции title и assignment доступны в WordPress. <!-- all option are available -->
<position>MY-POSITION</position>
<!-- no option are available -->
<positionsettings="">MY-POSITION</position>
<!-- only the style and badge options are available -->
<positionsettings="style badge">MY-POSITION</position>
Совет: Если аттрибут settings не используется, ваша позиция автоматически покажет все доступные опции. Если вы используете  settings без добавления значений, они не будут отображены в панели Modules или Widgets.

Настройки шаблона для позиций

Измените config.xml, чтобы добавить опции позиции в настройки шаблона в панели Settings и Layouts.

Установить основное отображение виджета для вашей позиции

Добавление нового элемента <row> в таблицу поля panel_default в разделе Settings вашей позиции откроет опцию по выбору основного стиля. <fieldsname="Settings">
...
<fieldtype="table"name="panel_default">
<rowslabel="Position">
<row>MY-POSITION</row>
...

Установить основное отображение макета для вашей позиции

Добавление нового элемента <row> в поле таблицы grid в разделе Layouts вашей позиции откроет опци для выбора макета, разделителей и адаптивности макета. <fieldsname="Layouts">
...
<fieldtype="table"name="grid">
<rowslabel="Position">
<row>MY-POSITION</row>
...

Отображение позиции

Файл /layouts/theme.php обеспечивает основную разметку шаблона. Здесь Вы можете определять, где позиции виджета будут отображены и добавить новые. <?php if($this['widgets']->count('MY-POSITION')):?>
<sectionclass="uk-grid"data-uk-grid-match="{target:'> div > .uk-panel'}">
<?php echo $this['widgets']->render('MY-POSITION', array('layout'=>$this['config']->get( 'grid.MY-POSITION.layout')));?>
</section>
<?php endif;?>
Совет: вы просто должны добавить синтаксис $this['config']->get('grid.MY-POSITION.layout') , если вы определяли опцию в файле config.xml.

Расширенные возможности добавления CSS классов

Если ваша позиция определена как новый элемент <row> в поле таблицы grid файла config.xml, есть легкий путь добавить CSS классы. Просто добавьте  <?php echo $grid_classes['MY-POSITION']; ?> в аттрибут class. Это позволит Вам установить макет, адаптивность и разделители. <?php if($this['widgets']->count('MY-POSITION')):?>
<section class="
<?php echo $grid_classes['MY-POSITION'];?>"
data-uk-grid-match="{target:'> div > .uk-panel'}" data-uk-grid-margin>
<?php echo $this['widgets']->render('MY-POSITION', array('layout'=>
$this
['config']->get('grid.MY-POSITION.layout')));?></section>
<?php endif;?>
  • Суббота, 24 января 2015

Комментарии (4)

  • Devakrob

    Devakrob

    03 февраля 2017 at 22:20 |
    А, что очень даже интересно,спасибо за информацию.

    ответ

  • RobertAgoto

    RobertAgoto

    05 марта 2017 at 21:58 |
    Как хорошо, что наткнулся на ваш сайт, очень много информации почерпнул

    ответ

  • Alonsozipse

    Alonsozipse

    15 марта 2017 at 03:43 |
    Спасибо за актуальную информацию.

    ответ

  • Danielceare

    Danielceare

    15 апреля 2017 at 14:50 |
    Привет всем! Класный у вас сайт!

    ответ

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

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

beget