AHAH - неточность реализации [Решено]
Прислано: sadmin
вт, 09/02/2010 - 22:36
Есть код из Вандюка. Устанавливаю модуль, в итоге:
в опере не работает- в ИЕ работает как задумано (меняет текст click here на TRUE!)
в друпале выскакивает несколько ошибок сериализации данных (menu.inc)
UPD "warning: Invalid argument supplied for foreach() in .../menu.inc on line 258"
Прочитал о рендеринге форм для совпадения их id, но не въеду. Посмотрел уже добавление элементов динамических форм.. ступор. Завтра с новыми силами продолжу. Буду благодарен за помощь.
код из Вандюка:
function poof_menu() { $items['poof'] = array( 'title' => 'AHAH!', 'page callback' => 'drupal_get_form', 'page arguments' => array('poof_form'), - 'access arguments' => true, + 'access callback' => TRUE, ); $items['poof/message_js'] = array( 'page callback' => 'poof_message_js', 'type' => MENU_CALLBACK, - 'access arguments' => true, + 'access callback' => TRUE, ); return $items; } function poof_form(){ $form['target'] = array( '#type' => 'markup', '#prefix' => '<div id="target">', '#value' => t('click here'), '#suffix' => '</div>', ); $form['submit'] = array( '#type' => 'submit', '#value' => t('click me'), '#ahah' => array( 'event' => 'click', 'path' => 'poof/message_js', 'wrapper' => 'target', 'effect' => 'fade', ) ); return $form; } function poof_message_js(){ $output = t('TRUE!'); return drupal_json(array('status' => TRUE, 'data' => $output)); }
за решение спасибо
penexe
переписал себе
- sadmin's blog
- Для комментирования войдите или зарегистрируйтесь
надо 'access callback' => TRUE
и
function poof_message_js(){ $output = t('TRUE!'); drupal_json(array('status' => TRUE, 'data' => $output)); }
- Для комментирования войдите или зарегистрируйтесь
Очень благодарен, в Опере заработало!
- Для комментирования войдите или зарегистрируйтесь
Ссылки по теме ошибки в menu.inc (сериализация данных)
Связанная тема
Access control
- Для комментирования войдите или зарегистрируйтесь
'access arguments' => true заменили на 'access callback' => TRUE или нет?
- Для комментирования войдите или зарегистрируйтесь
Просто добавлял. Убрал 'access arguments' => true и все заработало. Спасибо, целый день промучался. Вопрос закрыт. Как могу поблагодарить?
- Для комментирования войдите или зарегистрируйтесь
Как всегда лучшей благодарностью будет чтение API
- Для комментирования войдите или зарегистрируйтесь
Прочитал о рендеринге форм для совпадения их id, но не въеду. Посмотрел уже добавление элементов динамических форм.. ступор. Завтра с новыми силами продолжу. Буду благодарен за помощь.
http://www.nicklewis.org/node/967 ?
- Для комментирования войдите или зарегистрируйтесь



Комментарии