2010-06-07 2 views
1

Je souhaite inclure un script php externe ou un fragment modx au index.php mais il provoque le blank screen à la place (et aucune erreur de l'analyseur de document). Probablement le problème est que ce script que je veux inclure contient des fonctions starting session et une fonction set_include_path qui pourrait en quelque sorte entrer en conflit avec l'analyseur Modx .. J'ai essayé d'utiliser l'API Modx mais cela ne semble pas fonctionner. J'utilise encore Modx 0.9.2.6 .. Comment puis-je résoudre le problème? Mon script vérifie la session et la base de données si l'utilisateur est connecté sur le site (le système de journalisation n'est pas basé sur modx) et imprime le menu dépend des privilèges de l'utilisateur ...Exécution de fichiers php externes ou d'extraits avec une session de démarrage dans Modx?

C'est ce que j'ai ajouté le début du modèle de page d'index: [[modx_api_supernav]]

le code de l'extrait modx_api_supernav:

<?php 
$path = dirname(__FILE__).'/'; 
include_once($path.'modxapi.php'); //last release of Modx API file located in the root 
$modx = new MODxAPI(); 
$modx->connect(); 
$modx->startSession(); 
$modx->runSnippet('supernav'); //snippet that contains external Zend Framework code 
?> 
+1

vous sont en train de changer réellement le index.php? Si c'est le cas, ce n'est pas une bonne idée. "J'ai essayé d'utiliser l'API Modx mais ça ne semble pas fonctionner" L'API est correcte, je dirais que vous ne mettez probablement pas le bon code, auquel cas vous passez plus de temps avec les docs ou le show du code. – Daniel

+0

Merci! S'il vous plaît regardez, j'ai mis à jour la question! – moogeek

Répondre

1

Si vous incluez [[modx_api_supernav]] dans l'un de vos morceaux MODx ou modèles, alors vous n'avez pas vraiment besoin de toutes les code dans votre extrait.

Essayez ce qui suit, qui fonctionne correctement si MODx est déjà en cours d'exécution (comme il est lorsque vous appelez un extrait en utilisant la syntaxe [[]]

<?php 
$modx->runSnippet('supernav'); //snippet that contains external Zend Framework code 
?> 

Si votre supernav extrait contenant du code externe tente de créer une nouvelle session, vous peut se retrouver avec des résultats très étranges.

0

Comme le dit PeterB, vous pouvez simplement appeler votre extrait soit $ modx-> runSnippet() ou en l'incluant dans votre contenu, modèle ou morceau.

vous faites pas n Vous devez vérifier si un utilisateur a ou n'a pas accès à une certaine page, car modx s'en occupe pour vous. Daniel a raison, vous devriez lire plus de la documentation détaillée -précise. Vous devriez également jeter un coup d'œil à la source de certains autres extraits pour vous aider à démarrer.

et vous devriez vraiment vérifier le WayFinder extrait (et visite www.muddydogpaws.com -> Développement)

Questions connexes