2016-09-08 3 views
0

컨트롤러 파일 (CartController)을 재정의하고 제품 조건을 얻습니다. (New) 그리고 프랑스어 사이트에서 "Nouveau"가됩니다. 다음 코드를 사용했지만 작동하지 않았습니다. 내가 어떻게 고칠 수 있니? /override/controllers/front/CartController.php에서컨트롤러 파일에서 텍스트를 번역하는 방법 Prestashop

:

[...] 
$list_product = $cart_current->getProducts(); 
foreach ($list_product as $index => $product){ 
    $product_current = new ProductCore($product['id_product'],true); 
    $result['label'] = $this->l($product_current->condition); /* Translation? */ 
} 
[...] 

답변

1

먼저 나는이 같은 코드를 수정하는 것이 좋습니다 것이다 : '보기'에서 다음

[...] 
$list_product = $cart_current->getProducts(); 
foreach ($list_product as $index => $product){ 
    $product_current = new Product($product['id_product'],true); // Product not ProductCore 
    $result['label'] = $product_current->condition; // Translation not here in the 'controller' but we make in the 'view' 
} 
[...] 

을 (카트 .tpl/product.tpl) :

[...] 
/* 
You have to comment this translations to avoid displaying. This is a workaround used also for the months. 
{l s='New'} // {l s='New' mod='mymodule'} if you are in your module tpl 
{l s='Used'} // Like above 
*/ 
{l s='%s' sprintf=[$result['label']]} 
[...] 
+0

컨트롤러 파일에서 다른 방법이 있습니까? –

+0

당신은'Translate' 클래스를 사용해야합니다. 그런 식으로 조언하지 않습니다 ... 'view'에서 'logic'을 분리하는 것이 더 정확합니다 ... 당신은 'variable'문자열을 가지고 있기 때문에 번역하려면 먼저 모든 가능한 값을 번역해야합니다. – sarcom

+0

정말 고마워요! –

0

키우면 더 연습 재정의 클래스/Cart.php, 기능 getProducts 및

, p.`condition` 
0

당신은 당신의 모듈 번역

의에서 '새'에 대한 번역 된 텍스트를 추가 한 후 다음 사용해 볼 수 있습니다 쿼리에 추가 번역 :: getModuleTranslation()를

대신에

$ this-> l()