2009-08-16 15 views
-1

Ich möchte ein 'Kalenderobjekt' erstellen, das drei verschiedene Stilkalender zur Anzeige generiert, die alle dieselben Daten verwenden. sollte ich die Logik für den Kalenderstil in der Ansicht tun, oder sollte ich das im Controller tun und dann aus der Sicht aufrufen?mvc Frage, interaktive Objekte

Antwort

0

Ich würde es selbst so gestalten, dass nur Entitäten innerhalb eines bestimmten Datumsbereichs an die Ansicht übergeben werden und die gesamte Logik in Bezug auf die Darstellung in der Ansicht belassen.

Es gibt nichts, das Ihre Reinigung davon abhält, die Ansicht weiter zu zerlegen, aber es ist eine Sorge der Betrachtung, keine Kontrolleure.

+0

, die den Plan Funktion cal_month ist ($ Zimmer, $ month, $ year) ist die Probe i den Raum gehe ich Kalenderinformationen für und dann einen Bereich für die Informationen bin Grabbing. Ich war mir nicht sicher, ob ich ein paar Schleifen haben sollte, um die Daten zu scannen und sie in der Ansicht anzuzeigen, oder ob ich nur einen Funktionsaufruf in der Ansicht haben sollte, um diese Information vom Controller zu holen. normalerweise, da ich es zeige, würde ich es einfach in die ansicht werfen, aber da es ein interaktives objekt ist, denke ich eher an einen knopf. in denen die Anzeige Teil der Logik ist – Adrian

+0

cakephep hat neben Modellen Ansichten und Controller, Elemente Elemente und Komponenten genannt, Komponenten sind Teile der Logik, die in verschiedenen Controllern wiederverwendet werden können, und Elemente sind Ansichten, die in wiederverwendet werden sollen verschiedene Situationen. Was ich wollte, war ein Element. So kann ich die Kalenderlogik erstellen und in verschiedenen Situationen wiederverwenden. vielen Dank für Ihre Eingabe, ich stimme zu, dass, wenn ich keine Elemente hatte, die Ansicht der am besten geeignete Ort für den Code wäre. – Adrian

+0

edit: Ich fand gerade, dass, nachdem ich den Code geschrieben hatte, um in die Ansicht zu gehen, zum Glück war es nur ein Kopieren/Einfügen und dann ein "Element" Aufruf, um es zum Laufen zu bringen. – Adrian