Afficher Le Descriptif Court Dans L'affichage Par Catégorie En V7.0


17 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

 

Comment faire pour afficher le descriptif court sous l'image (par exemple)s dans l'affichage par categorie en Version Peel 7.0?

 

Dans le fichier "produits.tpl", ligne 109,  j'ai rajouté les lignes suivantes que j'ai recopié du fichier "produit_details_html.tpl" :

 

<div class="description" property="description">
{if !empty($descriptif)}<p>{$descriptif}</p>{/if}
{if !empty($description)}<div>{$description}</div>{/if}

</div>

 

mais rien ne se passe. Il manque quelquechose, mais quoi?

Une idée?

 

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Dans le fichier produits.tpl, une varaible contient déjà une description du produit : {$prod.description}

Cette variable est utilisée dans le cas de l'affichage des produits en ligne. Vous pouvez déplacer cette variable à l'endroit souhaité.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

j'obtiens alors le message d'erreur suivant : 

 

Notice: Undefined index: description in /homepages/lib/templateEngines/smarty/compile/65c3fd33c8cf999edcf38a79bc63fa7b7906366d.file.produits.tpl.php on line 174

 

je n'ai pas trouvé ou est la variable  {$prod.description}

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Cette variable est présente sur la version 7.0.2. Pour la 7.0, vous devez en plus définir la variable SMARTY dans la fonction affiche_produits. Sous la ligne

            $tmpProd['name'] = $product_object->name;

Il faut ajouter la ligne
            $tmpProd['description'] = String::str_shorten(String::nl2br_if_needed(trim($product_object->descriptif)), 250);

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

C'est parfait, l'affichage se fait très bien.

 

Voici ce que j'ai donc fait:

 

dans le fichier lib\fonction\display_product.php, ajout de la ligne :

 

 $tmpProd['description'] = String::str_shorten(String::nl2br_if_needed(trim($product_object->descriptif)), 250);

 

dans le fichier modele\peel7\smarty\produits.tpl, ajout des lignes:

 

 
<tr>
<td colspan="2" class="fc_titre_produit">
{$prod.description}
</tr>
 
sous les lignes :
 
<tr>
<td colspan="2" class="fc_image center middle" style="width:{$small_width}px; height:{$small_height}px;">
<a title="{$prod.name|str_form_value}" href="{$prod.href|escape:'html'}"><img property="image" src="{$prod.image.src|escape:'html'}"{if $prod.image.width} width="{$prod.image.width}"{/if}{if $prod.image.height} height="{$prod.image.height}"{/if} alt="{$prod.image.alt}" /></a>
</td>
</tr>
 
Et l'affichage se fait sans problème.
Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Je rencontre des difficultés à faire ce que je veux:

