Wie verwende ich die Lambda-Operatoren von Google Blogger?
Google Blogger hat eine neue Gruppe von Lambda-Ausdrucksoperatoren für seine Vorlagensprache implementiert. Sehen:https: //blogger.googleblog.com/2016/05/more-custom-template-flexibility.htm undhttps: //productforums.google.com/forum/#! topic / blogger / l3phi8bscGY .
Der angegebene Beispielcode (das b: if / modified) lautet:
<!-- Show a Flower image if the post has the label flower -->
<b:if cond='data:post.labels any (l => l.name == "Flower")'>
<img src=’/img/flower.jpg’ />
</b:if>
Ich kann nicht herausfinden, wie dies in einer Vorlage funktioniert. Würde jemand bitte einen Arbeitscode bereitstellen, den ich in eine Vorlage einfügen könnte und der funktioniert?
UPDATE: Das scheint zu funktionieren. Aber wie oder kann ich die Schleife entfernen?
<b:section class='Test1' id='Test1' maxwidgets='' showaddelement='no'>
<b:widget id='Blog2' locked='true' title='Blog Posts' type='Blog' version='1' visible='true'>
<b:includable id='main'>
<b:loop values='data:posts' var='post'>
<h1>Post found</h1>
<b:if cond='data:post.labels any (label => label.name == "flower")'>
<h1>Flower!</h1>
</b:if>
</b:loop>
</b:includable>
</b:widget>
</b:section>
Zum Beispiel, wenn ich die Schleife entferne und durch Folgendes ersetze:
<b:if cond='data:posts any (p => p.title != "bob")'>
<h1>Post found</h1>
</b:if>>
Es wird nur ein Beitrag gefunden, wenn ich mehrere Beiträge habe, von denen keiner bob heißt! Ich habe versucht, den Lambda-Operator ohne Änderung von "any" auf "filter" umzustellen.