我想使用自动完成-字段链接到外部源的自动完成-数据.Drupal似乎拒绝了在Drupal中不可访问的所有autocomplete_paths。有什么办法可以回避这个问题吗?表单字段如下所示:
$form['business_city'] = array(
'#type' => 'textfield',
'#size' => 30,
'#title' => t('city'),
'#autocomplete_path' => '_/city?=',
'#default_value' => $userProfile->field_address_business_city[0]['value'],
);
_/city由于性能原因无法在Drupal中访问。脚本引导Drupal到会话级别,以检查有效的登录。
更新:
如果我通过手动将所需的标记附加到该字段来创建一个自动完成字段,那么它可以工作,但是维护起来却很困难:
'#attributes' => array('class' => 'form-autocomplete'),
'#suffix' => '<input type="hidden" disabled="disabled" value="/_/city?n=" id="edit-private-city-autocomplete" class="autocomplete">',
发布于 2011-05-29 07:56:04
如果自动完成路径是有效(内部)路径,则Drupal 6将在textfield()中验证。
所以,如果不覆盖主题函数,就无法解决这个问题。
发布于 2011-05-29 13:35:26
您可以确保正在查询的路径“/_/ menu_hook ?n=”不是黑客攻击,而是一个有效的项。这样,它将根据drupal_valid_path()内部的theme_textfield()进行验证。从菜单钩子函数回调中,您可以将请求转发到外部数据源。
https://stackoverflow.com/questions/6164879
复制相似问题