Jestem nowy w Symfony/Twig i mam problemy z przekazywaniem wartości obiektów do moich szablonów gałązek.Wyświetlanie wartości obiektów symfony w szablonie gałązkowym
Oto mój kod kontrolera, który pokazuje zawartość obiektu:
$prevArticles = $section->getArticles();
print_r($prevArticles);
die()
Wyświetlanie:
Array
(
[0] => Imagine\NewsletterBundle\Entity\Article Object
(
[id:protected] =>
[title:protected] =>
[headline:protected] =>
[link:protected] =>
[image:protected] =>
[excerpt:protected] =>
[check:protected] =>
[attachment:protected] =>
[field1:protected] =>
[field2:protected] =>
[field3:protected] =>
[magazines:protected] =>
[top_logo_advert:protected] => /uploaded_images/cece0b1859ea2b1af95f1f274620ba77.jpg
[top_logo_alt:protected] => Picture of blomange
[top_logo_link:protected] => www.google.com
)
)
Więc mijam mojego obiektu do mojego szablonu gałązka tak:
return $this->render('ImagineNewsletterBundle:Section:'.$builder->getTemplate(), array('prevArticles' => $prevArticles));
Następnie w moim szablonie gałązka chcę wyświetlić wartość "top_logo_advert", ale nie działa:
{% for article in prevArticles %}
{{ article.top_logo_advert }}
{% endfor %}
otrzymuję komunikat o błędzie:
Method "top_logo_advert" for object "Imagine\NewsletterBundle\Entity\Article" does not exist in ImagineNewsletterBundle:Section:build_advert.html.twig at line 62
Świetne rzeczy. Zaimplementowałem {{article.topLogoAdvert}} i zadziałało. Więc jaka jest umowa z Twigiem zmieniającym nazwy zmiennych? Zakładam, że top_logo_advert zadziałałby? –
Ponieważ powinieneś przestrzegać przynajmniej konwencji PSR-0. Oznacza to, że po pierwsze nie powinno się deklarować portyki na obiekcie za pomocą jednego lub wielu podkreślników. Zamiast tego użyj właściwości i zmiennej wielkości wielbłąda. –
Ok zauważyć. Wrócę i zmienię nazwę moich zmiennych. Pozdrowienia –