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

Warp 7 добавляем модули в шаблон

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

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

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

    Добавление новой позиции для модулей или виджетов в шаблон. Необходимо задать имя позиции и определить, где должна отображаться позиция в макете шаблона.

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

    Добавьте новую позицию в templateDetails.xml для Joomla или в theme.xml для WordPress, чтобы ваша CMS могла знать о том, что позиция существует. В настройках шаблона отобразится новая опция.

    PHP:
    <position>top-a</position>
    <
    position>MY-POSITION</position>
    <
    position>bottom-a</position>
    Добавление настроек
    С помощью атрибута settings вы можете контролировать опции отображения модуля/виджета в вашей позиции. Вы можете найти их в панели Модули/Виджеты настроек вашего шаблона. Доступные значения: class, style, icon, badge и display. Для WordPress также доступны title и assignment.

    PHP:
    <!-- all option are available -->
    <
    position>MY-POSITION</position>

    <!-- 
    no option are available -->
    <
    position settings="">MY-POSITION</position>

    <!-- 
    only the style and badge options are available -->
    <
    position settings="style badge">MY-POSITION</position>
    Если атрибут settings не задан, ваша позиция автоматические покажет все доступные опции. Если вы используете атрибут settings без значения, он вообще не отобразится в панели Модули или Виджеты.


    Настройки шаблона для позиций
    Для добавления опций позиции в панель Settings and Layouts настроек шаблона отредактируйте файл config.xml.

    Установите виджет по умолчанию для вашей позиции
    При добавлении нового элемента <row> в поле таблицы panel_default в разделе Settings, ваша позиция получит опцию для выбора стиля по умолчанию.

    PHP:
    <fields name="Settings">
        ...
        <
    field type="table" name="panel_default">
            <
    rows label="Position">
                <
    row>MY-POSITION</row>
                ...
    Установите макет по умолчанию для вашей позиции
    При добавлении нового элемента <row> в поле таблицы grid в разделе Layouts, ваша позиция получит опции для установки макета, поведения responsive и разделителя.

    PHP:
    <fields name="Layouts">
        ...
        <
    field type="table" name="grid">
            <
    rows label="Position">
                <
    row>MY-POSITION</row>
                ...
    Рендеринг позиции
    Файл /layouts/theme.php предоставляет базовую разметку шаблона. В нем вы можете определить, где должны отображаться виджеты, а также можете добавить новые.

    PHP:
    <?php if ($this['widgets']->count('MY-POSITION')):?>
        <section class="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. Это даст вашей позиции опции для установки макета, поведения responsive и разделителя.

    PHP:
    <?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; ?>
    Автор перевода
     
  2. Дмитрий2
    Оффлайн

    Дмитрий2 Новичок

    Здравствуйте.
    Подскажите, а как можно добавить обертку для содержимого модуля?
    Чтобы получилась такая разметка:
    <div class="uk-panel">
    <h3 class="uk-panel-title">CUSTOMER SERVICE</h3>
    <div class="My-Wrap">
    <p>Help Center</p>
    <p>My Account</p>
    <p>Track My Order</p>
    <p>Return Policy</p>
    <p>Price Match</p>
    <p>Gift Cards</p>
    <p>Contact Us</p>
    </div>
    </div>
     
  3. Максим
    Оффлайн

    Максим Новичок

    Добрый день! Все сделал, все получилось, все прекрасно. Но. Позиции добавляются только вертикально. Как сделать чтобы они выстраивались горизонтально?
     

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