1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Вывод рекламы в определенной категории

Тема в разделе "Модификации шаблонов", создана пользователем Metamorphosis, 26.05.2014.

Загрузка
  1. Metamorphosis

    Metamorphosis Активный пользователь

    Регистрация:
    11.02.14
    Сообщения:
    19
    Симпатии:
    7
    Версия XF:
    1.2.5
    Сам искал как это сделать. Нашел тут тему где вроде бы что-то написано. Но запутанно и не полностью.)
    Итак.
    Для начала открываем шаблон node_category_level_1 и ищем там:
    Код:
    <h3 class="nodeTitle"><a href="{xen:link categories, $category}">{$category.title}</a></h3>
    Она в начале кода, так что искать долго не придется.

    Что мы делаем, в этот код, а именно между </a> и </h3> мы вставляем следующее:
    Код:
    <xen:if is="{$category.node_id} == 3">
    <div class="EstBS-bannerContent" style="position:relative;text-align:right;"><a href="/threads/223981/"
    alt="Удаленное администрирование. Защита от DDoS."
    title="Удаленное администрирование. Защита от DDoS."
    style="font-weight: bold; color: #0295ee; background: #fff; padding: 2px 5px 2px 5px; margin: 0 10px 0 0;
    border-radius: 4px 4px 4px 4px; border: 1px solid #f9d9b0;">Удаленное администрирование. Защита от DDoS.</a>
    </div>
    <xen:elseif  is="{$category.node_id} == 7" />
    <div class="EstBS-bannerContent" style="position:relative;text-align:right;"><a href=""
    alt="Реклама от metamorphosis"
    title="Metamorphosis"
    style="font-weight: bold; color: #0295ee; background: #fff; padding: 2px 5px 2px 5px; margin: 0 10px 0 0;
    border-radius: 4px 4px 4px 4px; border: 1px solid #f9d9b0;">Metamorphosis</a>
    </div>
    <xen:else />
    
    <div class="EstBS-bannerContent" style="position:relative;text-align:right;"><a href=""
    alt="Закажите рекламу на форуме!"
    title="Пустая площадка для вашей рекламы!"
    style="font-weight: bold; color: #0295ee; background: #fff; padding: 2px 5px 2px 5px; margin: 0 10px 0 0;
    border-radius: 4px 4px 4px 4px; border: 1px solid #f9d9b0;">Пустая площадка для вашей рекламы!</a>
    </div>
    
    
    </xen:if>
    
    Где в <xen:elseif is="{$category.node_id} == 3" /> цифра 3 указывает на номер категории.

    Дальше мы открываем node_list.css и добавляем в конец следующее:
    Код:
    .EstBS-bannerContent{position:relative;float:right;margin:50px
    10px 2px 0}div.categoryText h3.nodeTitle div.EstBS-bannerContent{margin:0}.estjb-launcher-box{display:inline-block;height:24px;margin-top:4px}.estjb-launcher-open{display:block;float:left;width:5px;height:24px;background:transparent url('styles/default/esthetic/jb/launcher-open-5x24.png') 0 0 no-repeat}
    
    В итоге получается:

    122222223.PNG

    По теме:

    А Шаблон самой рекламы:
    Код:
    <div class="EstBS-bannerContent" style="position:relative;text-align:right;"><a href=""
    alt="Закажите рекламу на форуме!"
    title="Пустая площадка для вашей рекламы!"
    style="font-weight: bold; color: #0295ee; background: #fff; padding: 2px 5px 2px 5px; margin: 0 10px 0 0;
    border-radius: 4px 4px 4px 4px; border: 1px solid #f9d9b0;">Пустая площадка для вашей рекламы!</a>
    </div>
    
    Удачи! :)

    Metamorphosis.
     
    Romchik®, Aksim, Mad_Mike и 4 другим нравится это.
  2. Lex

    Lex Dura Lex

    Регистрация:
    27.11.10
    Сообщения:
    820
    Симпатии:
    159
    Версия XF:
    1.5.1
    Заверните все в модуль, а так замучаешься все время вносить изменения при каждом обновлении какого либо шаблона.
     
    exarh нравится это.
  3. CaXaPoK

    CaXaPoK Пользователь

    Регистрация:
    14.05.14
    Сообщения:
    4
    Симпатии:
    0
    Версия XF:
    1.3.4
    а баннеры как тут adg-2.png как реализовать?
     
  4. mahorka42

    mahorka42 Местный

    Регистрация:
    08.10.10
    Сообщения:
    210
    Симпатии:
    18
    Версия XF:
    1.4.0
    создать пустой шаблон например sponsor
    в шаблон node_forum_level_2 вставить
    Код:
    <xen:include template="sponsor" />
    в шаблон спонсор засунуть банеры sponsor
    Код:
    <xen:if is="{$forum.node_id} == 1">
    код банера
    <xen:elseif is="{$forum.node_id} == 3" />
    код банера
    <xen:else />
    </xen:if>
    == 1,2,3....n это id категорий в которую хотите воткнуть рекламу

    для выравнивания в extra.css можно попробовать добавить это

    Код:
    .categoryad1 {
    float: right;
    margin: -23px 10px 6px 0px !important;
    }
    
    при этом нужно <xen:include template="sponsor" /> заключить в див
    Код:
    <div class="categoryad1"><xen:include template="sponsor" /></div>
    цифры подберете сами
     
    Пуська, CaXaPoK, Loskutnikov и ещё 1-му нравится это.
  5. Loskutnikov

    Loskutnikov Новичок

    Регистрация:
    26.06.14
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.3.0
    Ребята, большое mahorka42, пол часа покопался с таблицей ксс, но вроде всё здорово получилось. Очень круто.
     

    Вложения:

  6. CaXaPoK

    CaXaPoK Пользователь

    Регистрация:
    14.05.14
    Сообщения:
    4
    Симпатии:
    0
    Версия XF:
    1.3.4
    Код:
    <xen:include template="sponsor" />
    а куда именно вставлять этот код?
     
  7. Skaiman

    Skaiman Местный

    Регистрация:
    08.06.14
    Сообщения:
    157
    Симпатии:
    230
    Версия XF:
    1.4.0
    Сделал баннер с hover эффектом горизонтального смещения:

    [​IMG]

    Код:
    <div class="sidepan pic"><img src="АДРЕС БАННЕРА/banner.png" title="Здесь может быть Ваша реклама"></div>
    CSS:
    Код:
    .pic {
      height: 31px;
      width: 88px;
      overflow: hidden;
      border: 0;
      float: right;
      margin: -23px 10px 6px 0px !important
    }
    .pic:hover {
      cursor: pointer;
    }
    .sidepan img {
      margin-left: 0px;
      -webkit-transition: margin 1s ease;
         -moz-transition: margin 1s ease;
           -o-transition: margin 1s ease;
          -ms-transition: margin 1s ease;
              transition: margin 1s ease;
    }
    .sidepan img:hover {
      margin-left: -88px;
    }
     
    patrig, Loskutnikov, CaXaPoK и ещё 1-му нравится это.
  8. Loskutnikov

    Loskutnikov Новичок

    Регистрация:
    26.06.14
    Сообщения:
    5
    Симпатии:
    0
    Версия XF:
    1.3.0
    в шаблон node_forum_level_2
     
  9. CaXaPoK

    CaXaPoK Пользователь

    Регистрация:
    14.05.14
    Сообщения:
    4
    Симпатии:
    0
    Версия XF:
    1.3.4
    Это я знаю, я имею введу куда в этом шаблоне в крутить этот код
    --- добавлено : Jun 30, 2014 7:56 AM ---
    вставляю код, все как описано тут а на форуме ничего не отображается
    --- добавлено : Jun 30, 2014 7:58 AM ---
    Стиль Flexile
     
    Последнее редактирование модератором: 08.07.2014
  10. Skaiman

    Skaiman Местный

    Регистрация:
    08.06.14
    Сообщения:
    157
    Симпатии:
    230
    Версия XF:
    1.4.0
    1. Из демо сохраняем картинку banner.png. Заливаем ее в папку xenforo своего стиля.
    2. Создаем шаблон banner "Внешний вид" --> "Шаблоны" --> "+Создать новый шаблон". Смотрим, что бы был Ваш стиль, а не Мастер или Дефолтный (сверху выпадающее меню). В него вносим:
    Код:
    <xen:if is="{$forum.node_id} == 1">
    <div class="sidepan pic"><img src="@imagePath/xenforo/banner.png" title="Здесь может быть Ваша реклама"></div>
    <xen:elseif is="{$forum.node_id} == 2" />
    <div class="sidepan pic"><img src="@imagePath/xenforo/banner.png" title="Здесь может быть Ваша реклама"></div>
    <xen:else />
    </xen:if>
    Указываем id форумов на которых Вам надо отображение баннера.
    3. В шаблоне node_forum_level_2 находим строчку:
    Код:
    <h3 class="nodeTitle"><xen:if is="{$watchCheckBoxName}"><input type="checkbox" name="{$watchCheckBoxName}" value="{$forum.node_id}" />&nbsp;</xen:if><a href="{xen:link forums, $forum}" data-description="{xen:if @nodeListDescriptionTooltips, '#nodeDescription-{$forum.node_id}'}">{$forum.title}</a></h3>
    И между (в конце строчки) </a></h3>, вставляем:
    Код:
    <xen:include template="banner" />
    4. Открываем шаблон node_list.css (он будет на вкладке отображаться) и вниз вставляем:
    Код:
        .pic {
          height: 31px;
          width: 88px;
          overflow: hidden;
          border: 0;
          float: right;
          margin: 2px auto !important;
        }
        .pic:hover {
          cursor: pointer;
        }
        .sidepan img {
          margin-left: 0px;
          -webkit-transition: margin 1s ease;
             -moz-transition: margin 1s ease;
               -o-transition: margin 1s ease;
              -ms-transition: margin 1s ease;
                  transition: margin 1s ease;
        }
        .sidepan img:hover {
          margin-left: -88px;
        }
    
    В CSS margin: 2px auto !important; выравнивание баннера, можно подогнать (2px отступ сверху)
     
    Последнее редактирование: 30.06.2014
    CaXaPoK и Mirovinger нравится это.
  11. Skaiman

    Skaiman Местный

    Регистрация:
    08.06.14
    Сообщения:
    157
    Симпатии:
    230
    Версия XF:
    1.4.0
    Так теперь, что касаемо первого сообщения от Metamorphosis, посмотрел его код, там очень много лишнего. Немного подкорректировал.
    Создаем шаблон banner_two, в него пишем:
    Код:
    <xen:if is="{$category.node_id} == 3">
    <div class="banner_con"><a href="#" title="Удаленное администрирование">Удаленное администрирование. Защита от DDoS.</a></div>
    <xen:elseif  is="{$category.node_id} == 7" />
    <div class="banner_con"><a href="#" title="Реклама от metamorphosis">Metamorphosis</a></div>
    <xen:else />
    <div class="banner_con"><a href="#" title="Пустая площадка для вашей рекламы!">Пустая площадка для вашей рекламы!</a></div>
    </xen:if>
    В строчку, как указано у него вставляем:
    Код:
    <xen:include template="banner_two" />
    В node_list.css добавляем:
    Код:
    .banner_con {
    position:relative;
    float:right;
    margin:50px 10px 2px 0;
    background:@secondaryLightest;
    padding:4px 6px;
    font-size: 11px;
    border: 1px solid @secondaryLight;
    border-radius: 4px;
    }
    .banner_con a:hover {
    text-decoration: none;
    color: @secondaryMedium!important;
    }
    div.categoryText h3.nodeTitle div.banner_con {
    margin:0 auto;
    }
    Ну и скриншот того, что у меня получилось в общем :)
    Image 7.png
     
    Loskutnikov и Mirovinger нравится это.
  12. mahorka42

    mahorka42 Местный

    Регистрация:
    08.10.10
    Сообщения:
    210
    Симпатии:
    18
    Версия XF:
    1.4.0
    у меня после этого
    Код:
    <xen:hook name="node_forum_level_2_before_lastpost" params="{xen:array 'forum={$forum}'}" />
    подбирайте методом научного тыка.
    выглядит у меня это так Безымянный.jpg
     
  13. Dimon7

    Dimon7 Активный пользователь

    Регистрация:
    22.08.14
    Сообщения:
    22
    Симпатии:
    2
    Вроде не совсем я тупой но у меня не один способ не работает. Вру, из первого поста реклама пояаилась но дико в изуродованном виде - баннеры наехали на название категорий и сползли вниз, в общем совершенно не нормально. Способы Махорки и Скаймена вообще не проявили себя никак. Может шаблон слишком навороченный? Fracture Style.
     
  14. Skaiman

    Skaiman Местный

    Регистрация:
    08.06.14
    Сообщения:
    157
    Симпатии:
    230
    Версия XF:
    1.4.0
    Ни чего там навороченного, причина наверное в другом
     
  15. Dimon7

    Dimon7 Активный пользователь

    Регистрация:
    22.08.14
    Сообщения:
    22
    Симпатии:
    2
    Я не понял это. В какую строку, объясните пжст тупому
     
  16. Skaiman

    Skaiman Местный

    Регистрация:
    08.06.14
    Сообщения:
    157
    Симпатии:
    230
    Версия XF:
    1.4.0
    У него, т.е у Metamorphosis, вставляется весь код, а у меня был сделан отдельный шаблон. Значит <xen:include template="banner_two" /> надо вставить между </a> и </h3>. Это не просто строка, это созданный шаблон. Блин, хоть читайте, что в топике написано, хватаете частями, а суть то мимо проходит, вот и косяки.
    --- добавлено : Aug 26, 2014 10:09 AM ---
    Да еще, там циферки есть, в примере они с потолка, их надо менять на конкретные id
     
    Последнее редактирование модератором: 03.09.2014
  17. Dimon7

    Dimon7 Активный пользователь

    Регистрация:
    22.08.14
    Сообщения:
    22
    Симпатии:
    2
    Какое с потолка! хотя может и заклинило меня... по крайней мере теперь Вы яснее написали. Конкретные id где смотреть?
     
  18. Dimon7

    Dimon7 Активный пользователь

    Регистрация:
    22.08.14
    Сообщения:
    22
    Симпатии:
    2
    Продлжаю сам с собой )
    Сделал по инструкции 11 сообщения и получил вот что. Причем если добавить раздел в категорию 3, то баннер становится не виден.
     

    Вложения:

    • xenf.jpg
      xenf.jpg
      Размер файла:
      178,8 КБ
      Просмотров:
      116
  19. Skaiman

    Skaiman Местный

    Регистрация:
    08.06.14
    Сообщения:
    157
    Симпатии:
    230
    Версия XF:
    1.4.0
    Да поймите же! Это не инструкции, это просто люди делятся тем, как они делали. Я например делал на дефолтном стиле и как будет выглядеть на другом не знаю, просто не возможно знать специфику всех стилей. Вы хотите готового решения, не пытаясь разобраться. Дан пример в HTML и CSS, так и разбирайтесь там.
     
  20. mahorka42

    mahorka42 Местный

    Регистрация:
    08.10.10
    Сообщения:
    210
    Симпатии:
    18
    Версия XF:
    1.4.0
    Код:
    <xen:include template="banner_two" />
    это скорее всего не в том месте вставлено. попробуйте вставлять в разные места

    id категорий и разделов это цифра в ссылке на них, можно глянуть в админке в древе узлов
    Код:
    http://www.xf-russia.ru/forum/#novosti-v-mire-xenforo.20
    тут например id 20
     
    Последнее редактирование: 31.08.2014
    Dimon7 нравится это.

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