Premier point:
Comment faire pour afficher d'autres informations sur le produit dans les pages catalogue ?
Je souhaiterai notamment afficher la référence et éventuellement les remises en pourcentage (lorsqu'il y en a sur le produit).
Puis je récupérer les variable des fiches articles pour les afficher dans les pages catalogue ?

Second point:
J'ai aussi besoin d'afficher autrement le prix, le choix de la quantité etc...
Dans quel fichier trouve-ton le formatage du cadre de la fonction add_to_cart ?
Et puis-je l'inclure dans la page produits.tpl, histoire de me faire un formatage au poil ?

autrement dit, mélanger des blocs comme celui du prix au descriptif court, et au titre...

Pour être plus clair, voila ce que je cherche à obtenir dans mes pages catalogues:
INLINE.jpg

 

 

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Premier point:

dans la fonction affiche_produits, vous pouvez utiliser les variables proposé par la classe Product. Les infos que vous voulez faire apparaitre sont

$product_object->reference et $product_object->promotion.

 

Second point:

Le fichier critere_stock.tpl contient le html du baloc d'ajout au panier.

Pour créer un affichage spécifique à la page catalogue, vous pouvez créer un doublons du fichier critere_stock.tpl  (nommé critere_stock_in_catalog.tpl par exemple)

Dans la fonction affiche_critere_stock, faire un test sur le paramètre $is_in_catalog pour inclure le fichier template adequat :

 

if ($is_in_catalog) {
        $tpl = $GLOBALS['tplEngine']->createTemplate('critere_stock_in_catalog.tpl');

} else {
        $tpl = $GLOBALS['tplEngine']->createTemplate('critere_stock.tpl');
}

 

 

Le fichier critere_stock_in_catalog.tpl pourra alors être modifié uniquement pour la page catalogue, sans que l'ajout au panier de la page produit soit impacté.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Hello,

Merci Simon, l'idée me semble clair.
J'ai commencer par dupliquer mon .tpl et ajouté le test dans la fonction affiche_critere_stock mais j'ai une page blanche avec un message d'erreur lorsque je tente d'afficher une catégorie.

 

Fatal error: Uncaught exception 'SmartyException' with message 'Unable to load template file 'critere_stock_in_catalog.tpl'' in /home/www/ledsboutique/lib/templateEngines/smarty/sysplugins/smarty_internal_templatebase.php:128 Stack trace: #0 /home/www/ledsboutique/lib/templateEngines/SmartyTemplate.php(52): Smarty_Internal_TemplateBase->fetch() #1 /home/www/ledsboutique/lib/fonctions/display_product.php(1057): SmartyTemplate->fetch() #2 /home/www/ledsboutique/lib/fonctions/display_product.php(660): affiche_critere_stock('231', 'catalogue_detai...', NULL, true, true) #3 /home/www/ledsboutique/lib/fonctions/display_product.php(413): affiche_produits(8, NULL, 'category', '30', 'line', true, NULL, 4, false) #4 /home/www/ledsboutique/achat/index.php(50): get_products_list_brief_html(8, true) #5 {main} thrown in /home/www/ledsboutique/lib/templateEngines/smarty/sysplugins/smarty_internal_templatebase.php on line 128

On dirait que le test fonctionne, car il cherche bien à charger le nouveau fichier. Seulement il n'y parviens pas.

J'ai modifié l'id du nouveau fichier (dans ses premières lignes) au cas ou, mais rien en change.


EDIT: j'ai renommé le fichier et ça fonctionne... j'avais du faire une erreur.
J'attaque la suite, je reviens vers vous si besoin.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Re,

Lorsque j'essaie de récupérer la variable du prix pour l'afficher sous le nom du produit (dans mon exemple), je l'utilise dans le fichier produit.tpl mais ça ne fonctionne pas car la variable n'est pas indexée visiblement (message d'erreur)
J'ai besoin de mélanger les variables en fait, le prix, l'état de stock et la quantité seront sortis du bloc d'ajout au panier pour être affiché avec le nom, le descriptif court... (comme mon illustration)

Est-ce possible ?

Comment indexer l'affichage du prix, le choix de quantité, etc.... pour les afficher dans produits.tpl ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message



Bonjour,

Il faut utiliser $tpl->assign(); pour créer une variable utilisable dans les fichier tpl. Par exemple, dans la fonction produit.tpl vous ajouter la ligne
$tpl->assign('reference', $product_object->reference);
Ensuite dans le fichier produit.tpl, vous pouvez utiliser la variable sous cette forme : {$reference}.




 

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

J'avance doucement.

J'ai réussi à afficher la cellule du choix de quantité dans produits.tpl
Mais celui-ci n'est pas pris en compte lors de l'ajout au panier... je ne sais pas comment faire.
Peut-être vais-je le laisser à droite dans le bloc initial.

Pour l'affichage de la promotion, comment faire pour formater son affichage (nombre de décimale par exemple ?

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

J'ai réussi à afficher la cellule du choix de quantité dans produits.tpl

Cette option est activable via le paramètre "Permettre l'ajout au panier dans les pages catalogue :" de la rubrique "Affichage des produits" dans la page administrer/sites.php

 

 

Pour l'affichage de la promotion, comment faire pour formater son affichage (nombre de décimale par exemple ?

Le nombre de décimal est modifiable dans la fonction fprix du fichier lib/fonctions/fonctions.php. Il faut changer la valeur de la fonction $prices_precision au début de la fonction

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Dans mon cas, la fonction d'ajout au panier des produits dans les pages catalogue est déja activée (souvenez vous de ma fonction resupplying...)
le formulaire ne prend en compte que le choix de quantité du bloc critere_stock.tpl, mais pas le nouveau ajouté dans produits.tpl.

Par ailleurs, (je pense que le problème doit être lié):
j'ai réussi à afficher l'état de stock (utilisant la variable 'affiche_etat_stock') dans mon fichier produits.tpl.
Pour cela j'ai du assigner cette variable dans display_product.php, au niveau de ma fonction affiche_produits.
L'état de stock s'affiche bien mais il n'est pas juste.
Quel que soit le produit, l'Id de l'état de stock est le même ! (celui par défault probablement).

J'ai l'impression que l'affiche n'est pas lié au produit...
Il doit aussi se mettre à jour selon les attributs, couleurs ou tailles (comme dans le cadre normal)

Idem pour le prix, sauf que je ne parviens même pas à l'afficher (utilisant la variable product_affiche_prix)

 

En fait il faudrait que tous les élément de la fonction affiche critere stock soit utilisable dans le tpl produits, comme il l'est pour critere_stock.tpl.


Pouvez vous m'aider, merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

pour pouvoir vous aider dans cette personnalisation de votre boutique je dois intervenir dans le code pour prendre le temps de regarder ce qui est fait, et comment il faut faire.
=> on rentre dans le contexte d'un développement spécifique.
Le forum ayant pour objet de répondre à des questions d'ordre général sur le logiciel PEEL Shopping, je vous invite à contacter notre service commercial sur contact@peel.fr ou 01 75 43 62 92 pour vous accompagner dans vos démarches de personnalisation de votre boutique en ligne PEEL Shopping.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour, 
J'ai réussi à me débrouiller en attaquant le problème dans l'autre sens. 
J'ai pu obtenir le résultat souhaité après quelques semaines...

Il me reste 2/3 bricoles.
actuellement, lorsque l'on applique une promotion sur un produit, l'ancien prix apparaît barré sous le nouveaux prix.
Comment le faire apparaître sur la même ligne, avant le nouveau prix ?

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

La fonction qui affiche le prix est affiche_prix dans le fichier lib\fonctions\display_product.php. Le html associé est dans le fichier prix.tpl.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

merci Simon !

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping