【发布时间】:2012-03-06 04:40:25
【问题描述】:
我正在运行最新版本的 Drupal 7 和 Ubercart 3。我正在尝试从 $content 变量中捕获日期以在模块中使用。具体来说,我正在尝试从自定义产品字段中捕获数据,并在某些产品属性/选项中显示该数据。
这样做的目的是为每个产品的每个属性创建自定义描述。
似乎 $content 变量在 uc_attribute.module 中不可用。使用 $content['field_original_size'];返回:未定义的变量内容。如果我使用渲染函数,我不会返回任何错误或数据。这是我目前所拥有的:
function theme_uc_attribute_option($variables) {
$original_size = render($content['field_original_size']);
if($variables['option'] == 'Original'){
$output = $variables['option'];
$output .= ', ' . $original_size;
if ($variables['price']) {
$output .= ', ' . $variables['price'];
}
}
else{
$output = $variables['option'];
if ($variables['price']) {
$output .= ', ' . $variables['price'];
}
}
return $output;
}
似乎最简单的方法是使用 token_replace() 函数,所以这是我现在正在尝试但不起作用的方法。没有错误,但令牌没有被替换。
function theme_uc_attribute_option($variables) {
if($variables['option'] == 'Original'){
$output = $variables['option'];
if ($variables['price']) {
$output .= ', ' . '[node:field-medium]';
$output .= ', ' . $variables['price'];
token_replace($output);
}
}
else{
$output = $variables['option'];
if ($variables['price']) {
$output .= ', ' . $variables['price'];
}
}
return $output;
}
【问题讨论】:
标签: drupal variables attributes ubercart