Wie kann ich auf Repository-Funktionen in Zweig Vorlage in Symfony2 zugreifen

8

Ich habe die class categroies und class Products .

In meinem Repository habe ich die Funktion

getProducts($categoryid,$location)

Ich muss die Zweigvorlage wie folgt einbinden

%Vor%

oder gibt es dafür einen besseren Weg?

    
user825904 01.08.2012, 06:58
quelle

4 Antworten

16

Das solltest du nicht. Das ist Geschäftslogik, die in Templates nicht erscheinen sollte. Eine Lösung besteht darin, eine neue Aktion innerhalb eines Controllers und in Ihrem Vorlagenaufruf

zu erstellen %Vor%     
KingCrunch 01.08.2012 07:07
quelle
6

Es ist eine ziemlich alte Frage, aber ich vermisse eine wirklich einfache Lösung wie diese.

Es ist möglich, das Repo-Objekt an einen Zweig zu übergeben und die Repo-public-Methoden wie folgt aus einem Zweig aufzurufen:

In Ihrem Controller

%Vor%

Und dann in deiner Zweigvorlage:

%Vor%

Ich sage, dass es möglich ist, viele würden argumentieren, dass Vorlagen nur Daten anzeigen und die Controller die Daten sammeln lassen sollten. Mir persönlich macht es nichts aus, wenn meine Vorlagen ihre Daten selbst erhalten.

    
10us 20.04.2015 18:25
quelle
1

Ich vermute, dass alles, was Sie wirklich brauchen, ein linker Join ist, der einen WITH-Ausdruck verwendet. Etwas wie:

%Vor%

Damit erhalten Sie alle Kategorien mit ihren jeweiligen Produkten für einen bestimmten Standort.

    
Cerad 01.08.2012 14:23
quelle
1

Die Lösung ist genau umgekehrt, wie dies jetzt gemacht wird. Die Kategorie-Entität sollte eine Eins-zu-viele-Beziehung haben. Sehen Sie sich Ссылка

an

Die Kategorie Entity sollte dann ein EntityCollection-Attribut namens "products" haben. In Ihrer Vorlage können Sie dies dann auf folgende Weise lösen:

%Vor%     
Rvanlaak 18.01.2013 15:51
quelle

Tags und Links