Из заголовка суть проблемы врятли можно понять, поэтому подробнее:
Есть сайт на drupal6 _bestblok.ru В левом сайдбаре есть меню, сформированное из терминов таксономии, по каждому термину надо выводить оригинальный текст. Тоесть например на этой страничке _bestblok.ru/taxonomy/term/69 надо после тайтла ноды и до списка товаров (выводятся с помощью views) вывести текст по ноутбукам фирмы acer. Соответственно для другого производителя надо выводить другой текст.. как проще всего реализовать подобное?
В Drupal'е пока только разбираюсь, так что могу как очевидное решение упустить из виду, так и полную глупость в коде нагородить из-за простой вещи :] Уже попробовал создать доп. регион в page.tpl между $title и $content и выводить туда созданный блок с текстом про аккумуляторы acer (для блока поставил условие показываться лишь на странице taxonomy/term/69). Но всё бы хорошо если бы не было пагинации при выводе views, т.к. текст тогда выводится также и на страницах taxonomy/term/69?page=1 и так далее, а надо только лишь на первой странице каталога товаров данной тематики.
Прошу помочь с решение данного вопроса, сам уже часа 2 пытаюсь найти решение. Если необходимо ещё что-нибудь пояснить, спрашивайте.
Комментарии
Посмотри, вчера разбирали: http://www.drupal.ru/node/74986
в D7 это решается без проблем, поскольку в таксономии появилась возможность использовать филды - поля разных типов, хочешь - поле с иконкой для каждого термина, хочешь - текстовое поле с его описанием.
в D6 с этим посложнее, выкрутиться можно так: создать тип материала "Описание термина таксономии" и привязать ноды этого типа каждую к своему термину, возможно - Taxonomy Node поможет автоматизировать этот процесс, я им не пользовался, не знаю наверняка.
в представлении надо создать отдельное отображение "Вложение" в котором выводить нужный текст из ноды типа "Описание термина таксономии" - т.е. нода будет являться контейнером, в котором хранятся необходимые дополнительные данные для термина. Эрзац-филд, другими словами.
Это отображение "Вложение" надо прикрепить к отображению "Страница/Page" или "Defaults" - я уж не знаю, в каком именно вы выводите список товаров.
Позиция, соответственно - До.
...
PROFIT!
SeoMaker, спасибо, посмотрю обязательно.
Andruxa, спасибо за подробный ответ, буду разбираться. Вроде примерно понял как сделать, но до момента "отображение "Вложение" надо прикрепить к отображению "Страница/Page" или "Defaults"... выводится у меня Page, как туда прикрепить отображение "Вложение"?
в настройках вложения, слева внизу - прикрепить
Andruxa
Понял, спасибо :] Я не знал, что можно отображения складывать между собой с помощью вложений ]
Andruxa, сделал по вашему описанию, получилось, но не совсем то, да и при переходах по пагинатору на всех страницах текст отображается.. мне нужно исключительно лишь на первой странице (т.е. без ?page=2 и т.п.). Я вот думаю, может если вернуться к моему варианту с выводом блока с текстом в дополнительный регион над контентом только лишь на одной этой странице.. может вы сможете подсказать мне, какое условие поставить для показа блока (имеется в виду php фильтр), может сравнивать посимвольно текущий url и заданную строку для каждого блока с текстом, тоесть если url совпадает с адресом, где должна находиться статья по acer, выводить блок "текст acer".
Я пробовал прописывать разные варианты, но с php знаком на совсем плохом уровне, поэтому разобраться не смог.
для представления можно сделать отображение "Блок", аргумент ID термина таксономии брать из пути, скрывать пустое представление, тогда по крайней мере не придется возиться с
а в настройках видимости блока выбрать "скрывать на страницах" и указать *?page=*
либо залезть в темплейты представления (предварительно скопировав нужный в папку своей темы) и там на php фильтровать вывод на страницах, содержащих в url ?page=
В общем разобрался с вопросом, огромное спасибо Andruxa за помощь. Сделал с помошью вложения, а отфильтровал страницы с ?page= следующим образом:
В темплейте views-view--taxonomy-term--page.tpl заменил
<?php if ($attachment_before): ?>
<div class="attachment attachment-before">
<?php print $attachment_before; ?>
</div>
<?php endif; ?>
на это
<?php if ($attachment_before): ?>
<?php if ($view->pager['current_page'] == 0): ?>
<div class="attachment attachment-before">
<?php print $attachment_before; ?>
</div>
<?php endif; ?>
<?php endif; ?>