Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony] własna funkcja w twigu
dopelganger
post
Post #1





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 27.10.2012

Ostrzeżenie: (0%)
-----


cześć
próbuje dodać do szablonu twig swoją funkcję. Znalazłem coś takiego i wkleiłem do kontrolera:

  1. $loader = new \Twig_Loader_Filesystem(__DIR__ . '/../../TestBundle/Resources/views');
  2. $twig = new Twig_Environment($loader);
  3. $function = new Twig_SimpleFunction('test', function () {
  4. //...
  5. });
  6. $twig->addFunction($function);


ale wyrzuca błąd i nie wiem jak zapisać zapewne path do namespace?(IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif)

Attempted to load class "Twig_Environment" from namespace "TestBundle\Controller".
Did you forget a "use" statement for another namespace?


a może jakiś inny sposób jest ?

prosze o pomoc

Ten post edytował dopelganger 1.09.2016, 10:00:19
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Pokaż kod swojego rozszerzenia do Twiga + plik w ktorym rejestrujesz je jako serwis.
Go to the top of the page
+Quote Post
dopelganger
post
Post #3





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 27.10.2012

Ostrzeżenie: (0%)
-----


Cytat(kapslokk @ 1.09.2016, 12:03:00 ) *
Pokaż kod swojego rozszerzenia do Twiga + plik w ktorym rejestrujesz je jako serwis.


  1. <?php
  2.  
  3. namespace TestBundle\Twig;
  4.  
  5. class AppExtension extends \Twig_Extension
  6. {
  7. public function getFilters()
  8. {
  9. return array(
  10. new \Twig_SimpleFilter('price', array($this, 'priceFilter')),
  11. );
  12. }
  13.  
  14. public function priceFilter($number, $decimals = 0, $decPoint = '.', $thousandsSep = ',')
  15. {
  16. $price = number_format($number, $decimals, $decPoint, $thousandsSep);
  17. $price = '$'.$price;
  18.  
  19. return $price;
  20. }
  21.  
  22. public function getName()
  23. {
  24. return 'app_extension';
  25. }
  26. }


services.yml

  1.  
  2. services:
  3. app.twig_extension:
  4. class: TestBundle\Twig\AppExtension
  5. public: false
  6. tags:
  7. - { name: twig.extension }


DefaultController.php

  1. $app = new AppExtension();
  2. $app->getFilters();


Ten post edytował dopelganger 1.09.2016, 11:08:20
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 18:59