Yii Framework Forum: Einflussnahme auf die generierten CRUD-Seiten - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Einflussnahme auf die generierten CRUD-Seiten Rate Topic: -----

#1 User is offline   thyseus 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 300
  • Joined: 18-April 09
  • Location:Leipzig, Germany

Posted 24 April 2009 - 05:37 PM

Hallo Mike, hallo alle anderen Foren-Benutzer

ich habe mich jetzt definitiv in Yii eingearbeit und fühle mich sehr wohl :-)

aber eine kleine Frage habe ich, die mir die Dokumentation nicht beantwortet:

Die Seiten, die per CRUD generiert werden, also <model>/view/admin.php, create.php, usw, usw haben, nach dem generieren immer das gleiche Layout bzw. das gleiche Aussehen. Gibt es eine Möglichkeit, in das Generationsverfahren einzugreifen?

Beispiel: ich möche 20 Modelle aus meinen kreuz-und-quer verknüpften Tabellen generiern. Würde ich das tun, müsste ich ja 20xcreate.php anpasse, 20xadmin.php usw,usw - z.B um deutsche Texte hineinzuschreiben, oder weil ich jedesmal ein Bildchen für "anlegen" haben will, oder warum auch immer....

diese Arbeit könnte ich mir doch sparen, wenn ich den CRUD-Generator anpassen könnte.

Habt ihr meine Frage verstanden? Welche Möglichkeiten gibt es da bei Yii, ohne in den original yii-frameworkquelltext einzugreifen?

Wenn es keine gibt, würde ich nämlich gerne ein erarbeiten... vielleicht als Yii-Modul...

danke im voraus für antworten!
0

#2 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,016
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 25 April 2009 - 03:19 AM

Eine Lösung wurde hier beschrieben:

Du überschreibst die Klasse CrudCommand mit deiner eigenen und legst sie z.B. nach protected/commands/shell/MeinCrudCommand.php. In dieser Klasse überschreibst du lediglich den Konstruktor und setzt dort den TemplatePath (siehe Beispiel im Link). Dann kopierst du die Original-Templates aus dem Framework-Verzeichnis in dein gewünschtes Verzeichnis (z.B. protected/commands/views/shell/crud) und kannst diese dort anpassen.

Danach sollte dein eigenes Crud-Kommando in der yiic shell auftauchen.
0

#3 User is offline   thyseus 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 300
  • Joined: 18-April 09
  • Location:Leipzig, Germany

Posted 26 April 2009 - 04:17 PM

Funktioniert einwandfrei (nachdem ich herausgefunden habe, dass Commands auch foobarCommand.php heissen müssen, damit Yii es erkennt) ! Danke für den Hinweis.

Gibt es eine Sammelstelle für vorgefertigte, übersetzte CRUD-Templates in Deutsch oder anderen Sprachen? Oder ist es geplant, für eine zukünftige Yii-Version CRUD-Templates mit anzubieten? Ich fände das interessant und spannend.

Kompliziert wird es ja z.B. auch, den richtig String abhängig vom Artikel des Models zu wählen. Ich könnte mir vorstellen, dass man dem Model ein Geschlecht gibt $model->gender, und abhängig vom Geschlecht des Models die Texte anders generiert werden, Beispiel


Macht das Sinn?


0

#4 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,016
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 27 April 2009 - 01:55 AM

Quote

Gibt es eine Sammelstelle für vorgefertigte, übersetzte CRUD-Templates in Deutsch oder anderen Sprachen? Oder ist es geplant, für eine zukünftige Yii-Version CRUD-Templates mit anzubieten? Ich fände das interessant und spannend.

Noch nicht. Aber ich denke, dass auch das in einer späteren Version mit angeboten wird.

Quote

Kompliziert wird es ja z.B. auch, den richtig String abhängig vom Artikel des Models zu wählen.


Klingt interessant, aber ich fürchte, eine allgemeine Lösung (für alle Sprachen) ist hier schon schwieriger zu bewerkstelligen. In Yii selbst wird das daher wohl nicht aufgenommen werden. Aber wenn du was brauchbares zusammenbaust, kannst du es ja immer noch als behavior in einer Erweiterung veröffentlichen. ;)
0

#5 User is offline   MartinE75 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 25-April 09

Posted 01 May 2009 - 03:32 AM

Hi zusammen!

Habe das jetzt so gemacht wie im Link beschrieben und mein neues Command taucht auch in der shell auf, aber sobald ich darauf zugreiffen will bekomme ich folgenden Fehler:



Der Klassenname, der Name des PHP-Files passt auch dazu - irgendwo dachte ich geht im der Pfad zu <myapp>/protected/commands/shell ab, aber das kann es auch nicht sein weil ich ein "rbac" Kommando auch da drinnen habe und das funktioniert.

Der Inhalt des cruddecommand.php ist exakt gleich wie im Beispiel beschrieben und es ist auch völlig egal ob ich darin etwas auskommentiere oder nicht.

Sollte vielleicht dazusagen das ich das ganze unter xampp betreibe.

Hat jemand noch eine Idee?

LG,
martin
0

#6 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,016
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 02 May 2009 - 02:49 AM

Hmm. Hast du den Dateinamen nochmal genau kontrolliert? Stimmt der Klassenname? Da du unter Windows bist, können es die Zugriffsrechte wohl auch nicht sein.
0

#7 User is offline   MartinE75 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 25-April 09

Posted 05 May 2009 - 10:04 AM

Hi, Groß-/Kleinschreibung ist auch noch wichtig :-(

Jetzt bekomme ich zwar eine exception - irgendwas mit eval, aber um das kümmere ich mich später...


Marin
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users