Backend ve önyüz: benim Symfony çerçevesinde 2 uygulamalar var.
Bu iki uygulama tarafından kullanılmakta olan şablonlar olması mümkündür?
Ve eğer öyleyse, o şablonu koymak için en iyi yer nedir?
Ben geçmişte bu üstesinden oldum tek yolu paylaşılan parçalar için bir eklenti oluşturmak olmuştur.
IE: denilen eklentileri altında bir klasör oluşturun
TemplatesPlugin
Bunun içinde, bir modüller klasör oluşturun ve bu içinde, düzenli bir modül klasör yapısını oluşturun.
Bir şablon yolu örneği:
sf_root/plugins/TemplatesPlugin/modules/book/pageSuccess.php
sf_root/plugins/TemplatesPlugin/modules/book/_title.php
(Aksi takdirde zaten orada olmalı eklentileri diziye eklemek gerekir, sen enableAllPluginsExcept kullanıyorsanız o olacak) eklenti config / ProjectConfiguration.class.php etkin olduğundan emin olun.
Daha sonra, örneğin, bu şablonları başka bir şablon olarak erişebilirsiniz:
include_partial('book/title', array('title'=>'hello'));
Bu kesmek biraz hissediyor olsa da, oldukça iyi çalışıyor.
Bir eklenti kullanarak daha basit bir yolu var: this post bakabilirsiniz.
O sadece uygulama yapılandırma uzanan apps/appName/config/appNameConfigurations.class.php
edilir:
class appNameConfiguration extends sfApplicationConfiguration {
public function configure() {
sfConfig::set('sf_app_template_dir', sfConfig::get('sf_root_dir') . '/templates');
}
}
Bu yaklaşım bana temiz görünüyor. Bu symfony şablonları arar yolunu genişleten ya da sadece ayarlar eğer ben sadece bilmiyorum.
(Ben zaten "symfony için Definitive Guide" okudum) Henüz Symfony uzmanı değilim, ben bir hata yapabilir.
Farklı uygulamalar için ortak şablonları hakkında resmi belgelerde söz yoktur. Ortak şablonlar için en uygun dizin within single application apps / templates / olduğunu.
Maybe someone knows the answer. It will be interesting to read. Good luck.