我正在运行最新版本的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;
}
谢谢!一个很好的想法,但存储在$ variables中的唯一数据是选项名称和价格。 – Eric 2012-02-15 02:16:05