[Symfony] własna funkcja w twigu |
[Symfony] własna funkcja w twigu |
1.09.2016, 09:57:20
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:
ale wyrzuca błąd i nie wiem jak zapisać zapewne path do namespace? 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 |
|
|
1.09.2016, 10:00:21
Post
#2
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
|
|
|
1.09.2016, 10:06:02
Post
#3
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) |
a mając twiga zainstalowanego w example.com/vendor/twig/
jak podaję namespace? gdzie testBundle mam w lokalizacji: example.com/src/TestBundle/ Ten post edytował dopelganger 1.09.2016, 10:08:05 |
|
|
1.09.2016, 10:09:07
Post
#4
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Ale po co Ci ten namespace itd? Wrzucilem CI link jak się robi coś takiego w symfony. Tak jak Ty chcesz to zrobić, to można se robić poza frameworkiem - np jak do jakiegos swojego projektu podpinasz twiga.
|
|
|
1.09.2016, 10:26:45
Post
#5
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) |
Ale po co Ci ten namespace itd? Wrzucilem CI link jak się robi coś takiego w symfony. Tak jak Ty chcesz to zrobić, to można se robić poza frameworkiem - np jak do jakiegos swojego projektu podpinasz twiga. a jak to użyć w kontrolerze? dostaje błąd: Attempted to load class "AppExtension" from namespace "TestBundle\Twig". Did you forget a "use" statement for another namespace? Ten post edytował dopelganger 1.09.2016, 10:35:18 |
|
|
1.09.2016, 11:03:00
Post
#6
|
|
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.
|
|
|
1.09.2016, 11:06:00
Post
#7
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) |
Pokaż kod swojego rozszerzenia do Twiga + plik w ktorym rejestrujesz je jako serwis.
services.yml
DefaultController.php
Ten post edytował dopelganger 1.09.2016, 11:08:20 |
|
|
1.09.2016, 11:08:35
Post
#8
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
A po co w tym controllerze tworzysz obiekt AppExtension ?
Ten post edytował kapslokk 1.09.2016, 11:09:46 |
|
|
1.09.2016, 11:09:49
Post
#9
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) |
|
|
|
1.09.2016, 11:13:03
Post
#10
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
No dobra, juz zauwazylem jak edytowales post. W kazdym razie - po co tworzysz obiekt AppExtension w kontrolerze?
|
|
|
1.09.2016, 11:15:41
Post
#11
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) |
w kontrolerze, jeśli nie podam to mam inny błąd:
The filter "price" does not exist in TestBundle:View:show.html.twig at line 12 a w pliku show.html.twig mam: {{ '5500'|price }} ogólnie nie łapie, to gdzie i jak mam to przekazać do szablonu chyba że nie rozumie idei Ten post edytował dopelganger 1.09.2016, 11:18:49 |
|
|
1.09.2016, 11:18:58
Post
#12
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Podaj jeszcze sciezki plikow ktore tworzyles. Ogolnie to symfony na podstawie tego services.yml powinien chyba sam zarejestrowac rozszerzenie w twigu - nie trzeba nic wiecej robic.
|
|
|
1.09.2016, 11:22:48
Post
#13
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) |
Podaj jeszcze sciezki plikow ktore tworzyles. Ogolnie to symfony na podstawie tego services.yml powinien chyba sam zarejestrowac rozszerzenie w twigu - nie trzeba nic wiecej robic. example.com/app/config/services.yml example.com/src/TestBundle/Controller/DefaultController.php example.com/src/TestBundle/Twig/AppExtension.php Ten post edytował dopelganger 1.09.2016, 11:24:51 |
|
|
1.09.2016, 11:32:37
Post
#14
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
SOA #1
Cache usunales? |
|
|
1.09.2016, 11:39:47
Post
#15
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) |
|
|
|
2.09.2016, 11:08:45
Post
#16
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 30 Dołączył: 22.01.2007 Ostrzeżenie: (0%) |
Plik services.yml masz na pewno zaimportowany w pliku config?
W pliku Controller w twoim przypadku jak pisał kolega nic nie trzeba dodawać. I spróbuj sobie zrobic pierw najprostrza funkcje w stylu:
Poza tym w twigu jest funkcja numer_format wiec nie wiem po co ja tworzyć od nowa http://twig.sensiolabs.org/doc/filters/number_format.html |
|
|
2.09.2016, 12:09:47
Post
#17
|
|
Grupa: Zarejestrowani Postów: 618 Pomógł: 143 Dołączył: 22.12.2010 Ostrzeżenie: (0%) |
Odpal z konsoli
app/console debug:container debug:container --tag=twig.extension (lub bin/console - w zaleznosci od wersji symfony) i sie okaze czy w ogole masz zarejestrowane to rozszerzenie Cytat ogólnie nie łapie, to gdzie i jak mam to przekazać do szablonu questionmark.gifquestionmark.gif chyba że nie rozumie idei smile.gif Apropos tego, to framework sam ładuje te rozszerzenia (dlatego rejestrujesz je w services) żebyś nie musiał za każdym razem robić "new AppExtension()" w kodzie (tak upraszczając ) Ten post edytował ohm 2.09.2016, 12:16:42 |
|
|
7.09.2016, 11:20:57
Post
#18
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) |
Odpal z konsoli app/console debug:container debug:container --tag=twig.extension (lub bin/console - w zaleznosci od wersji symfony) i sie okaze czy w ogole masz zarejestrowane to rozszerzenie Apropos tego, to framework sam ładuje te rozszerzenia (dlatego rejestrujesz je w services) żebyś nie musiał za każdym razem robić "new AppExtension()" w kodzie (tak upraszczając ) mam komunikat: [InvalidArgumentException] The options tags, tag, parameters & parameter can not be combined with the service name argument. Plik services.yml masz na pewno zaimportowany w pliku config? W pliku Controller w twoim przypadku jak pisał kolega nic nie trzeba dodawać. I spróbuj sobie zrobic pierw najprostrza funkcje w stylu:
Poza tym w twigu jest funkcja numer_format wiec nie wiem po co ja tworzyć od nowa http://twig.sensiolabs.org/doc/filters/number_format.html DZIĘKI !!!!!!!!!!!!!!!!!!! działa !!!!!!!!!!!!!!! nie miałem w configu !!!!!!!!!!!!!!! hahahaha ale sie ciesze |
|
|
Wersja Lo-Fi | Aktualny czas: 20.04.2024 - 00:55 |