Я пытаюсь создать форму на заказ в drupal с опорным полем узла.Можно ли настроить ссылку на узел drupal и передать ваш поиск и аргумент из другого поля
Я хотел бы добавить немного дополнительной функциональности для автозавершения узла. Я создал представление, содержащее аргумент. Я хотел бы передать этот аргумент из раскрывающегося списка, а также напечатанный текст в сценарий автозаполнения.
Кто-нибудь знает, как я начну с этого.
/* FIELD 1 - the drop down */
$sql = "SELECT nid, title FROM node where type='resourcetype' AND status =1 order by title
";
$result = db_query($sql);
$counter = 0 ;
$options = array();
while ($data = db_fetch_array($result)) {
// krumo ($data);
$options[$data[nid] ] = $data[title] ;
if ($counter ==0) {$df = $data[nid]; }
$counter ++;
}
/* FIELD 2 - the node reference field */
$form['sor']['type'] = array(
'#type' => 'select',
'#title' => t('Resource type'),
'#required' =>TRUE,
'#options' => $options,
) ;
$form['sor']['field_asor_sors'] = array(
'#type' => 'textfield',
'#title' => t('Add a SOR item to this job'),
'#autocomplete_path' => 'nodereference/autocomplete/field_asor_sors',
'#element_validate' => array('myelement_validate_is_valid_noderef'),
'#required' =>TRUE,
);
Большое спасибо
Matt
Спасибо. Опель, я посмотрю. – Matt
quote - «Возможно, более простой альтернативой может быть замените обратный вызов #autocomplete_path поля nodereference собственной версией, которая будет генерировать результат, добавив js-логику в раскрывающийся список, чтобы добавить дополнительный аргумент к этому пути, когда выбор изменится ». Знаете ли вы, в каком формате подан автоматический полный результат? Я правильно понял, что мне нужно передать массив результатов в drupal_js ($ arrayofresults); ? – Matt
@Matt: Посмотрите на функцию 'nodereference_autocomplete()' в nodereference.module. В принципе, это должен быть только drupal_json ($ arrayofresults), но я думаю, вам нужно будет сопоставить ожидаемую структуру ключей массива, чтобы разрешить извлечение низа (не уверен, хотя). –