Банер между объявлениями в AdsManager? Как сделать?

  • 11 Ответов
  • 686 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

gard88

  • ***
  • 61
  • 0
Необходимо всунуть баннер между объявлениями на странице list!
Кто нибудь делал? Поделитесь вариантами!

*

Shustry

  • *****
  • 6426
  • 733
  • Рисую дизайны
Нужно в шаблоне, где у вас объявления выводятся в цикле, вставить счётчик и, после нужного объявления, вывести позицию модулей. Покажите файл, в котором вывод формируется, я помогу переделать.
Бесплатно консультирую по дизайну и вёрстке (только в icq и личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!

*

gard88

  • ***
  • 61
  • 0
Нужно в шаблоне, где у вас объявления выводятся в цикле, вставить счётчик и, после нужного объявления, вывести позицию модулей. Покажите файл, в котором вывод формируется, я помогу переделать.
В одном из этих файлов. Они отвечают за вывод страницы.
По идее нужно прописать условие вывода баннера после строки вывода самих объявлений, но где и как?!
\components\com_adsmanager\views\list\tmpl\default.php
Спойлер
[свернуть]

\components\com_adsmanager\views\list\view.html.php
Спойлер
[свернуть]
« Последнее редактирование: 15.12.2015, 23:59:18 от gard88 »

*

Shustry

  • *****
  • 6426
  • 733
  • Рисую дизайны
Правим в первом файле. Общий код для вывода позиции модуля (его и будем вставлять):

Код: php
$document   = & JFactory::getDocument();
$renderer   = $document->loadRenderer('modules');
$options    = array('style' => 'xhtml');
$position   = 'article-banners';
echo $renderer->render($position, $options, null);

Объекты у вас, судя по всему, выводятся двумя типами разметки: списком и таблицей. Сам хз, С ADSменеджером не работаю. Правим:

1. сразу после строки

Код: php
defined('_JEXEC') or die( 'Restricted access' );

добавляем

Код: php
$document   = & JFactory::getDocument();
$renderer   = $document->loadRenderer('modules');
$options    = array('style' => 'xhtml');
$position   = 'article-banners';

2. в районе 218-й строки:

Код: php
foreach($this->contents as $content) 
{

заменяем на

Код: php
$x = 0; //добавим счётчик
$colspan = count($this->columns) + 2; //судя по разметке, колонок две обязательных, остальные в зависимости от настроек
foreach($this->contents as $content)
{
if ($x == 4) {
echo '<tr><td colspan="'.$colspan.'">';
echo $renderer->render($position, $options, null);
echo '</td></tr>';
}
$x++; //наращиваем.

3. в районе 306-й строки:

Код: php
<?php foreach($this->contents as $key => $content) 
{

заменяем на

Код: php
<?php foreach($this->contents as $key => $content) 
{
if ($key == 4) {
echo $renderer->render($position, $options, null);
}
Бесплатно консультирую по дизайну и вёрстке (только в icq и личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!

*

gard88

  • ***
  • 61
  • 0
Правим в первом файле. Общий код для вывода позиции модуля (его и будем вставлять):

Код: php
$document   = & JFactory::getDocument();
$renderer   = $document->loadRenderer('modules');
$options    = array('style' => 'xhtml');
$position   = 'article-banners';
echo $renderer->render($position, $options, null);

Объекты у вас, судя по всему, выводятся двумя типами разметки: списком и таблицей. Сам хз, С ADSменеджером не работаю. Правим:

1. сразу после строки

Код: php
defined('_JEXEC') or die( 'Restricted access' );

добавляем

Код: php
$document   = & JFactory::getDocument();
$renderer   = $document->loadRenderer('modules');
$options    = array('style' => 'xhtml');
$position   = 'article-banners';

2. в районе 218-й строки:

Код: php
foreach($this->contents as $content) 
{

заменяем на

Код: php
$x = 0; //добавим счётчик
$colspan = count($this->columns) + 2; //судя по разметке, колонок две обязательных, остальные в зависимости от настроек
foreach($this->contents as $content)
{
if ($x == 4) {
echo '<tr><td colspan="'.$colspan.'">';
echo $renderer->render($position, $options, null);
echo '</td></tr>';
}
$x++; //наращиваем.

3. в районе 306-й строки:

Код: php
<?php foreach($this->contents as $key => $content) 
{

заменяем на

Код: php
<?php foreach($this->contents as $key => $content) 
{
if ($key == 4) {
echo $renderer->render($position, $options, null);
}
Кое-что получилось. Но по-моему код кривоватый, где-то что-то залезло друг на друга. Видно по штриху.
Хотя вроде ровно) в браузере криво отображало.
Как задать несколько позиций? Либо прописать вывод через каждое N-ое?
« Последнее редактирование: 16.12.2015, 14:22:06 от gard88 »

*

Shustry

  • *****
  • 6426
  • 733
  • Рисую дизайны
Всё там правильно. Вы модуль опубликовали в позицию article-banners?
Бесплатно консультирую по дизайну и вёрстке (только в icq и личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!

*

gard88

  • ***
  • 61
  • 0
Всё там правильно. Вы модуль опубликовали в позицию article-banners?
Всё там правильно. Вы модуль опубликовали в позицию article-banners?
Хотя вроде ровно) в браузере криво отображало.
Как задать несколько позиций? Либо прописать вывод через каждое N-ое?
Секунду. Сейчас опубликую!
« Последнее редактирование: 16.12.2015, 14:22:16 от gard88 »

*

gard88

  • ***
  • 61
  • 0
Всё там правильно. Вы модуль опубликовали в позицию article-banners?
Да. Всё появилось. Остаётся вопрос про несколько позиций.

*

Shustry

  • *****
  • 6426
  • 733
  • Рисую дизайны
А в чём вопрос? Общий рецепт я описал.
Бесплатно консультирую по дизайну и вёрстке (только в icq и личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!

*

gard88

  • ***
  • 61
  • 0
А в чём вопрос? Общий рецепт я описал.
Вопрос в том, то писать новую позицию, либо этой задавать условие?

*

Shustry

  • *****
  • 6426
  • 733
  • Рисую дизайны
Вопрос в том, то писать новую позицию, либо этой задавать условие?

Не понял.
Бесплатно консультирую по дизайну и вёрстке (только в icq и личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!

*

gard88

  • ***
  • 61
  • 0
Не понял.
Это я сразу не понял))))
Плюсую. С меня рублей на пивко!