Cómo usar los operadores de Google Blogger Lambda
Google Blogger ha implementado un nuevo conjunto de operadores de expresión Lambda para su lenguaje de plantilla. Ver:https://blogger.googleblog.com/2016/05/more-custom-template-flexibility.html yhttps://productforums.google.com/forum/#!topic/blogger/l3phi8bscGY .
El código de ejemplo dado (el b: si / modificado) es:
<!-- 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>
No puedo entender cómo hacer que esto funcione en una plantilla. ¿Alguien podría proporcionar algún código de trabajo que pudiera colocar en una plantilla y verlo funcionando?
ACTUALIZACIÓN: Esto parece funcionar. ¿Pero cómo, o puedo, eliminar el bucle?
<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>
Por ejemplo, si elimino el bucle y lo reemplazo con:
<b:if cond='data:posts any (p => p.title != "bob")'>
<h1>Post found</h1>
</b:if>>
¡Solo se encuentra una publicación, cuando tengo varias publicaciones, ninguna de las cuales se titula bob! He intentado cambiar el operador lambda de any a filter sin ningún cambio.