Добрый день.
%subj%
Контекстных фильтров нет.
Есть только раскрытые критерии фильтрации, которым я "скармливаю" параметры через URL.
Смотрел темы представления.
У основного модуля возможности начинаеются только с TITLE_PREFIX и далее по тексту.
Может HOOK какой есть ?
Я конечно могу все через $_GET все попробовать получить и куда-нть костыль засунуть, но это считаю неправильно.
Спасибо.
Комментарии
Что именно подразумевается под темизацией? Сам заголовок сменить или настроить обёртки? Если сам заголовок, что через контекстные фильтры можно очень легко до него достучаться - написать код, какой нужен, а саму "контекстную фильтрацию" можно и не использовать.
Ок.
Под темизацией я здесь понимал - ЕГО ИЗМЕНЕНИЕ в зависимости от того что передано в параметрах URL.
Еще раз напоминаю про то, что "Контекстных фильтров нет.".
Соответственно метод типа %1, %2 и т.д. здесь не участвует.
Пример:
URL: http://www.site.ru/list?t=fruits
В заголовке хотим видеть: "Список: фруктов"
URL: http://www.site.ru/list?t=fruits&f=fresh
В заголовке хотим видеть: "Список: свежих фруктов"
URL: http://www.site.ru/list?t=fruits&f=fresh&c=Spain
В заголовке хотим видеть: "Список: свежих фруктов из Испании"
p.s. "написать код, какой нужен, а саму "контекстную фильтрацию" можно и не использовать."
Вот это очень и очень интересно! н могли бы вы поподробнее объяснить свою мысль.
Если я ставлю контекстные фильтры, то они начинают играть свою роль в list/%/%
А мне нужен чистый list?t=fruits
Пока жду ответа, иду экспериментировать.
Спасибо.
Критерий проверки выбрать пхп код. Там под окошком его ввода вот что написано
«Enter PHP code that returns TRUE or FALSE. No return is the same as FALSE, so be SURE to return something if you do not want to declare the argument invalid. Do not use <?php ?>. The argument to validate will be "$argument" and the view will be "$view". You may change the argument by setting "$handler->argument". You may change the title used for substitutions for this argument by setting "$handler->validated_title".»
Из гет-запроса можно вытянуть машинные имены таксономии или что там это у вас, подгрузить термин и взять его имя. Ну и в конце кода надо не забыть поставить ретурн тру.
Это мы сейчас о Контекстном фильтре разговариваем? иду курить вашу инфо Благодарю. Скоро вернусь.
да, о нём самом. Не исключаю, что можно сделать каким-то другим способом, но как-то не попадались на глаза другие способы достучаться до заголовка (ну кроме написания своих модулей).
Странно.
Создал один контекстный фильтр:
засунул в него:
<?php
$handler->validated_title = 'TEST TITLE';
return true;
?>
...ноль эмоций...
мимо него что-то все проходит..
...туман проясняется. Похоже его в URL нет, поэтому, собственно, проверять этим куском PHP кода нечего.
Как-то не хочется в URL значение контекстного фильтра засовывать...
Как-то не хочется здесь усложнять от простого:
Путь: /list
до сложного (например)
Путь: /list/allvegetables
А без этого, похоже проверять нечего.
Есть мысли?
Если мы в VIEWS обозначим : Путь: /list/%
то при обращении к /list получим 404 ошибку. обмануть пока не получается.
Стало интереснее :
1. Если в настройках контекстного фильтра укажем "Передать значение по умолчанию"
Далее,в разделе "Когда значение фильтра присутствует в URL или предоставляется по умолчанию"
2. Указываем : "Укажите критерии проверки" - > "PHP Код"
и туда закидываем удочку :
<?php$handler->validated_title = 'TEST TITLE';
dpm($handler);
return true;?>
То на готовой странице мы видим, что значение validated_title действительно = 'TEST TITLE'.
НО! К заголовку страницы это отношения НЕ ИМЕЕТ !
Оно осталось прежним.
Кхм...
Забил я на эту свистопляску и сделал по простому:
<?php function MYMODULE_views_pre_render(&$view) {
if ($view->name == '_db' && $view->current_display == '_list1') {
// здесь с $_GET берем все что угодно
..
// А здесь меняем заголовок
$view->build_info['title'] = t('Custom title');
}
} ?>
в натуре, так и надо было сразу делать, а не слушать местных горе-спецов)))))
У меня новый запрос теперь - http://www.drupal.ru/node/124445
Думаю, с какой стороны взяться