คำถามติดแท็ก twig

Twig เป็นเครื่องมือสร้างเทมเพลตที่ทันสมัยรวดเร็วยืดหยุ่นและปลอดภัยสำหรับ PHP สร้างขึ้นสำหรับ Symfony และนำมาใช้โดย Drupal 8

4
PhpStorm ห่อ / เลือกรอบทิศทาง?
บ่อยครั้งในการเขียนโค้ดและเทมเพลตฉันจำเป็นต้องตัดข้อความบางส่วน มีทางลัดใด ๆ ที่จะตัดการเลือกปัจจุบันเช่น: Hello World "Hello World" Hello World {{ trans 'Hello World' }} ฉันใช้ PhpStorm 7 สำหรับ Mac และ PC ฉันพบสิ่งที่คล้ายกันกับ: ctrl+ alt+ jคุณสามารถห่อด้วยแท็ก html แต่ไม่มีอะไรอื่น นอกจากนี้ctrl+ alt+ -แสดงความคิดเห็นเกี่ยวกับการเลือกปัจจุบันตามรูปแบบไฟล์ปัจจุบัน (php, twig, html, ... )

1
twig: หากมีหลายเงื่อนไข
ดูเหมือนว่าฉันมีปัญหากับคำสั่ง twig if {%if fields | length > 0 || trans_fields | length > 0 -%} ข้อผิดพลาดคือ: Unexpected token "punctuation" of value "|" ("name" expected) in ฉันไม่เข้าใจว่าทำไมมันถึงใช้ไม่ได้มันเหมือนกับว่ากิ่งไม้หายไปกับท่อทั้งหมด ฉันได้ลองแล้ว: {% set count1 = fields | length %} {% set count2 = trans_fields | length %} {%if count1 > 0 || count2 …

2
เพิ่มพารามิเตอร์มากกว่าหนึ่งรายการในพา ธ ทวิก
จะเพิ่มพารามิเตอร์มากกว่าหนึ่งตัวใน Twig path ได้อย่างไร? สมมติว่าคุณมีเส้นทางนี้: article_show: pattern: /article/{slug} defaults: { _controller: AcmeArticleBundle:Article:show } คุณสามารถทำได้ในเทมเพลต Twig ของคุณ: {{ path('article_show', { 'slug': article.slug }) }} แต่ถ้าคุณมีสิ่งนี้ในไฟล์เส้นทางของคุณ: _files_manage: pattern: /files/management/project={idproject}&user={iduser} defaults: { _controller: AcmeTestBundle:File:manage } ดูเหมือนว่าพวกเขาไม่ได้ครอบคลุมสิ่งนี้ในเอกสารของพวกเขา
107 symfony  twig 

4
Persistent: ตั้งค่าไวยากรณ์สำหรับประเภทไฟล์ที่กำหนด?
ผมทำงานในโครงการ Symfony2 myfile.html.twigซึ่งใช้ทวิกและประเภทไฟล์ที่มี กลุ่มไม่ตรวจจับการเน้นไวยากรณ์โดยอัตโนมัติและไม่ใช้เลย ฉันสามารถใช้ได้:set syntax=HTMLหลังจากเปิดไฟล์แล้ว แต่นี่เป็นความเจ็บปวดเมื่อกระโดดไปมาระหว่างไฟล์ มีวิธีตั้งค่าการเน้นไวยากรณ์อย่างต่อเนื่องสำหรับประเภทไฟล์เฉพาะในกลุ่มหรือไม่?

2
Symfony 2: ฉันจะตรวจสอบได้อย่างไรว่าผู้ใช้ไม่ได้เข้าสู่ระบบภายในเทมเพลต
ในเทมเพลต Symfony 2 (โดยใช้ Twig) ฉันจะตรวจสอบได้อย่างไรว่าผู้ใช้ไม่ได้เข้าสู่ระบบหรือไม่ ฉันไม่ต้องการใช้ROLEเช็ค ฉันต้องการวิธีที่ตรงไปตรงมาในการตรวจสอบว่าผู้ใช้ไม่ได้เข้าสู่ระบบหรือไม่ ฉันรู้ว่าการเปรียบเทียบapp.user.usernameกับanonผลงาน แต่มันไม่เหมาะกับฉัน

5
ฉันจะใช้การแบ่งหรือดำเนินการต่อภายในสำหรับลูปในเทมเพลต Twig ได้อย่างไร
ฉันพยายามใช้ลูปง่ายๆในโค้ดจริงของฉันลูปนี้ซับซ้อนกว่าและฉันต้องการการbreakวนซ้ำเช่นนี้: {% for post in posts %} {% if post.id == 10 %} {# break #} {% endif %} <h2>{{ post.heading }}</h2> {% endfor %} ฉันจะใช้พฤติกรรมของbreakหรือcontinueโครงสร้างควบคุม PHP ใน Twig ได้อย่างไร
100 php  symfony  for-loop  twig  break 

3
การเข้าถึงผู้ใช้ที่เข้าสู่ระบบในเทมเพลต
ฉันใช้ FOSuserbundle เพื่อเริ่มการลงทะเบียนผู้ใช้https://github.com/FriendsOfSymfony/FOSUserBundle ฉันได้รับการลงทะเบียน / เข้าสู่ระบบและออก สิ่งที่ฉันต้องการทำตอนนี้คือดึงข้อมูลผู้ใช้ที่ล็อกอินและนำเสนอในทุกหน้าของไซต์ของฉัน เช่น "สวัสดีชื่อผู้ใช้" ในประเภทส่วนหัวของสิ่งต่างๆ ดูเหมือนว่าการฝังตัวควบคุมในแอป / Resources / views / base.html.twig ของฉันเป็นวิธีที่ดีที่สุดในการดำเนินการhttp://symfony.com/doc/current/book/templating.html#embedding-controllers ฉันจึงเขียนคอนโทรลเลอร์เพื่อเข้าถึงข้อมูลโปรไฟล์ผู้ใช้ สิ่งที่ฉันคิดไม่ออกคือวิธีเข้าถึงวิธีการ FOS ในคอนโทรลเลอร์แบบฝังตัวของฉัน ดังนั้นจากAcme / UserBundle / Controller / UserController.php ของฉันฉันต้องการทำสิ่งนี้: public function showAction() { $user = $this->container->get('security.context')->getToken()->getUser(); if (!is_object($user) || !$user instanceof UserInterface) { throw new AccessDeniedException( 'This user does …



4
ฉันจะแก้ไข“ เพิ่ม myBundle ไปยังข้อยกเว้น symfony2 ของ asseticBundle config” ได้อย่างไร
เมื่อฉันพยายามใช้{% javascript %}แท็กTWIG เพื่อเชื่อมโยงไปยัง.jsไฟล์ของฉันมันจะส่งคืนฉันด้วยข้อยกเว้นต่อไปนี้: An exception has been thrown during the compilation of a template ("You must add CompetitiongameBundle to the assetic.bundle config to use the {% javascripts %} tag in CompetitiongameBundle:game:index.html.twig.") in "CompetitiongameBundle:game:index.html.twig". index.html.twigลักษณะของฉัน: {% javascripts 'CompetitiongameBundle/Resources/views/public/js/*'%} <script type="text/javascript" src="{{ asset_url }}" ></script> {% endjavascripts %} Hello {{ name …
84 php  symfony  twig 

1
คุณตรวจสอบได้อย่างไรว่ามีวัตถุอยู่ใน Twig templating engine ใน Symfony2 หรือไม่
ฉันมีอาร์เรย์หลายมิติที่มีวัตถุบางอย่างและบางอย่างไม่มี ฉันได้รับ Method "code" สำหรับ object "stdClass" ไม่มีอยู่ใน ... ? รหัสที่ฉันใช้ในเทมเพลตของฉันคือ: {% for item in items %} <p>{% if item.product.code %}{{ item.product.code }}{% endif %}</p> {% endfor %} ผลิตภัณฑ์บางอย่างไม่มีรหัสนี้และน่าเสียดายที่โครงสร้างข้อมูลนี้ให้มาทางฟีดดังนั้นฉันจึงไม่สามารถเปลี่ยนแปลงได้ เมื่อฉันดูเอกสาร Twig ฉันตีความว่าถ้าไม่มีวัตถุหรือเมธอดอยู่ที่นั่นมันจะคืนค่า null?
84 symfony  twig 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.