Vladimir_K

Вывод вставки в превью объявлений.

Recommended Posts

Здравствуйте.

Подскажите как в списке превью объявлений реализовать вывод вставки (например в виде .tpl файла) после определённого превью объявления, например после 5-го или 7-го. Что бы можно было вывести рекламное объявление или анонс. По аналогии с тем, как это сделано на различных сайтах с объявлениями или форумах - идёт 7 превьюшек --> затем блок с рекламой(анонсом и т.д.) --> ещё 10-15 объявлений. Как-то так. Надеюсь понятно объяснил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот стандартный цикл вывода объявлений

{section name=i loop=$grid_items}
тут вывод объявлений
{/section}

Добавить вставку через каждые 4 записи

{section name=i loop=$grid_items}
	тут все что было внутри
  {if $smarty.section.i.iteration%4==0}
  {include file="включаемый шаблон"}
  {/if}
{/section}

для другой периодичности сменить четверку в $smarty.section.i.iteration%4 на нужное число

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, abushyk сказал:

Вот стандартный цикл вывода объявлений


{section name=i loop=$grid_items}
тут вывод объявлений
{/section}

Добавить вставку через каждые 4 записи


{section name=i loop=$grid_items}
	тут все что было внутри
  {if $smarty.section.i.iteration%4==0}
  {include file="включаемый шаблон"}
  {/if}
{/section}

для другой периодичности сменить четверку в $smarty.section.i.iteration%4 на нужное число

А если вставка нужна только один раз? А то если после каждой 4-й записи вставлять "Сдаётся крутая квартира на Черёмушках", то пользователь с ума сойдёт при просмотре превьюшек) Листает страницы с превьюшками, а там: "Купи, купи, купи, купи..." :) 

Можно, конечно подобрать такое соотношение повторяемости и общего количества превьюшек, что бы  эта вставка выводилась всего один раз. Например  делаем 15  превью на страницу и в $smarty.section.i.iteration%4 меняем 4 на 10. Тогда на выходе наша вставка выведется только один раз. Но это хорошо, если так. А если нужно что бы вывод был только один раз и поближе к верху? Например после 5 превьюхи, но только один раз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А если вот так сделать:

{section name=i loop=$grid_items}
	тут все что было внутри
  {if $smarty.section.i.iteration==5}
  {include file="включаемый шаблон"}
  {/if}
{/section}

Т.е. указать ему явно, что после 5-го. Будет работать корректно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, вполне будет. Главное помнить, что значение iteration показывает номер текущего прохода цикла, но начинает отсчет с 1.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, abushyk сказал:

Да, вполне будет. Главное помнить, что значение iteration показывает номер текущего прохода цикла, но начинает отсчет с 1.

Всё заработало. Спасибо. Но по ходу тестирования возник ещё вопрос - можно ли ограничить выполнение данного условия, если на странице общее количество превьюшек менее определённого числа?

Т.е., что имеется ввиду. Если раздел сайта/страница заполнены объявлениями нормально и на страницу выводится по 15-20 превью объявлений, то всё окей. А вот если на странице всего 5-8 объявлений, то втыкать туда ещё и анонс или рекламу будет лишним.

Можно этот цикл модифицировать так, что бы он выполнялся только если общее количество превью на странице скажем более 10, а если менее 10, то он игнорировался?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, abushyk сказал:

{if $smarty.section.i.iteration==5}

------>


{if $grid_items|count>10 && $smarty.section.i.iteration==5}

 

Оно. Премного благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 20.01.2018 в 16:23, abushyk сказал:

{if $smarty.section.i.iteration==5}

------>


{if $grid_items|count>10 && $smarty.section.i.iteration==5}

 

Обернул инклюд, который вывожу после 5-го блока с превью объявлений в 

<div class="property span9">{include file='***.tpl'}</div>

А на сайте упорно выводится:

<div class="property span9" style="margin: 0px; padding: 0px; border-width: 0px;">

.....

