Добрый день.
Предисловие: Как у вас здесь все изменилось! непривычно даже Давно не был. Буду обживать. Рад за вас.
Задача: есть вьюшка INFO, которая настроена по Contextual filters на поле NAME
Другими словами показывает информацию относящуюся к значению этого поля.
Пример: /info/anna /info/oleg info/ivan
Нарисовал я простую форму для запроса, сделал ее блоком :
В итоге получаю : info/?name=anna info/?name=oleg info/?name=ivan
Вопрос: как добиться желаемого: /info/anna /info/oleg /info/ivan ?
Спасибо.
Комментарии
врядли у ва получится. так как модуль pathauto не работает по любому вашему желанию.
надо его специально запускать для генерации адресов для вех пользователей. как - ну программно:
1. вначале сгенерировать адреса для всех пользователей
2. потом реагировать на изменение имен
3. также реагировать на регистрации
много раз задавали вопросы о вьюс адресах фильтров и я еще не встречал ответов которыми мог бы поделиться. так что я думаю такой вариант.
Надеюсь, Вы предусмотрели ситуацию, в которой будет, например, 2 пользователя "Oleg"?
В теории, можно поставить адрес представления "info/%", и в контекстном фильтре проверять 2-й аргумент.
Я понимаю, что я кажется не так выразился.
Скажу по другому, могу ли я (наверное нет) сделать форму, чтобы через GET вызывать ВЬЮШКУ /info/%1
где %1 единственное значение поля этой формы. Оно будет не имя пользователя, конечно.
Спасибо за вашу оперативность, не ожидал.
Или же мне сделать модулек, который будет принимать этот параметр, считывать его через массив $_GET и дергать уже /info/%1 ?
В принципе не сложно. Вопрос: правильно ли это?
Можно так:
<?php
/**
* Implements hook_form_submit().
*/
function MY_MODULE_form_submit($form, &$form_state){
form_state_values_clean($form_state);
drupal_goto('info/' . $form_state['values']['FIELD_NAME']);
}
?>
Кстати
Точно. Через хук формы. Спасибо попробую.
Благодарю.