2010-06-05 3 views
2

У меня возникла проблема с многоступенчатой ​​формой узла для типа содержимого CCK. Я устанавливаю $ form_state ['redirect'] на путь страницы благодарности, но он не перенаправляется при успешном представлении. Вот код, следующая документация на 5.x Drupal 6.x в форме API на http://drupal.org/node/144132Проблема с перенастройкой узла Drupal 6 CCK

функция rnf_form_alter (& $ форма, & $ form_state, $ form_id) {// ... $ форма [» #submit '] [] =' rnf_regret_form_submit '; }

функция rnf_regret_form_submit ($ форма, & $ form_state) { $ form_state [ 'Перенаправление'] = 'содержание/забыть-благодарственное'; }

Любая помощь будет оценена по достоинству.

Спасибо.

+0

Фигурные это, благодаря кому-то, кто разместил ту же самую проблему и ее ответ. В моем коде выше для форм узлов строка $ form ['# submit'] [] = 'rnf_regret_form_submit' следует читать $ form ['buttons'] ['submit'] ['# submit'] [] = 'rnf_regret_form_submit' – user359038

ответ

1

Ny догадаться, что вы забыли очистить $ form_state ['storage']. Он должен быть пустым, прежде чем перенаправление будет работать.

+0

Фактически я очистил его в функции проверки: function rnf_regret_form_validate ($ form, & $ form_state) { // ... если последняя страница формы ... затем очистить unset ($ form_state ['storage «]); } – user359038

+0

... и я перенаправлен на страницу просмотра узла после создания узла. – user359038

+0

... но я хочу быть перенаправлен на «content/forget-thank-you». – user359038

0

Создание многоуровневой формы узла в Drupal 6 - это мир боли. Вам намного лучше создать свою собственную форму и node_submit/node_save в конце. Roping в виджетах CCK в это немного сложнее, но не невозможно.

0

Выяснил это, благодаря тому, кто опубликовал ту же проблему и ее ответ. В моем коде выше, для узлов форм, линии

$form['#submit'][] = 'rnf_regret_form_submit'; 

следует читать

$form['buttons']['submit']['#submit'][] = 'rnf_regret_form_submit'; 

 Смежные вопросы

  • Нет связанных вопросов^_^