2013-08-08 16 views
7

Im inedito a Symfony/Twig e sto riscontrando problemi nel passaggio dei valori oggetto ai miei modelli di ramoscello.Visualizzazione dei valori dell'oggetto symfony nel modello di ramoscello

Ecco alcuni del mio codice di controllo che mostra il contenuto dell'oggetto:

$prevArticles = $section->getArticles();  
print_r($prevArticles); 
die() 

Displays:

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 
     ) 

) 

Allora mi passa il mio oggetto per il mio modello ramoscello in questo modo:

Quindi nel mio modello di ramoscello voglio visualizzare il valore di 'top_logo_advert' ma non funziona:

{% for article in prevArticles %} 

    {{ article.top_logo_advert }} 

{% endfor %} 

ricevo il seguente messaggio di errore:

Method "top_logo_advert" for object "Imagine\NewsletterBundle\Entity\Article" does not exist in ImagineNewsletterBundle:Section:build_advert.html.twig at line 62 

risposta

14

È necessario accedervi tramite:

{{ article.topLogoAdvert }} o {{ article.getTopLogoAdvert() }}

Entrambe le soluzioni funziona. La prossima volta, ricorda semplicemente che proprietà come 'my_property_1' vengono convertite in myProperty1 nel motore di ramoscello.

+0

Grandi cose. Ho implementato {{article.topLogoAdvert}} e ha funzionato. Allora, qual è l'accordo con Twig che cambia i nomi delle variabili? Supponevo che top_logo_advert avrebbe funzionato? –

+1

Perché si suppone che si seguano almeno le convenzioni PSR-0. Significa che in primo luogo non si deve dichiarare la porosità sul proprio oggetto con uno o più trattini bassi. Utilizzare invece le proprietà del caso cammello e variabile. –

+0

Ok notato. Tornerò indietro e rinominerò le mie variabili. Cheers –

Problemi correlati