Forum CMS Made Simple Francophone

Aide francophone sur CMS Made Simple

Vous n'êtes pas identifié(e).

Annonce

ATTENTION

  • Prenez le temps de rechercher si quelqu'un n'a pas déjà proposé une solution à votre problème. Sur le forum français et sur le wiki
  • Pensez à mettre à jour votre version de CMS Made Simple. Nous ne faisons de support que sur LA dernière version de CMS Made Simple.
  • Renseignez impérativement le formulaire de nouveau message de manière la plus complète que possible. Dans votre CMS utiliser le menu Administration du site/Informations du système en haut Vue au format texte. Ces informations demandées nous permettent de mieux vous aider
  • Ajoutez [Résolu] au début du titre de votre 1er message lorsqu'une solution a été trouvée.

#1 03/04/2017 11:32:13

Brick
Membre
Inscription : 22/01/2016
Messages : 34

[Résolu] LISE et sa pagination

#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 2.1.6
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

J'ai une question concernant LISE,

Quand on est dans le gabarit de sommaire, on a le foreach pour la liste des items.
Ce foreach il parcours tous les items même si on fait une condition pour filtrer les éléments ?

En fait j'ai ça:

{foreach from=$items item=item}
  {if empty($item->vendu)}
  
  (...)

  {/if}
{/foreach}

Je fais un foreach pour afficher seulement les produits non-vendus (donc disponibles) et je dis sur le paramètre de LISE pagelimit='10'

Dans la liste complète j'ai 3 produits disponibles et 10 produits vendus

Mais le problème c'est que sur le site, ma pagination s'affiche au bout du premier item disponible alors que j'ai limité l'affichage à 10 items par page.

