Баннеры в названиях категорий

Тема в разделе "Инструкции и основная информация", создана пользователем kasim, 04.03.16.

  1. kasim

    kasimУчастник

    Сообщения:
    28
    Репутация:
    6
    Рейтинг:
    +11 / -0
    XenForo поддерживает много мест, куда можно установить баннер. Для этого созданы специальные hook's. А как быть, если хочется добавить баннер в место, по мнению разработчиков, не предназначенное для этого? Например, в название категории.

    web.screenshot.2016-03-03.17-13-40.png

    Делается очень просто. Шаблон, отвечающий за отображение категорий главной станицы называется node_category_level_1. В нём находится код, отвечающий за заголовок категории:
    Код:
    <h3 class="nodeTitle"><a href="{xen:link categories, $category}">{$category.title}</a></h3>
    
    Чтобы вывести баннер, нужно между тегами </a></h3> добавить следующий код:

    Код:
    
    <div class="ad_nodeTitle_banner">
      <xen:if is="{$category.node_id} == 1">
        <a rel="nofollow" href="#" target="_blank">[ Реклама ]</a>
      <xen:elseif is="{$category.node_id} == 3" />
        <a rel="nofollow" href="#" target="_blank">[ Реклама ]</a>
      </xen:if>
    </div>
    
    {$category.node_id} == 1 и {$category.node_id} == 3 - это условия, которые будут отображать баннеры в категориях с ID = 1 и ID = 3, соответственно.

    Можно добавить неограниченное количество баннеров, расширив приведённый выше код, например:

    Код:
    
    <div class="ad_nodeTitle_banner">
      <xen:if is="{$category.node_id} == 1">
        <a rel="nofollow" href="#" target="_blank">[ Реклама ]</a>
      <xen:elseif is="{$category.node_id} == 3" />
        <a rel="nofollow" href="#" target="_blank">[ Реклама ]</a>
      <xen:elseif is="{$category.node_id} == 5" />
        <a rel="nofollow" href="#" target="_blank">[ Реклама ]</a>
      <xen:elseif is="{$category.node_id} == 7" />
        <a rel="nofollow" href="#" target="_blank">[ Реклама ]</a>
      <xen:elseif is="{$category.node_id} == 9" />
        <a rel="nofollow" href="#" target="_blank">[ Реклама ]</a>
      <xen:elseif is="{$category.node_id} == 11" />
        <a rel="nofollow" href="#" target="_blank">[ Реклама ]</a>
      </xen:if>
    </div>
    
    Код:
    В этом коде, баннер выводится уже в категориях с ID 3, 5, 7, 9 и 11.
    
    Как только код с баннерами будет подготовлен, необходимо в EXTRA.css добавить темизацию ссылок. Для этого необходимо открыть EXTRA.css и добавить:
    
    [CODE]/**
    - * Category Banners
    - * by WebNull.info
    - */
    
    .ad_nodeTitle_banner {
      float: right;
    }
    В классе .ad_nodeTitle_banner {...} можно прописать любую темизацию за Ваш вкус.
     
    • Мне понравилось Мне понравилось x 1
      Последнее редактирование модератором: 16.03.16
    • IonRadu

      IonRaduУчастник

      Сообщения:
      53
      Репутация:
      5
      Рейтинг:
      +1 / -0
      Код:
      <xen:require css="node_list.css" />
      <xen:require css="node_category.css" />
      
      <li class="node category level_{$level} node_{$category.node_id}" id="{xen:helper linktitle, $category.node_id, $category.title, 1}">
      
          <div class="nodeInfo categoryNodeInfo categoryStrip {xen:if '{$uix_nodeClasses.{$category.node_id}}', '{$uix_nodeClasses.{$category.node_id}}'}">
        
              <div class="categoryText">
                  <h3 class="nodeTitle">
                      <xen:if is="@uix_nodeIcons_categoryStrip">
                      <xen:include template="uix_nodeIcon">
                          <xen:set var="$state">{$category.hasNew}</xen:set>
                          <xen:set var="$type">category</xen:set>
                          <xen:set var="$nodeId">{$category.node_id}</xen:set>
                          <xen:set var="$location">categoryStrip</xen:set>
                      </xen:include>
                      </xen:if>
                      <a href="{xen:link categories, $category}" data-description="{xen:if @uix_categoryStrip_descriptionTooltips, '#nodeDescription-{$category.node_id}'}">{$category.title}</a>
                  </h3>
                  <xen:if is="{$category.description}"><blockquote class="nodeDescription {xen:if @uix_categoryStrip_descriptionTooltips, nodeDescriptionTooltip} baseHtml" id="nodeDescription-{$category.node_id}">{xen:raw $category.description}</blockquote></xen:if>
              </div>
              <xen:if is="@uix_collapseNodes"><a href="#" class="uix_collapseNodes" title="{xen:phrase uix_toggle_visibility}"><i class="uix_icon uix_icon-collapse"></i></a></xen:if>
            
          </div>
        
          <xen:if is="{$renderedChildren}">      
              <ol class="nodeList">
                  <xen:foreach loop="$renderedChildren" value="$child">{xen:raw $child}</xen:foreach>
              </ol>
          </xen:if>
          <xen:if is="@uix_nodeStyle"><div class="clear"></div></xen:if>
          <span class="tlc"></span>
          <span class="trc"></span>
          <span class="blc"></span>
          <span class="brc"></span>
      </li>
      У миня нету
      Код:
      <h3 class="nodeTitle"><a href="{xen:link categories, $category}">{$category.title}</a></h3>
      Где найти?
       
    • bakuryu

      bakuryuУчастник

      Сообщения:
      5
      Репутация:
      5
      Рейтинг:
      +0 / -0
      Благодарю за инструкцию, все получилось.