[Résolu] Comment écrire {Si aucun résultat}?

Support en français pour CMS Made Simple.

Moderator: jce76350

User avatar
Dalien
Forum Members
Forum Members
Posts: 58
Joined: Tue Feb 17, 2009 6:41 am

[Résolu] Comment écrire {Si aucun résultat}?

Post by Dalien »

Bonjour,

Dans un catalogue, j'ai 8 catégories que je veux faire afficher séparément dans une page. Mais je n'arrive pas à trouver comment écrire le {if .....} pour dire que s'il n'y a pas d'items dans une certaine catégorie d'écrire "Aucun item disponible" .

Voici une partie de mon code:

Code: Select all

{foreach from=$itemlist item=item}

   {if ..........}
   <h2>Aucun item disponible</h2>

   {else}

	<h3 class="liste"><a href="uploads/{$item->fichier}" target="_blank"><img src="uploads/{$item->image}" /></a>
       # Unité : {$item->name}<br />
        Marque : {$item->marque}<br />
        Modèle : {$item->modele}<br />
        Année : {$item->annee}<br />
        Capacité : {$item->capacite}<br />
       <a href="uploads/{$item->fichier}" target="_blank">Voir la fiche et le prix…</a></h3>

    {/if}

{/foreach}
C'est un module que j'ai créé avec l'excellent module CtlModuleMaker.

Merci.
Last edited by Dalien on Mon Jul 13, 2009 4:52 pm, edited 1 time in total.
Jean le Chauve

Re: Comment écrire {Si aucun résultat}?

Post by Jean le Chauve »

Je me répète, installe le module ProdCatalogue qui est une démo et de laquelle tu pourras extraire les gabarits et comprendre ainsi leur fonctionnement. S'il n'y a pas d'item, cela écrit "no item found".
Tu peux le mettre en français en insérant un ext/fr_FR.php calqué sur en_US.php comme pour tous les modules ($lang["error_noitemfound"] = "No item found."; )
Last edited by Jean le Chauve on Sun Jul 05, 2009 10:00 am, edited 1 time in total.
User avatar
Dalien
Forum Members
Forum Members
Posts: 58
Joined: Tue Feb 17, 2009 6:41 am

Re: Comment écrire {Si aucun résultat}?

Post by Dalien »

J'ai bien dans le fichier langue ceci: $lang["error_noitemfound"] = "Aucun élément trouvé.";

Mais pourtant il écrit ça quand il n'y a pas d'item:

--Add Me - module:equipements string:error_noitemfound--
Jean le Chauve

Re: Comment écrire {Si aucun résultat}?

Post by Jean le Chauve »

Tu dois créer un répertoire nommé "ext" au même niveau que se trouve le fichier en_US.php.
C'est à l'intérieur de ce répertoire que tu dois insérer le fichier fr_FR.php (que tu auras traduit en français)
Donc  modules/prodcatalogue/lang/ext/fr_FR.php
Tu dois ensuite appeler le module par {cms_module module="prodcatalogue" lang="fr_FR"} dans le content de la page où tu veux voir s'afficher le catalogue.
User avatar
Dalien
Forum Members
Forum Members
Posts: 58
Joined: Tue Feb 17, 2009 6:41 am

Re: Comment écrire {Si aucun résultat}?

Post by Dalien »

Pourtant je n'ai pas de fichier en_US.php, seulement le fr_FR.php.

Et tous les textes, sauf noitem, sont en français.
User avatar
Dalien
Forum Members
Forum Members
Posts: 58
Joined: Tue Feb 17, 2009 6:41 am

Re: Comment écrire {Si aucun résultat}?

Post by Dalien »

C'est beau, j'ai créé un dossier ext et placé le fichier fr_FR.php dedans, et renommé l'autre en_US.php et ça fonctionne.
Jean le Chauve

Re: Comment écrire {Si aucun résultat}?

Post by Jean le Chauve »

Tu n'as plus qu'à mettre [résolu] dans le titre de ce post et tout sera parfait  ;).
User avatar
Dalien
Forum Members
Forum Members
Posts: 58
Joined: Tue Feb 17, 2009 6:41 am

Re: Comment écrire {Si aucun résultat}?

Post by Dalien »

C'est qu'un j'ai un autre problème.

Pour faire afficher chaque catégorie j'ai fais des requêtes pour chacune:

Titre première
{cms_module module="equipements" query="4"}

Titre deuxième
{cms_module module="equipements" query="5"}

Titre troisième
{cms_module module="equipements" query="6"}

etc....

Mais ce qui arrive c'est que dès qu'une requête passe TRUE, c'est elle qui est affichée pour les autres qui sont TRUE.

Exemple: http://www.conceptiondalien.com/techlift/index.php?page=equipements-usages
Jean le Chauve

Re: Comment écrire {Si aucun résultat}?

Post by Jean le Chauve »

Voilà où se trouve la doc : modules/CTLModuleMaker/doc/faq.html
User avatar
Dalien
Forum Members
Forum Members
Posts: 58
Joined: Tue Feb 17, 2009 6:41 am

