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
переписал себе

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано penexe в ср, 10/02/2010 - 01:44.

надо 'access callback' => TRUE

и

function poof_message_js(){
  $output = t('TRUE!');
  drupal_json(array('status' => TRUE, 'data' => $output));
}


Опубликовано sadmin в ср, 10/02/2010 - 06:23.

Очень благодарен, в Опере заработало!


Опубликовано sadmin в ср, 10/02/2010 - 13:03.

Ссылки по теме ошибки в menu.inc (сериализация данных)

Связанная тема
Access control


Опубликовано penexe в ср, 10/02/2010 - 18:02.

'access arguments' => true заменили на 'access callback' => TRUE или нет?


Опубликовано sadmin в чт, 11/02/2010 - 06:17.

Просто добавлял. Убрал 'access arguments' => true и все заработало. Спасибо, целый день промучался. Вопрос закрыт. Как могу поблагодарить?


Опубликовано RxB в чт, 11/02/2010 - 06:54.

Как всегда лучшей благодарностью будет чтение API


Опубликовано RxB в чт, 11/02/2010 - 16:31.

"sadmin" написал(а):

Прочитал о рендеринге форм для совпадения их id, но не въеду. Посмотрел уже добавление элементов динамических форм.. ступор. Завтра с новыми силами продолжу. Буду благодарен за помощь.

http://www.nicklewis.org/node/967 ?


Новое на сайте