Блок для закрепленных нод определенного словаря [решено]

Главные вкладки

Аватар пользователя skiv57 skiv57 18 декабря 2010 в 21:38

Здравствуйте!
С помощью views создал страницу для терминов таксономии. Также создал шаблон page-taxonomy.tpl.php.
Все хорошо, ноды выводятся с нужными терминами. Но никак не получается задать аргументы views для блока, в котором выводятся закрепленные ноды для открытого словаря таксономии.
Подскажите, пожалуйста, как это можно осуществить? Заранее большое спасибо.

Комментарии

Аватар пользователя skiv57 skiv57 18 декабря 2010 в 21:48

фильтром идут название словаря таксономии и материал = sticky. аргументы пытался взять из идущего во views по умолчанию taxonomy_term:

  • Таксономия: Term ID (with depth)
  • Таксономия: Term ID depth modifier

Но водился пустой блок. А без аргументов выводится последняя закрепленная запись.

Аватар пользователя skiv57 skiv57 18 декабря 2010 в 21:54

"<a href="mailto:Sentrashy@drupal.org">Sentrashy@drupal.org</a>" wrote:
В адресной строке у вас Term ID выводится, если просто по термину тыкнуть?

Если тыкнуть по термину, то все записи, соответствующие этом термину, выводятся.
Включены чистые ссылки. taxonomy/term/id заменяются на "человеческие" (news/russia и т. п.).

Аватар пользователя bsyomov bsyomov 18 декабря 2010 в 22:36

В блоки не передаются аргументы автоматически, поэтому надо:
При создании аргумента выбрать: taxonomy term_id
Action to take if argument is not present -> Provide default argument
Default argument type -> Taxonomy Term ID from URL
В этом случае будет подставляться tid из url.

Также там можно указать и php code, т.е. задать аргумент с помощью своего сниппета, что даёт большую гибкость. Это справедливо для любый аргументов, не только для терминов таксономии.

Аватар пользователя skiv57 skiv57 18 декабря 2010 в 22:41

"bsyomov" wrote:
В блоки не передаются аргументы автоматически, поэтому надо:
При создании аргумента выбрать: taxonomy term_id
Action to take if argument is not present -> Provide default argument
Default argument type -> Taxonomy Term ID from URL
В этом случае будет подставляться tid из url.

Огромное спасибо! Все перепробовал, но как-то до этих пунктов не дошел. Еще раз спасибо.

Аватар пользователя Aleksey777 Aleksey777 19 декабря 2010 в 14:01

"bsyomov" wrote:
В блоки не передаются аргументы автоматически, поэтому надо:
При создании аргумента выбрать: taxonomy term_id
Action to take if argument is not present -> Provide default argument
Default argument type -> Taxonomy Term ID from URL
В этом случае будет подставляться tid из url.

Проблема в том что при просмотре любой статьи из этого термина, информация в блоке пропадет, так как в строке url исчезает значение термина.

Аватар пользователя bsyomov bsyomov 19 декабря 2010 в 19:30

Вот для этого там и есть php code. Smile
Т.е. можно проверять где мы находимся, и в зависимочти от этого добывать нужное нам значение и возвращать его как значение аргумента, если нужно показывать этот блок не только на странице термина.

Аватар пользователя hardj hardj 12 октября 2011 в 13:16

bsyomov wrote:
Вот для этого там и есть php code. Smile
Т.е. можно проверять где мы находимся, и в зависимочти от этого добывать нужное нам значение и возвращать его как значение аргумента, если нужно показывать этот блок не только на странице термина.

А можно пример? Какой контекст у кода php (какие переменные видны там)

Аватар пользователя Defite Defite 27 января 2011 в 16:56

"bsyomov" wrote:
При создании аргумента выбрать: taxonomy term_id
Action to take if argument is not present -> Provide default argument
Default argument type -> Taxonomy Term ID from URL
В этом случае будет подставляться tid из url.

thx, как раз то, что нужно.вчера только ковырялся около этих пунктов.