คุณตรวจสอบได้อย่างไรว่ามีวัตถุอยู่ใน Twig templating engine ใน Symfony2 หรือไม่


84

ฉันมีอาร์เรย์หลายมิติที่มีวัตถุบางอย่างและบางอย่างไม่มี ฉันได้รับ

Method "code" สำหรับ object "stdClass" ไม่มีอยู่ใน ... ?

รหัสที่ฉันใช้ในเทมเพลตของฉันคือ:

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

ผลิตภัณฑ์บางอย่างไม่มีรหัสนี้และน่าเสียดายที่โครงสร้างข้อมูลนี้ให้มาทางฟีดดังนั้นฉันจึงไม่สามารถเปลี่ยนแปลงได้

เมื่อฉันดูเอกสาร Twig ฉันตีความว่าถ้าไม่มีวัตถุหรือเมธอดอยู่ที่นั่นมันจะคืนค่า null?

คำตอบ:


150

ทำการค้นหาอย่างรวดเร็วหวังว่านี่จะเหมาะกับคุณ: p

กำหนด

กำหนดไว้ตรวจสอบว่ามีการกำหนดตัวแปรในบริบทปัจจุบันหรือไม่ สิ่งนี้มีประโยชน์มากหากคุณใช้ตัวเลือก static_variables:

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

{# and attributes on variables names #}
{% if foo.bar is defined %}
    ...
{% endif %}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.