2010-02-26 4 views
0

J'essaie de comprendre comment fonctionne exactement le système de distribution de Magento.Magento dispatching application externe

Je souhaite envoyer une certaine partie de la mise en page (par exemple le corps) depuis l'extérieur du répertoire de l'application.

Ce que j'ai jusqu'ici; L'envoi va bien, mais j'ai besoin de le réduire à un corps ou à un certain bloc. Le code HTML généré doit également être retourné au lieu de le sortir directement (mieux vaut ne pas utiliser la mémoire tampon de sortie).

// Roland

Edit: J'ai ajouté les progrès que je fait, me laisse Stil avec quelques questions.

+0

Mise à jour d'après vos commentaires –

Répondre

1

Je n'ai pas essayé cela, mais vous pouvez rompre avec la convention et écraser votre propre URL dans $ _SERVER ['REQUEST_URI']. C'est considéré comme une mauvaise forme, mais je le ferais avant de pirater le noyau.

EDIT: Basé sur votre modification, content de votre réponse. Alors maintenant, le problème est que tout le code HTML est renvoyé sur une page? Pour certaines pages, il peut être illogique de supprimer le code HTML. Quelles informations essayons-nous réellement de récupérer? Par conséquent, si vous avez vraiment besoin de supprimer une page, vous devez modifier la disposition de la page. Cette information est stockée dans des fichiers XML de mise en page. Cela impliquera un peu de modification, mais l'idée est d'ajouter un module qui vérifie l'opération de ligne de commande (isset ($ _ SERVER ['argc']) pourrait fonctionner), puis charge un handle personnalisé ($this->getLayout()->getUpdate()->addHandle('my_custom_handle');) qui réinitialise tous les fichiers phtml qui font écho aux informations d'en-tête. Cela va être problématique de faire de manière fiable et sans pirater les fichiers de base, donc je suggère de regarder la création d'une nouvelle page sans les informations par défaut.

espoir qui aide, Joe

+0

J'ai fait quelques progrès et édité mon post. –

0

Merci de me aider Joe, en attendant je l'ai fait, encore une fois, beaucoup de progrès, mais toujours pas encore là ;-)

Ce que je veux réellement réaliser est que n'importe quelle page de magento peut être expédiée. Par exemple, une demande de publication http valide/client/compte/connexion doit toujours me connecter.

Excepté le rendu du corps de la réponse. Je ne veux pas que la mise en page soit rendue par défaut, à la place je veux aller chercher un bloc (défini dans la mise en page demandée xml correspondante) d'une manière programmatique.

Exemple de code court, de la façon dont je le vois.

<?php 
// code from previous post 
// - load, set request uri, dispatch 

$someBlock = getABlock('breadcrumbs'); // e.g. name attribute value in the xml 
echo $someBlock->toHtml(); 
?> 

Le mieux serait la manipulation de ce dans la piscine de code local, mais je ne suis pas sûr que c'est une bonne idée d'étendre (si son possible) le contrôleur frontal.

Je ne connaissais pas les poignées de mise à jour de mise en page .. une mise en page peut-elle être mise à jour? Que veulent-ils dire par là ...

Questions connexes