IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[Smarty] probleme de conception


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2013
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 59
    Points : 43
    Points
    43
    Par défaut [Smarty] probleme de conception
    Bonjour à tous.

    J'ai un array contenant un listing de produit.


    Avec Smarty
    Je met en forme la page contenant
    1. un produit aléatoire mis en avant
    2. le listing global.


    Pour cela, j'ai tire un nombre aléatoire inférieur au nombre total.
    Je fais un premier foreach jusqu'a ce nombre aléatoire, puis je sort de la premier boucle.
    Puis je reparcourt le boucle complete.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    {math equation=rand(1,count($products)) assign='myRandValue'}
    {if isset($products)}
    {foreach from=$products item=product name=products}	
    	{if ($smarty.foreach.products.iteration==$myRandValue)}
    		<div id="best_prod" class="ajax_block_product item">
    			[... ]
    		</div>
    		{break}
    	{/if}
    {/foreach}
    <ul id="product_list">
    	{foreach from=$products item=product name=products}	
    		<li class="ajax_block_product">
    			[...]
    		</li>
    	{/foreach}
    </ul>
    {/if}
    Je pense que vous imagiener le problème.
    C'est pas du tout optimiser car on parcourt ainsi deux fois la chaine.

    Sans toucher à l'array de base voyez vous un meilleur conception?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je n'ai pas touché à Smarty depuis longtemps mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $products.{$myRandValue}
    doit te donner directement le bon élément.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2013
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 59
    Points : 43
    Points
    43
    Par défaut
    Je te remercie.
    Effectivement {$products.$myRandValue.name| donne directement le bon résultat


    En revanche je suis surpris car
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    {$products.$myRandValue.name}
    {foreach from=$products item=product name=products}	
    	{if ($smarty.foreach.products.iteration==$myRandValue)}
    	{$product.name}
    		{break}
    	{/if}
    {/foreach}
    Ne renvoie pas le même résultat

    car si $myRandValue vaut 0.
    {$products.$myRandValue.name} est bien définit mais pas dans le foreach, qui commence à 1?

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2013
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 59
    Points : 43
    Points
    43
    Par défaut
    Solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {math assign="myRandValue" equation='x-y' x=rand(1,count($products)) y=1}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de conception : cycle
    Par FarookFreeman dans le forum Diagrammes de Classes
    Réponses: 13
    Dernier message: 20/10/2005, 11h15
  2. Probleme de conception pour un update Oracle!
    Par vempiria dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/09/2005, 11h28
  3. [Language]Problème de conception
    Par lautre dans le forum Langage
    Réponses: 5
    Dernier message: 26/09/2005, 08h56
  4. [Evenement]Probleme de conception
    Par le Daoud dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 26/05/2005, 15h12
  5. probleme de conception de classe
    Par NhyMbuS dans le forum C++
    Réponses: 2
    Dernier message: 08/05/2005, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo