Как мне обновить более одного контейнера / элемента, используя AHAH в Drupal? - PullRequest
0 голосов
/ 03 марта 2011

Я создаю сводный вид продуктов и цен, а также возможность обновлять цены для каждого продукта (каждый продукт имеет 5 цен для различных пользовательских ролей).

Я использую AHAH для отправки конкретной формы продукта, и у меня отлично работает форма, включая обновление старой формы новыми значениями и сообщение о том, что работы уже выполнены.

Однако до сих пор я могу обновить только один контейнер (тот, который содержал отправленную форму) - это будет означать, что представление может закончиться несколькими сообщениями об успехе повсюду.

Как заставить систему AHAH обновить два контейнера - один для отправленной формы и один для сообщения (которое будет общим контейнером для всех форм).

1 Ответ

1 голос
/ 08 февраля 2012

AHAH заменяет содержимое именованной оболочки значением 'data' в возвращенном ответе JSON.

Вы можете поместить все элементы рядом друг с другом в одну большую оболочку, а затем в обратный вызов AHAH.вызовите drupal_render для каждого элемента формы, как они должны быть показаны, объединяя выходные данные.например:

$html = drupal_render($form['item1']);
$html .= drupal_render($form['item2']);
$html .= drupal_render($form['item3']);
drupal_json(array( 'status' => TRUE, 'data' => $html ));
...