2017-12-14 39 views
1

Prestashopで顧客に送信する確認を注文するために製品機能を追加したいと思います。Prestashop電子メールオーダー確認に機能を追加

我々が持っている1.6.1.4クラス/ PaymentModule.phpファイルで、その場合には

、それは私たちに製品名を示し - 属性:ニースナイキの靴のような属性値 - サイズ:42を。

私も表示するように、それを拡張したい:

ニースナイキの靴 - サイズ:42

シリーズ:Hyperdunk(特徴シリーズと特徴値Hyperdunkなど)

'name' => $product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : ''), 

だから私は新しいテンプレート変数を追加したい

'features' => $product['features'].(isset($product['features']) ? ' - '.$product['features'] : ''), 

またorder_conf_product_list.tplに私は

<td style="border:1px solid #D6D4D4;"> 
    <table class="table"> 
     <tr> 
      <td width="10">&nbsp;</td> 
      <td> 
       <font size="2" face="Open-sans, sans-serif" color="#555454"> 
        <strong>{$product['name']}</strong><br />{$product['features']} 
       </font> 
      </td> 
      <td width="10">&nbsp;</td> 
     </tr> 
    </table> 
</td> 

を追加します。しかし、それは動作していない...任意のアイデア?

EDIT:た後、私にデバッグモードを有効にするには、アレイはしている - {$製品[「機能」]}の代わりに、配列変数

答えて

1

まず、PaymentModuleであなたの変更が正しくありません。 $product['features']には、id_feature,id_productおよびid_feature_valueの配列のみが含まれています。そして、テンプレート

'features' => $features, 

または製品名に連結に割り当て

$features = ""; 
if($product_features = Product::getFrontFeaturesStatic($order->id_lang, $product['id_product'])){ 
    foreach($product_features as $f){ 
      $features .= $f['name'] . " - " . $f['value']; 
    } 
} 

: あなたはで、TPLに代入する前に、機能名と値を取得する必要があります。

EDIT(コメントに要求されるように条件を追加する):非常に良い

$features = ""; 
if($product_features = Product::getFrontFeaturesStatic($order->id_lang, $product['id_product'])){ 
    foreach($product_features as $f){ 
     if(in_array($f['id_feature'], array(3, 5))) 
       $features .= $f['name'] . " - " . $f['value']; 
    } 
} 
+0

次のコードを使用してください!名前を少し微調整する必要がありますが、うまくいきます!今、私はいくつかの製品が多くの機能を持っているのを見ています...あなたは、選択された機能名id = 3&id = 5だけを表示するのに役立つことができますか? – PipBoy2000

+1

私は自分の答えを編集し、id_featureが3または5である場合にのみ連結する条件を追加しました。他のものは無視します。 – sadlyblue

+0

パーフェクト! Imにはこのソリューションがほとんどあります。素敵な一日の仲間を! :) – PipBoy2000

関連する問題