Re: Comment écrire {Si aucun résultat}?

Post by Dalien »

Merci Jean le Chauve pour ton aide.

Mais les gabarits de ProdCatalogue ne sont absolument pas comme j'ai besoin et il n'y a rien dans la FAQ de CtlModuleMaker pour m'aider avec mon problème.

Je dois séparer les résultats des produits, dans la même page, par catégorie, avec une seule fois le titre de la catégorie respective au-dessus des résultats de cette catégorie.

Exemple:

Image

Je suis prêt à payer, par Paypal, la personne qui va m'aider.
nico63
Forum Members
Forum Members
Posts: 36
Joined: Wed Mar 07, 2007 1:00 am

Re: Comment écrire {Si aucun résultat}?

Post by nico63 »

Bon voici une solution, il y en a peux-être de meilleurs mais celle-ci marche en tout cas.

Recherche le fichier action.default.php de ton module, ouvre le dans un éditeur et regarde la presque dernière ligne de ce fichier, chez moi c'est la 169 et elle contient :

       echo $this->ProcessTemplate("noresult.tpl");

transforme tout cela en commentaires, cela devient :

// echo $this->ProcessTemplate("noresult.tpl");

Sauvegarde et c'est tout...
User avatar
Dalien
Forum Members
Forum Members
Posts: 58
Joined: Tue Feb 17, 2009 6:41 am

Re: Comment écrire {Si aucun résultat}?

Post by Dalien »

Code: Select all

{foreach from=$itemlist item=categorie_namevalue}
<h2 class="sous-titre">{$item->categorie_namevalue}</h2>
 {foreach from=$itemlist item=item}
   
	<h3 class="liste"><a href="uploads/{$item->fichier}" target="_blank"><img src="uploads/{$item->image}" /></a>

       # Unité : {$item->name}<br />
        Marque : {$item->marque}<br />
        Modèle : {$item->modele}<br />
        Année : {$item->annee}<br />
        Capacité : {$item->capacite}<br />
       <a href="uploads/{$item->fichier}" target="_blank">Voir la fiche et le prix…</a></h3>
 {/foreach}
<div class="separateur"></div>
{/foreach}
Avec ce code j'ai :

- la liste des 3 items disponibles,
- la liste des 3 même items AVEC le litre de la catégorie des 2 premiers items (la même catégorie) et l'autre item
- et une autre fois la liste précédente

?????
nico63
Forum Members
Forum Members
Posts: 36
Joined: Wed Mar 07, 2007 1:00 am

Re: Comment écrire {Si aucun résultat}?

Post by nico63 »

Il faut insérer des test conditionnels :
{if $item->variable!= ""}{$item->categorie_namevalue}{/if}
remplace variable par une variable que tu peux tester.
Consulte éventuellement cette page du manuel smarty si tu débutes voir même l'ensemble du manuel :
http://www.smarty.net/manual/fr/language.function.if.php
User avatar
Dalien
Forum Members
Forum Members
Posts: 58
Joined: Tue Feb 17, 2009 6:41 am

Re: Comment écrire {Si aucun résultat}?

Post by Dalien »

Tu l'a presque mon nouvel ami nico63  ;D

Code: Select all

 {foreach from=$itemlist item=item}
    {if $item->categorie!= ""}<h2 class="sous-titre">{$item->categorie_namevalue}</h2>{/if}
	<h3 class="liste"><a href="uploads/{$item->fichier}" target="_blank"><img src="uploads/{$item->image}" /></a>

       # Unité : {$item->name}<br />
        Marque : {$item->marque}<br />
        Modèle : {$item->modele}<br />
        Année : {$item->annee}<br />
        Capacité : {$item->capacite}<br />
       <a href="uploads/{$item->fichier}" target="_blank">Voir la fiche et le prix…</a></h3>
 {/foreach}
<div class="separateur"></div>
Ça me donne le titre de la catégorie et l'item dessus.

Mais ça répète le titre de la même catégorie pour le 2e item.
nico63
Forum Members
Forum Members
Posts: 36
Joined: Wed Mar 07, 2007 1:00 am

Re: Comment écrire {Si aucun résultat}?

Post by nico63 »

Essaie comme ceci :

Code: Select all

{foreach from=$itemlist item=item}
    {if $item->categorie!= ""}<h2 class="sous-titre">{$item->categorie_namevalue}</h2>
	<h3 class="liste"><a href="uploads/{$item->fichier}" target="_blank"><img src="uploads/{$item->image}" /></a>

       # Unité : {$item->name}<br />
        Marque : {$item->marque}<br />
        Modèle : {$item->modele}<br />
        Année : {$item->annee}<br />
        Capacité : {$item->capacite}<br />
       <a href="uploads/{$item->fichier}" target="_blank">Voir la fiche et le prix…</a></h3>
{/if}
 {/foreach}
<div class="separateur"></div>
Locked

Return to “French - Français”