2017-12-14 50 views
1

Prestashop에서 고객에게 보내는 확인을 주문하려면 제품 기능을 추가하고 싶습니다. 우리가 1.6.1.4 클래스/PaymentModule.php 파일이 경우 Prestashop 전자 메일 주문 확인에 기능을 추가하십시오.

, 그것은 우리에게 제품 이름 표시 - 특성 : - : 42 크기 니스 나이키 신발과 같은 속성 값합니다.

는 또한 보여 그것을 확장 할 :

니스 나이키 신발 - 크기 : 42

시리즈 : Hyperdunk

'name' => $product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : ''), 
(기능 시리즈 및 기능 값 Hyperdunk 등)

그래서 새 템플릿 변수를 추가하고 싶습니다.

'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> 

그러나 그것은 작동하지?

편집 : 내가 배열을 가지고에이 후 디버그 모드를 활성화 - PaymentModule에 변화는 올바른

답변

1

첫 번째 변수 {[ '기능'] $ 제품} 대신에 배열이 아닙니다. $product['features']id_feature, id_productid_feature_value 인 배열 만 포함합니다. 당신과 함께 TPL에 할당하기 전에 기능의 이름과 값을 얻을 필요가 : 그런 다음 템플릿

'features' => $features, 

에 할당 또는 제품 이름에 연결할

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

.

편집 (코멘트에서 요청에 따라 조건을 추가하기 위해) :

$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

완벽한! 임 씨는이 해결책을 거의 가지고 있습니다. 좋은 하루 되세요! :) – PipBoy2000