【发布时间】:2014-11-04 14:11:21
【问题描述】:
我的问题:
我有一个用于 2 个站点(drupal 多站点)的 drupal 网站。 这 2 个站点使用 2 个不同的数据库,最重要的是使用不同的语言。 一个带有“法语,英语,德语,意大利语,...”, 一个只有“英语”。
我创建了一个视图来管理内容类型,并公开了一个包含节点语言过滤器的过滤器表单。
问题是当您导出视图并在另一个网站中使用不同的语言列表时,默认值是从视图定义中获取的(它在views_handler_filter_in_operator 中完成,在value_form(&$form, &$form_state) 函数中,带有@ 987654325@ 值)
问题是这些值是硬编码的,它不是说“列出所有可用的语言”。
当我在第二个网站上使用此视图时(默认为英文),使用默认值“french”(导致视图定义)并且该值被拒绝,导致错误。
如何创建另一个视图过滤器处理程序,使其没有硬编码的值列表,而是从当前可用语言获取其值的自动列表。
这是视图导出的摘录:
$handler->display->display_options['filters']['language']['value'] = array(
'fr' => 'fr',
'en' => 'en',
'de' => 'de',
'it' => 'it',
'es' => 'es',
'nl' => 'nl',
);
非常感谢您的帮助,解释起来有点冗长和复杂:D
【问题讨论】: