Размещение рекламного блока Яндекс Директ в середине списка статей

может кто сталкивался с такой задачей

#1 9 сентября 2013 в 10:37
Приветствую!

нужно вставить блок Яндекс Директ после первой, после 5 и после последней публикации в шаблоне com_content_view.tpl.
в шаблоне список статей выводится циклом, как внедрить блоки в этот цикл?
может кто-то сталкивался с такой задачей?
Подскажите пожалуйста!
#2 9 сентября 2013 в 10:46
Это такая не навязчивая реклама профита?
#3 9 сентября 2013 в 11:01
это нормальная реклама профита😊и нормальная рекомендация. я бы еще посоветовал, при выводе списка статей, чтобы размер картинки в анонсах был как в РСЯ :)
#4 9 сентября 2013 в 12:06
вопрос состоит в том как разместить ЯДирект блок в средине списка, как его внедрить в цикл вывода списка статей в tpl файле.
#5 9 сентября 2013 в 14:27
Да мне тоже интересно, как сделать чтоб автоматом реклама выводилась в середине тела статьи. А не прописывать в каждой код рекламы
#6 9 сентября 2013 в 15:17
размещаешь часть статьи в Анонс статьи. если он нужен. а оставшуюся часть статьи в Полный текст статьи.(после того как нажмешь кнопочку источник) и в нужное место встраеваем рекламный код.
пример
#7 9 сентября 2013 в 18:13


вопрос состоит в том как разместить ЯДирект блок в средине списка, как его внедрить в цикл вывода списка статей в tpl файле.

SmoothJazz

цикличность есть у списка, значит есть счетчик, а значит можно применить условия:
допустим в том же темплейте статей есть цикл вывода списка статей(я на дефолтном пример привожу):
  1. {if $articles}
  2. {assign var="col" value="1"}
  3. <table class="contentlist" cellspacing="2" border="0" width="100%">
  4. {foreach key=tid item=article from=$articles}
из него видно, что foreach и есть цикл списка статей, теперь вам надо внутри задать условия ввида:
  1. {if $tid==2|| $tid==5} <tr><td>ТУТ КОД ЕПЕРНОЙ РЕКЛАМЫ=) </td></tr> {/if}
тут я задал что после второй и пятой статьи вывести код рекламы, по аналогии можете счетчик менять если еще надо добавить то добавляете код || $tid=10 к примеру. знак "||" в php означает или.

и все. вставлять сразу после
  1. {foreach key=tid item=article from=$articles}
#8 9 сентября 2013 в 21:56
зачем себе жизнь усложнять? facepalm
#9 9 сентября 2013 в 22:06
nedoriko,

после первой, после 5 и после последней публикации

SmoothJazz
В списке статей, не в статье.
#10 9 сентября 2013 в 22:07
ну знаешь проще когда автоматом вставляется код, нежели при каждой статье копи пасте делать. Тем более человеку надо при списке статей это делать, т.е. при выводе раздела.
#11 10 сентября 2013 в 12:47

В списке статей, не в статье.

lokanaft
scratchневнимательно прочел. zst
#12 10 сентября 2013 в 13:29
kirkr

Благодарю! Мир не без добрых людей! Спасибо!
все получилось.
#13 26 февраля 2017 в 09:51



вопрос состоит в том как разместить ЯДирект блок в средине списка, как его внедрить в цикл вывода списка статей в tpl файле.

SmoothJazz

цикличность есть у списка, значит есть счетчик, а значит можно применить условия:
допустим в том же темплейте статей есть цикл вывода списка статей(я на дефолтном пример привожу):
  1. {if $articles}
  2. {assign var="col" value="1"}
  3.  
  4. {foreach key=tid item=article from=$articles}
из него видно, что foreach и есть цикл списка статей, теперь вам надо внутри задать условия ввида:
  1. {if $tid==2|| $tid==5} ТУТ КОД ЕПЕРНОЙ РЕКЛАМЫ=) {/if}
тут я задал что после второй и пятой статьи вывести код рекламы, по аналогии можете счетчик менять если еще надо добавить то добавляете код || $tid=10 к примеру. знак "||" в php означает или.

и все. вставлять сразу после
  1. {foreach key=tid item=article from=$articles}

kirkr

Пытаюсь сделать по Вашему совету, вставляю в com_content_view.tpl код РСЯ после
  1. {foreach key=tid item=article from=$articles}
:

{if $tid==2|| $tid==5}<tr><td>{literal}<!-- Yandex.RTB R-A-20***** -->
<div id="yandex_rtb_R-A-20*****"></div>
<script type="text/javascript">
(function(w, d, n, s, t) {
w[n] = w[n] || [];
w[n].push(function() {
Ya.Context.AdvManager.render({
blockId: "R-A-20******",
renderTo: "yandex_rtb_R-A-20******",
horizontalAlign: false,
async: true
});
});
t = d.getElementsByTagName("script")[0];
s = d.createElement("script");
s.type = "text/javascript";
s.src = "//an.yandex.ru/system/context.js";
s.async = true;
t.parentNode.insertBefore(s, t);
})(this, this.document, "yandexContextAsyncCallbacks");
</script>{/literal}</td></tr>{/if}

В списке статей около каждой аннотации статьи появляется иконка блокнота, а сами блоки аннотаций статей уезжают вправо, см. скриншот и рекламный блок появляется только после второй статьи, а после пятой нет.
Что я делаю не так?


PS Инстант 1.10.5
Прикрепленный файл
1_fenmj.jpg 225 Кб
#14 8 марта 2017 в 18:53
Smc, Все работает, надо правильно ставить код
  1. {if $articles}
  2. {assign var="col" value="1"}
  3. <div class="contentlist">
  4. {foreach key=tid item=article from=$articles} {if $tid==1|| $tid==3|| $tid==7} {literal}<div class="module_adsence">
  5. <noindex>реклама тут код</noindex></div>{/literal} {/if}
#15 8 марта 2017 в 18:55


Smc, Все работает, надо правильно ставить код

  1. {if $articles}
  2. {assign var="col" value="1"}
  3.  
  4. {foreach key=tid item=article from=$articles} {if $tid==1|| $tid==3|| $tid==7} {literal}
  5. реклама тут код{/literal} {/if}

Helgi

Испробую, отпишусь. Спасибо за ответ!
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.