Jump to content

ajouter l'url de chaque produit dans la facture prestashop


cedazzaro

Recommended Posts

Bonjour,

Pour débuter, ma version de prestashop est la 1.7.6.8

J'ai parcouru beaucoup de sujets mais sans solutions concrètes.

Je souhaiterais ajouter en lien hypertexte par exemple sur le nom du produit ou sur l'image du produit,  l'url de chaque produit apparaissant sur la facture de chaque commande.

J'ai trouvé la variable de l'url des produits : {$urls.pages.product}

Je pense qu'il est peut être possible de l'intégrer dans le fichier tpl : invoice.product-table.tpl afin que l'information ressorte dans Invoice. tpl

Je patauge car j'ai trouvé un bon nombres de topicc permettant d'insérer de nombreuses informations mais ces insertions faisant référence à un ajout depuis la base de données, cela est relativement aisé.

Quelqu'un s'est-il déjà penché sur la question?

Merci à vous

Link to comment
Share on other sites

Il va te falloir mettre les mains dans le fichier htmltemplateinvoice.php et créer pour chaque produit ton url en allant chercher les bonnes informations dans la base pour créer ton url puis la passer dans les variables smarty afin de finalement pouvoir utiliser ta variable dans le tpl de la facture.

Link to comment
Share on other sites

On 11/11/2020 at 1:06 PM, cedazzaro said:

Bonjour,

Pour débuter, ma version de prestashop est la 1.7.6.8

J'ai parcouru beaucoup de sujets mais sans solutions concrètes.

Je souhaiterais ajouter en lien hypertexte par exemple sur le nom du produit ou sur l'image du produit,  l'url de chaque produit apparaissant sur la facture de chaque commande.

J'ai trouvé la variable de l'url des produits : {$urls.pages.product}

Je pense qu'il est peut être possible de l'intégrer dans le fichier tpl : invoice.product-table.tpl afin que l'information ressorte dans Invoice. tpl

Je patauge car j'ai trouvé un bon nombres de topicc permettant d'insérer de nombreuses informations mais ces insertions faisant référence à un ajout depuis la base de données, cela est relativement aisé.

Quelqu'un s'est-il déjà penché sur la question?

Merci à vous

Il me semble que tout le processus reprend ce qu'il se passe du côté du paiement.

Ici : PrestaShop/controllers/front/payment.php

Il semble que le PDF reprenne les informations du fichier order-detail.tpl générant le mail de confirmation de commande.

C'est dans cette partie qu'il me semble qu'il faut tenter d'ajouter l'url des produits qui sera reprise dans la facture.

Ligne 280à 308 du fichier /

// Products

$items = "<ul>\n";

$products = array_merge($total_data['products'], $total_data['gift_products']);

foreach ($products as $product) {

$product_name = $product['name'];

$merchant_item_id = $product['id_product'];

$tax_name = $product['tax_name'] ?: 'none';

if (!empty($product['attributes_small'])) {

$product_name .= ' ( ' . $product['attributes_small'] . ' )';

$merchant_item_id .= '-' . $product['id_product_attribute'];

}

$items .= "<li>" . $product['cart_quantity'] . ' x : ' . $product_name . "</li>\n";

$shopping_cart['items'][] = array(

'name' => $product_name,

'description' => $product['description_short'],

'unit_price' => round($product['price'], 10),

'quantity' => $product['quantity'],

'merchant_item_id' => $merchant_item_id,

'tax_table_selector' => $tax_name,

'weight' => array('unit' => $product['weight'],

'value' => 'KG')

);

$checkout_options['tax_tables']['alternate'][] =

array('name' => $tax_name, 'rules' => array(array('rate' => $product['rate'] / 100)));

}

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