![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 8.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanie. Nie wiem czy to niedoczytanie czy brak jakiejś wiedzy podstawowej z mojej strony...Dlaczego nie można używać funkcji end na tablicach w widoku??
Po użyciu: Pojawia się komunikat esc_specialchars; Proszę o wyjaśnienie. Ten post edytował blackroger 12.10.2010, 14:28:23 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 6 Dołączył: 22.10.2007 Skąd: /dev/null Ostrzeżenie: (0%) ![]() ![]() |
Wszystkie zmienne przekazywane z kontrolera do widoku są opakowywane w bodajże sfOutputEscaper class, możesz sobie to sprawdzić w widoku poprzez <?php echo get_class($a) ?> i zobaczysz ze to nie jest zwykła tablica. Masz dwie opcje, albo nie używać funkcji end albo wyłączyć output escaping w symfony :]
-------------------- Zobacz i pośmiej sie na ifixed.it
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 304 Pomógł: 51 Dołączył: 4.02.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
sfOutputEscaper ma metodę getRawValue(), która zwróci pierwotną przechowywaną wartość, na tej wartości powinieneś móc wykonać funkcję end().
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
W widoku można przecież korzystać normalnie. Nie trzeba żadnych dodatkowych funkcji używać i błąd nie powinien się pojawiać. Problem występuje tylko w szablonie.
Możesz jeszcze zmienną uczynić bezpieczną, czyli opakować w sfOutputEscaperSafe (kontroler ma metodę upraszczającą). |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 0 Dołączył: 8.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedzi. Ale dziwna sprawa że normalnie w widoku mam taki błąd. Wcześniej tego nie było. Dopiero przy przejściu na 1.4.6
Ten post edytował blackroger 13.10.2010, 15:14:39 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 12:24 |