Drupal - hook_menu_alter для веб-формы - PullRequest
0 голосов
/ 23 ноября 2010

Я создал веб-форму для клиента, где информация о клиенте хранится, и клиент может войти в систему и просмотреть форму, но когда клиент просматривает форму, он отображает таблицу отправки, а затем клиент должен нажать на представление в действии, чтобы отобразить результаты, я хотел реализовать функцию, чтобы стало возможным перенаправлять клиентов к фактическим результатам напрямую вместо таблицы отправки, в то время как для администратора таблица отправки должна быть там ... я предполагаю, что мне нужно реализовать функцию hook_menu_alter () в пользовательский модуль ... было интересно, может ли кто-нибудь помочь мне с кодом для hook_menu_alter () ... URL для таблицы отправки - "node / $ nid / submissions", а для результатов - "node / $ nid / submission / $ с.и.д.». Спасибо

Ответы [ 2 ]

0 голосов
/ 24 ноября 2010

да ... и пользователь, и администратор просматривают одну и ту же форму ... n администратор будет заполнять форму от имени пользователя и назначать автора как пользователя, чтобы пользователь мог просматривать заполненную информацию, как мы установимразрешение пользователя как «доступ к собственным результатам».Теперь проблема заключается в том, что когда пользователь просматривает результаты веб-формы, он сначала получает «таблицу», в которой отображаются «дата» и «операции», а в действии, если пользователь нажимает «просмотр», отображается заполненная информация.Итак, мне просто интересно, можем ли мы использовать hook_menu_alter, чтобы изменить это, и вместо этой «таблицы» он напрямую показывает заполненную информацию пользователю ... спасибо, andre ..

0 голосов
/ 23 ноября 2010

Вам не нужно hook_menu_alter для перенаправления после отправки формы. Вы можете просто добавить #redirect к вашему $form в hook_form_submit()

Это должно быть примерно так:

function hook_form($form_state){
    // $form[] definition here
    $form[] = array(
        '#type'   => 'submit',
        '#value'  => 'Submit Me!',
        '#submit' => array('hook_form_submit'),
    );
}

function hook_form_submit($form,&$form_state){
    // sanitize/save your data here!
    $form_state['redirect'] = 'redirect/me/to/somewhere/else';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...