Donc en fait je me dis que dans le foreach tous mes items (qu'ils soient vendus ou dispo) sont comptabilisés.
Par contre dans le DOM de la page j'ai effectivement que 3 items (ceux dispo) mais la pagination s'active quand-même

Est-ce que c'est possible que LISE ne prenne pas en compte ma condition dans le foreach ? Et qu'il active la pagination car il y a effectivement 13 items en tout ?

Dernière modification par Brick (06/04/2017 18:02:08)

Hors ligne

#2 04/04/2017 00:21:31

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 693
Site Web

Re : [Résolu] LISE et sa pagination

Je suppose que le code de pagination est dans ton gabarit.

{foreach from=$items item=item}
  {if empty($item->vendu)}  
     (...)
     {$nonVendu+1}
  {/if}
{/foreach}
{if $nonVendu>9}{codepagination}{/if}

ou encore

{foreach from=$items item=item}
  {if empty($item->vendu)}  
     (...)
     {counter start=0 assign=nonVendu}
  {/if}
{/foreach}
{if $nonVendu>9}{codepagination}{/if}

Dernière modification par Jean le Chauve (04/04/2017 00:39:13)

Hors ligne

#3 04/04/2017 10:43:53

Brick
Membre
Inscription : 22/01/2016
Messages : 34

Re : [Résolu] LISE et sa pagination

Salut Jean et merci,

Je me suis mal exprimé désolé, en fait mon problème ne concerne pas l'affichage de la pagination, j'aimerai faire en sorte d'exclure complètement les items vendus du Foreach.

Je ne sais pas si c'est possible de filtrer directement sur le foreach, car ma condition à l'intérieur ne change rien, LISE fait juste en sorte de ne pas charger les biens vendus dans le DOM, mais le hic c'est que la pagination (à max 10 items) s'active quand-même alors qu'en réalité je n'ai que 3 produits sur le site.

La seule explication que je vois c'est que le foreach prend aussi en compte les produits vendus, malgré ma condition

Merci pour votre aide

Hors ligne

#4 04/04/2017 20:13:14

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 693
Site Web

Re : [Résolu] LISE et sa pagination

C'est ta condition qui n'est pas bonne : {if empty($item->vendu)} voudrait dire {s'il n'y a aucun item de vendu, alors fait (...)} et encore, je suis à peu près certain que ça ne veut rien dire du tout.

{foreach from=$items item=item}
{if $item->vendu}(rien, laisse vide){else}{code affichage}{/if}
{/foreach}

Ou alors, je n'ai toujours pas compris, et cela m'arrive souvent ces derniers temps wink.
Ça ne coûte rien de mettre l'entièreté du code du foreach, et ce serait plus facile à comprendre pour moi.

Hors ligne

#5 05/04/2017 09:05:46

Brick
Membre
Inscription : 22/01/2016
Messages : 34

Re : [Résolu] LISE et sa pagination

Alors je te l'accorde ma condition n'est pas du tout logique, mais le {if empty($item->vendu)} fait reference à une checkbox dans le BO, c'est pour ça que j'ai mis empty,
simplement pour dire que si la checkbox n'est pas cochée, le produit est disponible et pas encore vendu, donc il faut l'afficher.

Si au contraire la checkbox est cochée, le produit est vendu et ne dois pas s'afficher.

Maintenant dans mon cas, le produit vendu ne s'affiche ni sur le front ni dans le DOM, mais il est quand même comptabilisé dans le foreach car la pagination s'active.

Pour faire simple, je suis persuadé que les items vendus sont comptabilisés alors qu'on est dans le foreach des produits disponibles.

Je suis certainement vraiment un noob tongue mais je ne vois pas comment exclure autrement les produits vendus du foreach.

{if $items|@count > 0}

  {foreach from=$items item=item}

    {if empty($item->vendu)}

      (- après c'est que de la structure html -)

    {/if}

  {/foreach}

{/if}

Est-ce qu'il y a une autre façon de faire ?

Hors ligne

#6 05/04/2017 09:22:28

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 693
Site Web

Re : [Résolu] LISE et sa pagination

Pour vérifier si une condition est remplie, on n'utilise pas empty(), c'est un booléen.

{foreach from=$items item=item}
{if $item->vendu === FALSE}{code affichage}{/if}
{/foreach}

Dernière modification par Jean le Chauve (05/04/2017 09:34:48)

Hors ligne

#7 05/04/2017 13:32:52

Brick
Membre
Inscription : 22/01/2016
Messages : 34

Re : [Résolu] LISE et sa pagination

hum, j'ai encore beaucoup à apprendre roll merci pour cette info.

J'ai changé ma condition mais le problème persiste et reste le même, je ne comprends pas pourquoi.
Je pense que je vais devoir faire autrement du coup.

Merci pour ton aide Jean, je dois mettre le sujet en résolu dans ce cas de figure ?

Hors ligne

#8 05/04/2017 19:13:13

Jean le Chauve
Sa Seigneurie le Chauve, Comte du domaine .be
Lieu : Bruxelles
Inscription : 13/12/2007
Messages : 4 693
Site Web

Re : [Résolu] LISE et sa pagination

Si c'est pas résolu, non, peut-être qu'AireLibre passera sur ce post, il est le spécialiste de LISE.
Bonne chance.

Hors ligne

#9 06/04/2017 08:33:44

airelibre
Administrateur
Lieu : Alsace
Inscription : 01/12/2009
Messages : 1 184
Site Web

Re : [Résolu] LISE et sa pagination

Hello,

il ne faut pas dans ce cas gérer cela dans la vue (le gabarit summary) - c'est dans l'appel du module que ca se passe :

{LISEModule search_vendu='0'}

... et ce si "vendu" est l'alias du champ contenant l'info vendu / non vendu.

C'est dans l'aide de LISE - toujours commencer par l'aide wink

Hors ligne

#10 06/04/2017 09:21:17

Brick
Membre
Inscription : 22/01/2016
Messages : 34

Re : [Résolu] LISE et sa pagination

Salut AireLibre,

ah oui désolé, je ne connaissais pas ce paramètre de LISE qui m'a l'air fort utile merci !

Je sens qu'on y est presque  smile  mais on dirait que mes produits ne se trient toujours pas

Si je met:

{LISEmodule template_summary="sidebar" orderby="rand" search_vendu='0' category="vente"}

Tous les produits s'affichent (vendus et disponibles)

si je met:

{LISEmodule template_summary="sidebar" orderby="rand" search_vendu='1' category="vente"}

Là c'est seulement les produits vendus qui s'affichent !

Mais ce que je veux c'est afficher uniquement les produits non-vendus, donc le contraire

Est-ce que je dois mettre autre chose que 0 pour une checkbox ?

J'ai essayé aussi -1 mais ça ne change rien

Hors ligne

#11 06/04/2017 09:51:37

airelibre
Administrateur
Lieu : Alsace
Inscription : 01/12/2009
Messages : 1 184
Site Web

Re : [Résolu] LISE et sa pagination

En effet, il doit y avoir un problème d'interprétation du "0" dans le cas de la checkbox + paramètre "search".

Solution "rapide" : remplacer les checkbox par un groupe de boutons radio ou menu déroulant pour gérer toi-même la valeur du "vendu" et ainsi faciliter la recherche du module.

Sinon aller plus loin dans le code et voir avec le développeur. Pour être rapide, je prendrai la première solution et je tâcherai d'en toucher un mot au dév

Hors ligne

#12 06/04/2017 10:03:55

Brick
Membre
Inscription : 22/01/2016
Messages : 34

Re : [Résolu] LISE et sa pagination

Ok super je pense que faire un groupe de boutons radio sera la solution dans ce cas !

Je testerai dès que possible aujourd'hui et reviendrai mettre en résolu ensuite.
Je verrai aussi pour reporter ça au dev du coup effectivement

Merci encore !

Hors ligne

#13 06/04/2017 10:43:06

airelibre
Administrateur
Lieu : Alsace
Inscription : 01/12/2009
Messages : 1 184
Site Web

Re : [Résolu] LISE et sa pagination

Merci - Marque le sujet en [Résolu] que c'est le cas wink

Hors ligne

#14 06/04/2017 18:00:36

Brick
Membre
Inscription : 22/01/2016
Messages : 34

Re : [Résolu] LISE et sa pagination

Yes, résolu  big_smile  merci !

Hors ligne

Pied de page des forums