</div>

Из-а этого блоки съезжают все.

Исчезает только после того, как обновишь страницу с очисткой кэша. 

Откуда он его берёт вообще? Я в коде такого не вижу даже. 

Есть вот такая штука. Очень похоже на то, что нам нужно:

<div class="property span9 {if $grid_items[i].bold_status==1} grid_list_bold{/if}{if $grid_items[i].premium_status==1} grid_list_premium{/if}{if $grid_items[i].vip_status==1} grid_list_vip{/if}">

Пробовал удалять - ничего. Всё так же.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

запустите браузер с выключенным javascript и посмотрите, появятся ли эти стили. если нет, значит какой-то плагин их применяет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
59 минут назад, abushyk сказал:

запустите браузер с выключенным javascript и посмотрите, появятся ли эти стили. если нет, значит какой-то плагин их применяет.

Ну да без javascript не подгружает стили. 

А как теперь понять какой именно плагин их погружает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Разобрались. 

Один из скриптов гугла сам дописывал лишние стили при выводе превью объявлений. Помогло вот такое решение. 

Вместо:

<div class="property span9">
   ....
</div>

Делаем вывод блока:

<div><div class="property span9"><div>
   ....
</div></div></div>

Т.е. и до и после оборачиваем нашу конструкцию в обычный div. Проблема ушла.

Спасибо за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Vladimir_K сказал:

Разобрались. 

Один из скриптов гугла сам дописывал лишние стили при выводе превью объявлений. Помогло вот такое решение. 

Вместо:


<div class="property span9">
   ....
</div>

Делаем вывод блока:


<div><div class="property span9"><div>
   ....
</div></div></div>

Т.е. и до и после оборачиваем нашу конструкцию в обычный div. Проблема ушла.

Спасибо за помощь.

'это вы о чем? можно сайт в личку чтобы посмотреть и понять.
вы вставляли какую то рекламу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, doma сказал:

'это ы о чем? можно сайт в личку чтобы посмотреть и понять.
вы вставляли какую то рекламу?

Вы выводите какие-то вставки в общем потоке тизеров (превью) у себя на сайте?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, doma сказал:

нет у нас ничего такого нет

Так а зачем оно вам тогда вообще нужно?!

5 минут назад, doma сказал:

что за тизеры и что за превью?

Под тизерами (teasers) я имел ввиду превью объявлений. Просто для меня привычнее такое название. В Sitebill это принято называть "превью". Это то, что у вас скорее всего выводит файл realty_grid_list.tpl

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Vladimir_K сказал:

Так а зачем оно вам тогда вообще нужно?!

Под тизерами (teasers) я имел ввиду превью объявлений. Просто для меня привычнее такое название. В Sitebill это принято называть "превью". Это то, что у вас скорее всего выводит файл realty_grid_list.tpl

превью картинка есть у всех кто на шаблоне реалия. да и чтобы правильнее понимать друг друга вам проще приложить скриншоты.
может то что вы делаете у нас давно стоит - просто вы называете это по другому

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
57 минут назад, doma сказал:

превью картинка есть у всех кто на шаблоне реалия. да и чтобы правильнее понимать друг друга вам проще приложить скриншоты.
может то что вы делаете у нас давно стоит - просто вы называете это по другому

Превью картинка - есть в любом шаблоне. Превью это изображение, уменьшенного качества для снятия нагрузки с сервера, представляющее первичное фото объекта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, TopRaN сказал:

Превью картинка - есть в любом шаблоне. Превью это изображение, уменьшенного качества для снятия нагрузки с сервера, представляющее первичное фото объекта.

а вот где бы их увидеть :) чтобы понять про какой они тизир говорят
если конечно они не избавились от картинок вообще или сделав их например размером 100на100

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 30.01.2018 в 22:23, Vladimir_K сказал:

Вы выводите какие-то вставки в общем потоке тизеров (превью) у себя на сайте?

как и прежде ждем скриншот

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас