2012-12-12 6 views
0

Lors de la création d'un document en tant qu'enfant d'un autre document, il est créé avec un contrôleur, une action et des paramètres de modèle par défaut.Contrôleur, action et modèle modifiables (?)

Je souhaite le configurer de sorte que les champs contrôleur, action et modèle obtiennent les valeurs de leurs documents adjacents dans une structure parent-enfant.

Existe-t-il une solution prête à l'emploi pour résoudre ce problème ou peut-être que quelqu'un l'a fait d'une autre manière?

+0

Donc, vous voulez tous les documents avec le même parent partager certaines valeurs? Comment faites-vous la partie routage de votre application? La hiérarchie est-elle reflétée dans les URL? Quel genre de «valeurs» voudriez-vous partager? –

+0

Oui, le routage est actuellement entièrement basé sur la hiérarchie. Quel sor des valeurs? Comme je l'ai mentionné - valeurs de menu déroulant contrôleur, action et modèle –

Répondre

2

"Prêt à l'emploi", il est uniquement possible de créer des types de documents nommés (prédéfinis) avec des valeurs de contrôleur, d'action et de modèle. Ces types sont disponibles dans le menu contextuel "Ajouter un document" dans l'arbre des documents.

Mais je vois deux solutions possibles:

  1. Vous pouvez définir Document_Page classe et surcharge personnalisée create() méthode.

    Ensuite, vous devez déclarer votre classe personnalisée en classmap.xml:

    <Document_Page>Website_Document_Page</Document_Page> 
    
  2. Créer une plugin et définir postAddDocument(Document $document) hook:

    public static function postAddDocument(Document $document) 
    { 
        $parent = $document->getParent(); 
        $document->setModule($parent->getModule()); 
        $document->setController($parent->getController()); 
        $document->setAction($parent->getAction()); 
        $document->setTemplate($parent->getTemplate()); 
        $document->save(); 
    
        return $document; 
    } 
    
+0

Merci pour la réponse! J'espère que certains le trouveront utile parce que j'ai cessé de travailler avec Pimcore et j'espère que je n'aurai plus jamais à le faire :) Je pense que la deuxième solution est la plus logique –

Questions connexes