Dans la fiche produit, les caractéristiques sont stockées dans un tableau. Pour afficher une seule caractéristique, il n’est pas possible d’accéder directement à une caractéristique avec son id. Heureusement, Emmanuel a toujours un override sous la main pour répondre à ce besoin.
Dans la fonction initContent de l’override du product controller, créons un nouveau tableau
/* Feature array by id */
$features = $this->product->getFrontFeatures($this->context->language->id);
foreach ($features as $key=>$value) {
$features_by_key[$value['id_feature']]['name'] = $value['name'];
$features_by_key[$value['id_feature']]['value'] = $value['value'];
}
puis on l’assigne :
$this->context->smarty->assign(array(
'stock_management' => Configuration::get('PS_STOCK_MANAGEMENT'),
'customizationFields' => ($this->product->customizable) ? $this->product->getCustomizationFields($this->context->language->id) : false,
'accessories' => $this->product->getAccessories($this->context->language->id),
'return_link' => $return_link,
'product' => $this->product,
'product_manufacturer' => $product_manufacturer,
'token' => Tools::getToken(false),
'features' => $features,
'features_by_key' => $features_by_key,
Dans le product.tpl, pour afficher la caractéristque avec l’id 3 :
{if isset($features_by_key.3.value) & $features_by_key.3.value}
{$features_by_key.3.name} : {$features_by_key.3.value}
{/if}
Vous pouvez télécharger l’override ici et le placer dans /override/controllers/front/ de votre boutique Prestashop
