На сайте http://www.top7news.gr/ увидел блок рекламы во вьюсе. Как сделать также? И что интересно - это не просто блок между выборками - это содержимое выборки.
Вложение | Размер |
---|---|
screenshot255.jpg | 275.09 КБ |
На сайте http://www.top7news.gr/ увидел блок рекламы во вьюсе. Как сделать также? И что интересно - это не просто блок между выборками - это содержимое выборки.
Вложение | Размер |
---|---|
screenshot255.jpg | 275.09 КБ |
Комментарии
вариантов много, самый простой через темизацию.
Впихнуть блок с адсенсом во второй по счету row, не выводя в нем содержимое?
Во views-view--и.т.д.tpl.php.
Немного не понимаю, пока во всяком случае.
я делал подобное для табличного вывода, если выводить для грида будет чуть сложнее.
Для грида 3x3 вам нужно уменьшить кол-во элементов на страницу до 8 и в шаблоне добавить вывод нужного рекламного блока в нужном вам месте.
Ставишь [module=Panels] и вьюсом делаешь представление типа "Контекст"
Добавляешь этот контекст в страницу, созданную через панели.
Далее на этой странице можешь вывести отдельно каждую строку из выдачи вьюса.
Если ниче не понял - кури мануалы, это не оч простая фишка. Зато очень крутая и гибкая.
http://www.drupal.ru/node/90144
а зачем?
Если в шаблоне вьюса выводится
<?php print $row; ?>
<?php endforeach; ?>
если сеткой или в таблице то эти элементы выводятся в табличном виде ,но все равно в цикле
кто мешает внутри цикла указать
print $ad;
Можно и так.
Вот-вот и я об этом, а содержимое 3-его row в топку?
print $row;
if ($id == 3) {
print $ad;
}
}
никуда строка не денется
а если чуть чуть подумать?
Да, немного загнался. Пора в отпуск. Всем спасибо.
Кстати, пришел ответ от разработчика этого сайта.
--
To answer your question, all you have to do is override the views-view-fields.tpl.php template file for the specific view in question. You can do that by copying the original template file from the views module and pasting it in the template folder of the theme you are using, renaming it to match your view's machine name (do a google search on that, there is plenty of info if you get stuck).
Inside this template you can append the google adsense script code to the $field->content variable, with your custom mark up that you'll use to style/position the ad.
For example:
<?php$adsense = '<div class="google-ad-box"><script ........... google adsense code...... </script></div>'
$field->content = $field->content.$adsense;?>
Now if you do only that you will get a google ad inside every row, of course we don't want that, thus you will need to create a counter to track the row you want to append the ad to and print the adsense code only in there.
If the abode sounds too complicated you could use the Views PHP module, but I'd advise against that, as it's bad practice to store and execute PHP code from the database.
I hope I helped you, if you need anything in addition don't hesitate to ask.
Best regards,
Leonidas
--
Вот если кому еще интересно.