Twig ใน symfony 2 : การใช้งาน Template เเม่เเบบ "Parent Blocks"

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Twig ใน symfony 2 : การใช้งาน Template เเม่เเบบ "Parent Blocks"

Twig ใน symfony 2 : การใช้งาน Template เเม่เเบบ "Parent Blocks"

by thatsawan » 14/04/2015 1:39 pm

มาต่อกัน จากที่เราได้สร้าง Template แม่เเบบไปเเล้วเพื่อสำหรับ หน้า Page อื่นๆจะได้ทำการเรียกใช้งานในส่วนที่เหมือนๆกัน ไปใช้งานได้ เช่น Header, Footer ที่นี่การเรียกใช้งานทำได้โดย

คำสั่ง Extends เป็นการสืบทอดคุณสมบัติของไฟล์ :base.html.twig (เเม่เเบบของเรานั้นเอง)

Code: Select all

{% extends "TestHelloBundle::base.html.twig" %}
ผลคือ จะได้ทุกอย่างที่เเม่เเบบมี
2015-04-14_13-30-09.png
2015-04-14_13-30-09.png (40.76 KiB) Viewed 710 times
อธิบายเพิ่มเติม : TestHelloBundle
TestHelloBundle = BundleName (Test คือชื่อ Forder , Hello ชื่อ Controller) ได้มาจากตอนที่เราสร้าง Controller
2015-04-14_13-19-57.png
2015-04-14_13-19-57.png (65.53 KiB) Viewed 710 times
ภาพตัวอย่างโครงสร้าง

ใน base.html.twig = Template เเม่เเบบของเรา กำหนด

Code: Select all

  {% block footer %}
   © 2015 mindphp.com
   {% endblock %}
2015-04-14_13-30-09.png
2015-04-14_13-30-09.png (40.76 KiB) Viewed 710 times
ที่นี่ลองมา ใส่ content ใน Template ลูก
Index.html.twig = Template ลูก

Code: Select all

{% extends "TestHelloBundle::base.html.twig" %}
   {% block footer %}
  Tel . 0000001
   {% endblock %}
ผลคือ มันจะไปทับกับ เเม่เเบบ
2015-04-14_13-34-16.png
2015-04-14_13-34-16.png (38.98 KiB) Viewed 710 times
เเต่ใดที่เราใส่คำสั่ง parant() เข้าไป มันจะได้ทั้ง content เเม่เเบบ เเละ content Template ลูก

Code: Select all

{% extends "TestHelloBundle::base.html.twig" %}

   {% block footer %}
       {{ parent()}}
    Tel . 0000001
   {% endblock %}
ผลคือ จะได้ทั้ง content เเม่เเบบ เเละ content Template ลูก
2015-04-14_13-37-05.png
2015-04-14_13-37-05.png (41.09 KiB) Viewed 710 times
[/color]

Top