b:switch case

21 views
Skip to first unread message

Ahmad Ramadhan

unread,
Mar 12, 2023, 7:53:36 AM3/12/23
to Forum Blogger Ambassade Francophone
Bonjour, j'ai un blog que si sur une certaine étiquette il y aura du code supplémentaire j'ai essayé avec b:switch mais il semble que quelque chose ne va pas, pouvez-vous me dire la bonne réponse
le code que j'ai fait dans le widget blog:

<b:switch var='data:post.labels map(l => l.name)'>
   <b:case value='foo'/>
<!--[ Pour les messages étiquetés Foo ]-->
   <b:case value='tech'/>
<!--[ Pour les messages étiquetés Tech]-->
   <b:default/>
<!--[ Pour les publications non étiquetées Tech & Foo]-->
</b: switch   >


Merci d'avance

Forum Blogger Ambassade Francophone

unread,
Mar 12, 2023, 12:41:54 PM3/12/23
to Forum Blogger Ambassade Francophone
Salut,

Le problème vient du lambda. Le résultat de sortie d'une opération de mapping est toujours un array. Dans ce cas-ci array[string] (un tableau de chaînes de caractères).
Il faut déplacer l'opération dans une boucle pour que chaque item soit comparé séparément dans chaque cas.

<b:loop values='data:post.labels map (l => l.name)' var='label'>
  <b:switch var='data:label'>
    <b:case value='foo'/>
    <b:case value='tech'/>
    <b:default/>
  </b:switch>
</b:loop>


Cordialement :)

Ahmad Ramadhan

unread,
Mar 14, 2023, 2:54:53 AM3/14/23
to Forum Blogger Ambassade Francophone
ça a marché
Merci.
Reply all
Reply to author
Forward
Message has been deleted
0 new messages