Función utilitaria diseñada para agregar o remover múltiples atributos HTML sobre un elemento padre de forma centralizada. Permite compactar la lógica del tema, evitando la repetición extensa de etiquetas <b:attr> al construir componentes complejos.
Esta función forma parte del proyecto Hamlet. Puedes revisar el código fuente en GitHub.
Definición de la función
<b:includable id='@attr'>
<b:comment>
Add or remove multiple attributes
@author zkreations
@param {Array[Array]} data - Array of attribute name-value pairs
</b:comment>
<b:if cond='data:'>
<b:loop values='data:' var='i'>
<b:attr expr:name='data:i[0]' expr:value='data:i[1]'/>
</b:loop>
<b:else/>
<b:comment render='true'>Parameter [data] is required.</b:comment>
</b:if>
</b:includable>
Especificación de Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
data |
Array[] |
Matriz de pares nombre-valor. Define los atributos a procesar. |
Modo de uso
Para implementar esta función, añade el fragmento en los marcados predeterminados (<b:defaultmarkups type='Common'>) de tu tema.
data
Recibe un objeto de matrices donde se define el comportamiento de los atributos. En Blogger, una matriz se puede estructurar utilizando llaves { } o corchetes [ ] dentro de la expresión de datos.
Si la matriz interna contiene un segundo valor (índice 1), el atributo se agregará o reemplazará con dicho contenido. Si solo se define el primer valor (índice 0), el atributo indicado se removerá por completo del elemento HTML padre.
<footer class='another'>
<b:include data='{["id","foo"],["class","foo"]}' name='@attr'/>
</footer>
<footer id='foo' class='foo'></footer>
<footer id='example' class='another'>
<b:include data='{["id"],["class"]}' name='@attr'/>
</footer>
<footer></footer>