Jump to content

Identifier un produit précis dans le code


Recommended Posts

(Je déplace mon sujet de "Thèmes gratuit" vers "Conception de thèmes / intégration" ... plus approprié)

 

Bonjour à tous,

je cherche aujourd'hui à créer des pages spécifiques pour mon site.

 

Aprés avoir suivis ce sujet ( http://www.prestasho...post__p__922147 ), j'ai pu réaliser une nouvelle page statique sans trop de complication.

 

Mais la ou ça se corse, c'est que j'aimerais pouvoir ajouter certains produits à mes nouvelles pages.

 

La première piste qui m'est venu en tête et d'aller récupérer des morceaux de codes dans le product-list.tpl

 

Alors pour ce qui est d'afficher les images, textes et liens, c'est ok ... enfin si je réécris tout en dur ...

Et maintenant, je souhaiterais ajouter le prix de mes articles, mais comme ceux-ci on une facheuse tendance à changer régulièrement, il faudrait que je trouve le moyen que ça se fasse automatiquement.

 

Donc la seul idée que j'ai pour le moment, serait d'arriver à coder correctement le "nom de mon article" ou l'identifiant, à la place de la variable $product qui revient assez régulièrement dans product-list.tpl

 

Je vous donne un exemple, serait il possible de changer cette ligne :

 

<span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span>

 

par quelque chose de ce genre :

 

<span class="price">{if !$priceDisplay}{convertPrice price={id_product=11}.price}{else}{convertPrice price={id_product=11}.price_tax_exc}{/if}</span>

 

Je suis sur que l'un de vous à la réponse :)

Edited by Djooline (see edit history)
Link to comment
Share on other sites

Non mais les choses ne fonctionnent pas vraiment comme ça...

 

Si tu créés une nouvelle page en PHP, tu ne peux afficher dans le TPL... que ce que tu as mis dans le PHP. Autrement dit, si dans ton fichier PHP tu ne faits aucune assignation de variable via smarty tu ne pourras rien afficher dans ton TPL.

 

Par exemple, la variable $product dont tu parles dans product-list.tpl n'est qu'un item de la variable $products qui est générée dans le controller categoryController.php

 

Donc si tu veux afficher automatiquement certains produits directement une solution est celle-là:

Dans ton fichier PHP controller sur tu as créé, à cet endroit:

public function displayContent()
{
$_POST = array_merge($_POST, $_GET);
parent::displayContent();
self::$smarty->display(_PS_THEME_DIR_.'Nondelapage.tpl');
}

 

Après:

parent::displayContent();

 

Tu ajoutes le code suivant:

global $cookie;
global $smarty;
$mes_produits=Product::getProducts($cookie->id_lang,1,10000,'id_product','asc');
$smarty->assign('mes_produits',$mes_produits);

 

Ensuite, dans le TPL, si tu veux afficher le prix du produit avec l'id11 tu fais:

{foreach from=$mes_produits item=produit}
{if $produit.id_product==11}
{$produit.price}
{/if}
{/foreach}

 

J'ai pas testé mais je pense que ça doit marcher.

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