Вставить баннер после 2-го объявления

Тема в разделе "Osclass", создана пользователем ogPlan, 4 май 2020.

XEvil 4.0 Релиз Состоялся!
Модераторы: _kot
  1. ogPlan

    ogPlan Создатель

    Регистр.:
    8 ноя 2017
    Сообщения:
    18
    Симпатии:
    1
    Добрый день! Никак не смог найти, как между объявлениями вставить свой код? Баннер или картинку и т.д.
    Где искать цикл вывода объявлений? Думаю это как-то по другому тут работает?)))
    Спасибо!
     
  2. ogPlan

    ogPlan Создатель

    Регистр.:
    8 ноя 2017
    Сообщения:
    18
    Симпатии:
    1
    Для своей темы (mcfly) нашел решение. Если будет кому нужно - пишите
     
  3. seadon

    seadon Постоялец

    Регистр.:
    16 дек 2009
    Сообщения:
    54
    Симпатии:
    9
    Если для других тем решение актуально - поделитесь, конечно
     
  4. ogPlan

    ogPlan Создатель

    Регистр.:
    8 ноя 2017
    Сообщения:
    18
    Симпатии:
    1
    Изменения вносил в файлы темы, поэтому в других темах может не сработать (я так думаю), но функции использованы стандартные osclass.
    Это одно из возможных решений:

    в файле

    /oc-content/themes/mcfly/parts/loop/loop.php

    Добавляем цикл:

    В коде:

    if ($type == "item") :
    osc_reset_items();
    while (osc_has_items()) :
    osc_current_web_theme_path('parts/loop/loop-single.php');
    endwhile;

    Меняем

    while (osc_has_items()) :
    osc_current_web_theme_path('parts/loop/loop-single.php');
    endwhile;

    На код

    $x = 1;
    while ($x <= 3) :
    while (osc_has_items()) :
    osc_current_web_theme_path('parts/loop/loop-single.php');
    $x++;
    if ($x==3) require "moyfile.php";
    endwhile;
    endwhile;


    Где $x <= 3 - число циклов. Соответственно в этом коде после второго объявления вставляется мой код.
    Мой код находится в файле moyfile.php. Чуть изменив код можно просто вставить свою картинку, баннер, текст и т.д.
     
    seadon нравится это.
  5. krdma

    krdma Постоялец

    Регистр.:
    1 июн 2009
    Сообщения:
    134
    Симпатии:
    41
    А вам не кажется что с вашим кодом что-то не так?
    для чего while ($x <= 3) : ?
    во первых повторно он сработает только на страницах где меньше 2х обьявлений
    во вторых он ничего полезного кроме зацикливания не принесет.

    если это для того чтобы отображался код на страницах где только одно обьявление, то лучше сделать проверку на количество обьявлений.
     
    seadon нравится это.
  6. ogPlan

    ogPlan Создатель

    Регистр.:
    8 ноя 2017
    Сообщения:
    18
    Симпатии:
    1
    while ($x <= 3) : ?

    Все так, тут он отсчитывает 2 цикла (вывод первых 2 объявлений) и потом вставляет мой код.

    Главное работает. Могу пример страницы скинуть.
    Ну и что-бы не спорить лишний раз - дайте свой вариант. Проверим.