вкладка Views, только для определенного типа материала?

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

Аватар пользователя chel chel 6 августа 2010 в 3:16

есть тип материалов Фирмы c путями (примеры):
ООО МММ путь: http://durpal/mmm
ООО МТС путь: http://durpal/mts
ООО FON путь: http://durpal/node/10

делаю во вьювс вкладку для путей node/%1/myfirm
проблема в том, что эта вкладка появляется теперь не только при просмотре фирмы, но и при просмотре любого другого типа материала, будь то статья или новость (если у нее путь /node/ ).

вопрос: как сделать чтобы эта вкладка была только у фирм во views?
или как сделать так чтобы к типу материала Фирмы, дописывался путь:
http://durpal/firm/node/10
http://durpal/firm/mts

Комментарии

Аватар пользователя chel chel 6 августа 2010 в 4:09

поставил даже pathauto, теперь все фирмы начинаются на
drupal/org/8/ вместо drupal/node/8
drupal/org/11/ вместо drupal/node/11
почистил кэш views

вкладка для
org/%/myfirm - не работает, если ставлю node/%/myfirm - работает (но для всех типов материалов)

как быть?

Аватар пользователя graker graker 6 августа 2010 в 10:54

Фильтр не поможет, вкладка все равно будет появляться. Со стандартными табами в Друпале проблема в том, что логичного средства задать таб только для определенного типа содержимого просто нет.

Обычно для этого используется access_callback, но поскольку речь про вьюс, то надо куда-то вставлять код этого колбэка. Можно взять модуль Views Hacks и использовать PHP Access Plugin, в нем написать проверку типа ноды и возвращать TRUE только для правильного типа.
Или можно вставить аналогичную проверку в валидатор аргумента. Это немного криво, но работать будет.