Smd_Macro: estendiamo velocemente TXP

Vi è mai capitato di dover eseguire una determinata azione su articoli o su immagini ed il core di TXP non ve lo permette perchè è abbastanza restrittivo (tralasciamo i migliaia di plugin disponibili).
Con smd_macro possiamo creare al volo la funzione desiderata.

Me ne sono reso effettivamente conto in questi giorni quando, nel tentativo di semplificare la gestione di pagine multilingua, ho fatto ricorso a questo plugin e gli ho passato le variabili che mi potevano servire.
Risultato: ho creato una piccola macro che in base alla sezione in cui sono, mi stampa l’articolo desiderato.

Immaginate una pagina in cui sono presenti diversi articoli custom, quindi con ID fisso. Volendo tramutare quella pagina in multilingua, dovrei per ogni articolo, o per ogni lingua, controllare in che sezione si è quindi stampare il relativo articolo:

<txp:if_section name="italiano"><txp:article_custom id="1" /></txp:if_section>
<txp:if_section name="francaise"><txp:article_custom id="2" /></txp:if_section>

questo per ogni articolo custom inserito nella pagina, quindi se abbiamo ad esempio 2 o 3 articoli custom, questo blocco di IF va a prendere un bel po di spazio nel nostro codice.
Possiamo semplificare il tutto tramite una macro, offere poter ripetere la scelta IF passando delle variabili:

<txp:article_custom_language it="1" fr="2" en="3" />

ed il contenuto della macro:

<txp:if_section name="italiano"><txp:article_custom id="{it}" /></txp:if_section><txp:if_section name="francaise"><txp:article_custom id="{fr}" /></txp:if_section><txp:if_section name="english"><txp:article_custom id="{en}" /></txp:if_section>

In questo modo nella nostra pagina abbiamo solo la chiamata alla macro e le varibili che passiamo.