Eigentlich hatte ich gedacht, dass das irgendwie einfacher gehen würde, aber hat mich dann doch einiges an Recherche gekostet.
Nachdem ich irgendwann mal das “My First Project” durchgespielt hatte, war ich der Auffasung, dass der Datepicker immer benutzt wird beim Admin Generator. Doch nachdem ich dann mal eine andere Anleitung benutzt hatte mußte ich feststellen: Das ist nicht immer so!
Den Unterschied macht, wie man den Admin Generator aufruft:
php symfony propel:init-admin backend post BlogPost
ist symfony 1.0 und macht den DatePicker
php symfony propel:generate-admin backend BlogComment --module=comment
ist symfony 1.2 und generiert stattdessen ein häßliches pulldown.
Um nun für 1.2. doch einen DatePicker zu bekommen nützt es auch nix irgendwas in der generator.yml anzugeben. Das wird alles ignoriert.
Man muss schon ein PlugIn bemühen: das sfFormExtraPlugin.
Das baut dann ein Jquery Datepicker hinter das Pulldown, auch nich so dolle aber immerhin.
Und das läuft so:
– Plugin installieren
– Jquery holen und einbinden in die view.yml:
javascripts: [jquery-1.3.2.min.js,query-ui-1.7.2.custom.min.js] stylesheets: [main.css,jquery-ui-1.7.2.custom.css]
– jquery-ui-1.7.2.custom.min.js nach web/js kopieren
– jquery-ui-1.7.2.custom.css nach web/css kopieren
– in lib/form/<model>Form.class.php folgendes rein:
public function setup() { parent::setup(); $this->widgetSchema['created_at'] = new sfWidgetFormJQueryDate(); }
– cache leeren noch mal den admin generator anschmeißen und wenn ich nix vergessen hab, sollte jetzt der DatePicker auftauchen
Puh, danke an die symfony Forum Suche ich hoffe in 1.3. wird das ein bißchen einfacher.
Habt Ihr das auch so gemacht? Gibts noch ein Trick?
Lasst mich es wissen…
Andere Möglichkeit sehe ich auch nicht. Ich bin aber durchaus ein Fan vom sf1.2 Form-Framework. Allerdings – was die Unterschiede zwischen Admin-Generator 1.0 und den neueren Versionen angeht – ist die Dokumentation echt ein Witz.
ich hab auch alles eher immer überschrieben, als dem Generator das beizubringen.
Spätestens bei irgendwelchen anderen JS Elementen (Coloropicker oder so) hörts ja dann eh auf. Ich finde die Variante aber ganz ok, das Gerüst generieren zu lassen und dann sozusagen händisch anzureichern.
Yo, genau den gleichen Leidensweg durchgemacht :-(