symfony - template - twig php code




Come si controlla se un oggetto esiste nel motore di Twig Templating in Symfony2? (2)

Ho una matrice multidimensionale in cui alcuni oggetti esistono e altri no. Continuo a ricevere un

Il metodo "codice" per l'oggetto "stdClass" non esiste in ... ?

Il codice che sto usando nel mio modello è:

{% for item in items %}
    <p>{% if item.product.code %}{{ item.product.code }}{% endif %}</p>
{% endfor %}

Alcuni prodotti non hanno questo codice e sfortunatamente questa struttura dati viene fornita tramite un feed, quindi non posso cambiarlo.

Quando ho esaminato la documentazione di Twig ho interpretato che se un oggetto o un metodo non era lì, restituirebbe null?


Ho fatto una rapida ricerca, spero che questo funzioni per te: p

defined

controlli definiti se una variabile è definita nel contesto corrente. Questo è molto utile se si utilizza l'opzione strict_variables:

{# defined works with variable names #}
{% if foo is defined %}
    ...
{% endif %}

{# and attributes on variables names #}
{% if foo.bar is defined %}
    ...
{% endif %}

Se stai object.object.key una chiave / variabile all'interno di un oggetto array multidimentale, allora, (se object.object.key è definito) non ha funzionato per me.

Ma (se object.object['key'] è definita) o (se object.object.get('key') è definita) funziona bene.





twig