2013-01-18 27 views
5

Symfony 2'de bir ViewHelper nasıl oluşturulur? Tüm belgeleri okudum ancak herhangi bir terimi açıklamıyor. Sadece otomatik yükleme ve servis var. http://symfony.com/doc/current/cookbook/index.htmlSymfony 2'de ViewHelper oluştur

+1

siz "Bir ViewHelper Oluştur" ile ne demek istiyorsunuz? Özel işlevler/filtre/etc'yi dalmaya eklemek isterseniz, http://symfony.com/doc/current/cookbook/templating/twig_extension.html adresini ziyaret edin – AdrienBrault

+0

ViewHelper, görünümlerde yardımcı işlevler çağırmanın bir yoludur (şablonlar). Symfony2'de ne olduğunu bilmiyorum ama Zend buna "viewHelper" diyor. Bu arada, Twig ama PHP kullanmıyorum. – Emerald214

+0

Dal filtrelerini ve işlevlerini oluşturmak için dalmayı uzatabilirsiniz. Resmi twig belgelerine bakın http://twig.sensiolabs.org/doc/advanced.html – Praveesh

cevap

3

Sadece yardımcın işlevini yerine getirmekte ve bunun gibi

Symfony\Component\Templating\Helper\Helper 

genişleten bir sınıf oluşturmak zorunda:

namespace Acme\Foo\Helper; 


use Symfony\Component\Templating\Helper\Helper; 

class MyViewHelper extends Helper { 

    public function helpMe() { 
     // do something 
     return $value; 
    } 

    /** 
    * @inheritdoc 
    */ 
    public function getName() { 
     return "anyCanonicalServiceName"; 
    } 
} 

Sonra özel bir hizmet olarak yardımcı tanıtmak zorunda örneğin etiketi

Resources/config/services.yml 


services: 
     your_service_name: 
     class: Acme\Foo\Helper\MyViewHelper 
     # the tag alias "myViewHelper" is later used in the view to access your service 
     tags: 
      - { name: templating.helper, alias: myViewHelper } 

Şimdi böyle bir görünümde yardımcı erişebilirsiniz:

echo $view['myViewHelper']->helpMe();