Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]2 Wiele themów. Jak tego dokonać?
Forum PHP.pl > Forum > PHP > Frameworki
peter13135
Od kilku dni myślę w jaki sposób zrobić "multi-themowość", tak jak to jest zrobione na forach czy popularnych cmsach, że admin może wybrać sobie thema spośród tych zainstalowanych.


Oczywiście na ten problem nasuwa się takie proste rozwiązanie:

  1. return $this->render( sprintf( 'AcmeHelloBundle:%s:Hello:index.html.twig', $themeName ), $params );


Jednak pobieranie $themeName w każdej akcji jest chyba nie najlepszym rozwiązaniem.

Czy da się to jakoś lepiej rozwiązać ?

Chciałbym, aby themy były instalowane za pomocą panelu admina, czyli ingerencja w configu (chyba) odpada. Widziałem w necie jakiegoś bundla, który zdaje się oferował taką opcję, że do config.yml dodaje się ścieżk do themów (czy jakoś tak).
Crozin
Za przekształcenie AcmeHelloBundles:Hello:index.html.twig w rzeczywistą ścieżkę (a właściwie obiekt TemplateReference) odpowiedzialna jest usługa templating.name_parser (jej domyślna implementacja to Symfony\Bundle\FrameworkBundle\Templating\TemplateNameParser). Wszystko co musisz zrobić to nadpisać ją własną implementacją, która może dziedziczyć po oryginalnej jedynie dorzucając odpowiedni podkatalog z nazwą szablonu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.