Разместить код между статьёй и комментариями, вопрос [Решено]
Прислано: quip@drupal.org
сб, 28/11/2009 - 15:09
Собственно сабж. Есть сайт с кучей статей, форумм и т.д. Требуется разместить блок контексткной рекламы между самой статьёй и комментариями. Вставил его в node.tpl.php, выглядит и работает замечательно, за исключением одного "но" - этот код после статьи теперь отображается и в списке нод (ну раздел "Статьи", например) и после каждого комментария на форуме и после простых страниц с информацией типа "Контакты", что неприемлемо. У всех страниц (и статьи и информационные страницы) один и тот же тип контента - "Page (страница)". По урлу статьи тоже разделить их никак нельзя. Как разместить код лишь один раз?
спасибо.
- quip@drupal.org's blog
- Для комментирования войдите или зарегистрируйтесь
<? if( $page and $node->type ='page' ): ?> ... google ads ... <? endif; ?>
- Для комментирования войдите или зарегистрируйтесь
<? if( $page and $node->type ='page' ): ?>
... google ads ...
<? endif; ?>
все отлично, спасибо. но все же блок вылазит еще на информационных страницах типа "Мои контакты", чего не хочется =\
- Для комментирования войдите или зарегистрируйтесь
я мучаю мудулем
content tamplete
- Для комментирования войдите или зарегистрируйтесь
модулем слишком громоздко :(
попробовал выводить код рекламы только по !isset($flag), а флаг прописывать в коде статьи, но все равно показывается =\
- Для комментирования войдите или зарегистрируйтесь
и почему-то приведённому выше коду блок все равно выводится на story страницах.
- Для комментирования войдите или зарегистрируйтесь
придумал выход - для информационных страниц создать свой тип контента и юзать шаблон node-имятипа.tpl.php
- Для комментирования войдите или зарегистрируйтесь
может проблема в обновление кеша темплейта, всеже проверка на $node->type четко привязывает к типу ноды или возможно ваши информационные страницы сделаны на тех же типах, что и статьи ... рецепт просто, осталось подогнать структуру ...
- Для комментирования войдите или зарегистрируйтесь
кстати когда этот код вставляю в шаблон page.tpl.php он не работает =\
<?php if( $page and $node->type !='error_page' ): ?>
... google ads ...
<? endif; ?>тоже не работает
- Для комментирования войдите или зарегистрируйтесь
есть еще идеи?
- Для комментирования войдите или зарегистрируйтесь
Ну может стоит немного почитать мануалы для начала ???
В шаблоне page.tpl.php нету переменной $node ... этот код прописывается в node.tpl.php ... можно сделать ещё проще, создать файл node-{type}.tpl.php и в него прописать ад ... а можно выложить эту задачу в разделе "http://www.drupal.ru/forum/commerce/job" и забыть о этой проблеме :)
- Для комментирования войдите или зарегистрируйтесь
Попробуй таким путём:
Добавление региона для блоков в Drupal 6.x.
- Для комментирования войдите или зарегистрируйтесь




Комментарии