Od aktualizacji do wersji Twig 2.0 pojawia się komunikat o błędzie Accessing Twig_Template attributes is forbidden
. Linia polecona zawiera albo {{ include }}
lub wywołanie makr.Komunikat o błędzie Twig 2.0 "Dostęp do atrybutów Twig_Template jest zabroniony"
Odpowiedz
W Gałązka 2,0 {{ import }}
„ed makra nie są dziedziczone do szablonów już dzieckiem, zobacz https://github.com/twigphp/Twig/issues/2336
Rozwiązanie: trzeba importować wymaganego makro (y) w każdym pojedynczym pliku .twig.
Jeśli błąd pojawia się w wierszu zawierającym {{ include }}
lub {{ extends }}
, należy zajrzeć do szablonu, który jest uwzględniany/rozszerzany, i zaimportować makro tam.
Jeśli masz dużo plików Twig przy użyciu swoich makr, może być łatwiejsze i mniej podatne na błędy zdefiniować globalne funkcje Twig do a Twig Extension. W ten sposób nie musisz importować makr do każdego pliku (który prawdopodobnie zostanie naprawiony w przyszłej wersji Twig).
Na przykład, gdy miałem
{% macro error(message, dismissible=true) %}
{# Error display code #}
{% endmacro %}
I teraz zostały zdefiniowane w gałązkę Extension nazywa UtilitiesExtension
następującą funkcją:
public function getFunctions()
{
return array(
// ...
new \Twig_SimpleFunction('error', array($this, 'error')),
);
}
public function error($message, $dismissible = true) {
return $this->twig->render('patterns/utils/error.html.twig', [
'text' => $message,
'limit' => $dismissible,
]);
}
Następnie należy zastąpić makro połączeń z nazwami funkcji ; pamiętaj, że nie możesz używać kropek w nazwach funkcji.
To rozwiązanie jest czyste, ponieważ Twig Macros mają być odpowiednikami funkcji PHP. Oczywiście powinno to być dostosowane do twoich potrzeb.
- 1. Błąd HTTP IIS 403.1 - Zabroniony: Dostęp do wykonania jest zabroniony
- 2. "Dostęp do ścieżki ... jest zabroniony" (.NET C#)
- 3. Twórca Qt, komunikat o błędzie
- 4. Regularne komunikat o błędzie wyraz
- 5. Django. Komunikat o błędzie do formularza logowania
- 6. CS1061: Komunikat o błędzie Kompilacja
- 7. Komunikat o błędzie dotyczący IEnumerable.GetEnumerator()
- 8. Hadoop komunikat o błędzie instalacji
- 9. Komunikat o błędzie składni mongoexport
- 10. Komunikat o błędzie AWS: InvalidInstanceID.NotFound
- 11. Komunikat o błędzie rozszerzenia Django
- 12. Dlaczego otrzymuję komunikat o błędzie?
- 13. Python ValueError komunikat o błędzie
- 14. VS2012: Dostęp do ścieżki jest zabroniony podczas wykonywania publikowania
- 15. Zestaw podpisów Dostęp jest zabroniony
- 16. dostęp do klucza rejestru jest zabroniony (ABCPdf)
- 17. Dostęp do SetPassword LDAP jest zabroniony
- 18. Python Click: niestandardowy komunikat o błędzie
- 19. Komunikat o błędzie instalacji rozszerzenia Chrome:
- 20. Jak przetwarzać komunikat o błędzie JSON
- 21. Komunikat o błędzie Jquery.Validate na formularzu
- 22. Co powoduje ten komunikat o błędzie Scala?
- 23. Jak wyłączyć globalnie komunikat o błędzie Pylint?
- 24. Komunikat o błędzie portu ICMP nieosiągalny
- 25. Proste PHP Jeśli komunikat o błędzie
- 26. Administrator Django, niestandardowy komunikat o błędzie?
- 27. Nadmiarowy komunikat o błędzie zgodności Swift 2
- 28. pusty komunikat o błędzie w pythonie
- 29. Jak pominąć komunikat o błędzie OpenCV
- 30. Dlaczego GHC wydaje następujący komunikat o błędzie?