Jump to content

Comment ajouter des caractéristiques produit dans le BL PDF sur 1.4.3


Recommended Posts

Bonjour à tous,

 

J'ai un vieux 1.4.3, mea culpa lol...

Sur mon bon de livraison, généré avec la classe pdf.php, je cherche à afficher une de mes caractéristiques produit (celle dont l'ID est 15).

(table ps_feature_value_lang - j'ai besoin de la 'value')

Mais impossible.

 

Pour le moment j'ai mis ça :

$Caract = Product::getFrontFeaturesStatic($defaultlang, $product['product_id']);
foreach ($feature[$product['product_id']][$product['product_attribute_id']] as $feature)
if ($feature['id_feature'] == 15)
$this->Cell($w[++$i], 5, ($feature['value'] ? $feature['value'] : '--'), 'B');

 

Je l'ai tourné un peu dans tous les sens, mais je n'obtiens pas la valeur correspondant à la caractéristique numéro 15 de mon produit.

 

Une bonne âme pour m'aider ?

 

Merci beaucoup !!

Link to comment
Share on other sites

Regardez cet exemple. Il montre les caractéristiques du produit dans un catalogue, mais la même approche peut être utilisée dans les bordereaux de livraison. Il est assez facile de le faire dans un template sans toucher au code de PrestaShop.

Look at this example. It shows product features in a catalog, but the same approach can be used in delivery slips. It is quite easy to do it in a template without touching the PrestaShop code.

https://www.presta-addons.com/pdf/Catalog with attributes and features.pdf

Link to comment
Share on other sites

Bonjour,

Merci pour votre retour, mais ça ne répond pas vraiment à mon problème.

Pour tout ce qui est template, aucun souci.

Je veux "simplement" afficher une caractéristique produit sur mon BL, en passant par la classe pdf.php (en override).

 

Pas de souci avec pdf.php, je cherche juste comment appeler les "features".

C'est la seule chose qui me manque.

 

J'ai besoin de récupérer les features de la même façon que sont récupérées les customized_datas.

 

Pour le moment j'ai essayé ça :

$IDprod = Product::getFeaturesStatic($product['product_id']);
if (isset($features) && $features)
foreach ($feature[$product['product_id']] as $feature)
if ($feature['id'] == '15')
$IDprod = $feature['id_feature_value'];
$this->Cell($w[++$i], 5, ($IDprod ? $IDprod : '--'), 'B');

--> j'obtiens "Array"

 

et ça :

Product::getFrontFeatures(self::$order->id_lang);
if (isset($features) && $features)
foreach ($feature[$product['product_id']] as $feature)
if ($feature['id'] == '15')
$IDprod = $feature['id_feature_value'];
$this->Cell($w[++$i], 5, ($IDprod ? $IDprod : '--'), 'B');

--> Je n'obtiens rien.

 

En fait j'ai juste besoin que quelqu'un m'aide avec l'appel à la bonne fonction.

Merci !

Link to comment
Share on other sites

Bon j'ai réussi seule :)

SI ça peut aider quelqu'un, voilà le code :

 

$features = Product::getFrontFeaturesStatic(self::$order->id_lang, $product['product_id']);
foreach($features as $feat)
if ($feat['id_feature'] == 15)
$this->Cell($w[++$i], 5, ($feat['value'] ? $feat['value'] : '--'), 'B');

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...