PHPTAL ve iç içe şablonlar.

1 Cevap php

Ben gün son çift için PHPTAL ile oynamak oldum. Genel olarak gerçekten beğendim. Ben içine baktım çoğu diğerlerinden daha içine almak için çok daha kolay oldu. Ama, belirli bir sorun yaşıyorum.

İşte mesele bu. Ben yuva için iki şablon çalışıyorum. En InnerClass Bu şablonu var diyelim:

<div>Hello World!</div>

OuterClass Aşağıdaki şablonu vardır:

<div tal:content="myVar">This text should be replaced with the HTML above.</div>

InnerClass da aslında execute themplate) yöntemi (çağırır ve içeriğini döndürür işlemek denilen bir yöntem () vardır. Yani dış sınıfında bunu:

$template->myVar = $innerClassObject->render();

I, daha sonra, OuterClass içeriğini gösterir. ">" Sorun iç sınıfının işlenmiş HTML kaçtı olarak geliyor ve ben görmek ve "<" yerine gerçek etiketleri. Onun İçerik görüntülenmeden önce myVar tamamen kaçtı gibi görünüyor.

Bu yaklaşım işe yaramazsa bu yana, ne yuva PHPTAL şablonları için en iyi yolu nedir? Ben mümkün olduğunu varsayalım ve bu benim ucunda sadece bilgi eksikliği, bu yüzden herhangi bir giriş takdir edilmektedir.

1 Cevap

Bir şablonda keyfi biçimlendirme eklemek istiyorsanız, o structure anahtar kelime kullanın:

<div tal:content="structure variable_that_contains_html"/>

Eğer başka bir PHPTAL şablonu gömmek istiyorsanız, o zaman kullanabilirsiniz macros:

macros.xhtml:

<div metal:define-macro="greeting">Hello World!</div>

page.xhtml:

<body><tal:block metal:use-macro="macros.xhtml/greeting"/></body>