在使用Location Module时,当我不收集Addition field时却始终显示,解决办法见:
Additional - do not collect doesn't respect setting
--- location.module 2009-04-17 12:12:54.000000000 -0700
+++ location.module 2009-05-22 00:28:53.000000000 -0700
@@ -259,14 +259,14 @@ function _location_expand_location($elem
$element[$field] = location_invoke_locationapi($fdefaults[$field], 'field_expand', $field, $fsettings[$field]['collect'], $fdefaults);
$element[$field]['#weight'] = (int)$fsettings[$field]['weight'];
}
-
- // Only include 'Street Additional' if 'Street' is 'allowed' or 'required'
- if ($field == 'street' && $fsettings[$field]['collect']) {
- $element['additional'] = location_invoke_locationapi($defaults['additional'], 'field_expand', 'additional', 1, $defaults);
- $element['additional']['#weight'] = (int)$fsettings['additional']['weight'];
- }
}
}
+
+ // Only include 'Street Additional' if 'Street' is 'allowed' or 'required'
+ if (!isset($element['street'])) {
+ unset($element['additional']);
+ }
+
// @@@ Split into submit and view permissions?
if (user_access('submit latitude/longitude') && $fsettings['locpick']['collect']) {
$element['locpick'] = array('#weight' => $fsettings['locpick']['weight']);
本文解决了LocationModule中即便设置不收集附加字段但仍然显示的问题。通过修改代码逻辑确保仅在街道字段被允许或必需时才包含街道附加信息。

被折叠的 条评论
为什么被折叠?



