Comment ajouter une nouvelle mise en page pour la fin de l'avant dans le fichier de configuration, et garder un pour la section d'administrationajouter une autre mise en page
Répondre
Par défaut, ce n'est pas possible, parce que le bootstrap est (évidemment) exécuté avant que la demande est acheminée . Le bootstrap ne peut pas savoir si l'avant ou l'arrière est appelé. Vous pouvez créer un FrontControlle -Plugin, qui lit un paramètre de configuration (personnalisé) et la demande routée, puis définit la mise en page correcte.
J'ai eu exactement le même problème et l'ai résolu en sous-classe bootstrap. Donc, j'avais trois fichiers bootstrap
- espace utilisateur un
- Administrateur un
- commun un
Quelque chose comme ça pour le fichier d'amorçage (ils peuvent tous être placés sur l'emplacement par défaut Zend)
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initXXX() {
/* COMMON FOR ALL */
}
/* ... etc ... */
}
class BootstrapAdmin extends Bootstrap
{
protected function _initAdmin1() {
/* specific for admin */
}
/* ... etc ... */
}
class BootstrapUser extends Bootstrap
{
protected function _initUser1() {
/* specific for admin */
}
/* ... etc ... */
}
Où (1) et (2) étendre (3). Je recréer le code si vous le souhaitez.
Après cela dans le index.php:
if ($adminMode) {
$application->setBootstrap(APPLICATION_PATH . '/Name_of_Bootstrap_file.php', 'BootstrapAdmin');
} else {
$application->setBootstrap(APPLICATION_PATH . '/Name_of_Bootstrap_file.php', 'BootstrapUser');
}
La première fois que je l'ai fait, je placé toutes les classes dans le même fichier Name_of_Bootstrap_file.php, afin de les changer en même temps, peut le faire différemment la prochaine fois si ...
J'espère avoir aidé.
s'il vous plaît peut me faire la structure – aah
Voilà l'espoir couvert vos besoins –
mise en page qui dépend de ce que les modules est chargé
dans mes configs/application.ini
resources.layout.layout = "default"
resources.layout.pluginClass = "Core_Controller_Plugin_ModuleBasedLayout"
Et puis mon plugin
<?php
class Core_Controller_Plugin_ModuleBasedLayout
extends Zend_Layout_Controller_Plugin_Layout
{
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$this->getLayout()->setLayoutPath(
Zend_Registry::get('config')->resources->frontController->moduleDirectory
. DIRECTORY_SEPARATOR . $request->getModuleName() . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'layouts');
}
}
et dans mon bootstrap.php
protected function _initConfig() {
Zend_Registry::set ('config', new Zend_Config ($this->getOptions()));
}
Mon les mises en page sont stockées dans views/layouts/default.php
Je pensais que j'aurais la solution. Cela suppose que la section "admin" est un module.
J'ai développé une aide d'action que peut changer la mise en page en fonction du nom du module et configuration - ModuleLayoutLoader
Vous pouvez le configurer à partir de votre fichier de configuration en utilisant le plugin ressource d'application ModuleLayout associée. Par exemple
resources.moduleLayout.admin.layout = "admin"
resources.moduleLayout.anotherModule.layout = "foo"
Vous pouvez également définir la propriété layoutPath
pour vos mises en page du module en utilisant quelque chose comme ça si vous voulez garder vos scripts de mise en page se séparent
resources.moduleLayout.admin.layoutPath = APPLICATION_PATH "/path/to/admin/layout"
- 1. android - ajouter une mise en page xml dans une autre mise en page xml
- 2. Android - comment gonfler une mise en page complexe et l'ajouter à une autre mise en page?
- 3. Comment ajouter un défilement à une mise en page Android?
- 4. Ajouter et supprimer une vue de la mise en page
- 5. Android, ajouter une nouvelle vue sans XML Mise en page
- 6. Ajout à LinearLayout d'une autre mise en page et traitement de cette mise en page dans une activité distincte
- 7. comment utiliser les vues déclarées dans une mise en page fichier xml dans une autre mise en page
- 8. Mise en page Dojo/Dijit - essayé d'ajouter une bannière en haut d'une mise en page existante
- 9. Ajouter à une page Web en javascript
- 10. Ajouter dynamiquement la mise en page à ScrollView android
- 11. Mise en page JScrollPane
- 12. Mise en page en android
- 13. Créer une vue personnalisée en gonflant une mise en page?
- 14. Comment changer cette mise en page en une mise en page CSS?
- 15. Comment convertir une mise en page à largeur fixe en mise en page à largeur variable?
- 16. Puis-je intégrer une disposition d'onglets dans une autre mise en page?
- 17. TinyMCE Stylesheets dans une mise en page
- 18. Comment enregistrer une mise en page Tlistview
- 19. Zend_Dojo_Form dans une mise en page
- 20. mise en page Fullscreen
- 21. Mise en page ListActivity Personnalisé
- 22. Mise en page CSS
- 23. problème avec ExtJS mise en page de Vbox nichée dans une mise en page hbox
- 24. Comment créer une telle mise en page pour chaque ligne d'Android Listview? (Mise en page Tricky :))
- 25. Mise en page incohérente :(
- 26. Comment obtenir une version sans mise en page d'une page?
- 27. Mise en page CSS compliqué
- 28. L'utilisation de la balise de fusion dans les mises en page pour ajouter une ressource de mise en page externe?
- 29. HTML mise en page mise au point
- 30. Mise en page java des images java
est la section d'administration un module? – piddl0r