2012-02-14 8 views
0

最新バージョンの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()関数であってもよいことと思われるので、HERESに私が今しようとしていますが、動作しません。エラーはありませんが、トークンは置き換えられません。

答えて

0

$変数を印刷して、必要なものがそこにあるかどうかを確認できます。

+0

ありがとうございます!良い考えですが、$変数に格納される唯一のデータはオプション名と価格です。 – Eric

0

$変数の参照を使用して関数を宣言していないためだと思います。私はそれがfunction theme_uc_attribute_option(&$variables) {}と呼ばれるべきだと信じています。これは、変数のではなく、変数への参照をPHPに送信するように指示します。値が送信されると、その値はローカルのみになります。参照が使用されている場合、変更は変数に戻ります。詳細は、PHP Manualを参照してください。私はちょうどこれがどれほど古いか気づいた。

関連する問題