开发者

Running external php files or snippets with starting session in Modx?

开发者 https://www.devze.com 2023-01-02 07:48 出处:网络
I want to include an external php script or modx snippet to the index.php but it causes the blank screen instead (and no document parser errors). Probably the problem is that this script i want to inc

I want to include an external php script or modx snippet to the index.php but it causes the blank screen instead (and no document parser errors). Probably the problem is that this script i want to include contains starting session functions and set_include_path function that might somehow conflict with Modx parser.. I tried to use the Modx API but it doesn't seem to work. I use Modx 0.9.2.6 yet.. How can I overcome the issue? My script checks the session and database if the user is logged-in on t开发者_StackOverflowhe site (logging system is not modx-based) and then prints the menu depends on the user privileges...

This is what I put in the beginning of the index page template: [[modx_api_supernav]]

The code of the snippet 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
?>


If you are including [[modx_api_supernav]] in one of your MODx chunks or templates, then you really don't need all the code in your snippet.

Try the following, which works correctly if MODx is already running (as it is when calling a snippet using the [[]] syntax

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

If your supernav snippet containing external code tries to create a new session, you may end up with some very strange results.


As PeterB says, you can just call your snippet by either $modx->runSnippet() or by including it in your content, template or chunk.

You do not need to check wether a user does or does not have access to a certain page because modx takes care of that for you.

Daniel is right, you should read more of the -pretty thorough- documentation. You should also take a look into the source of some other snippets to get you going.

AND you should really check out the WayFinder snippet (and visit www.muddydogpaws.com -> development)

0

精彩评论

暂无评论...
验证码 换一张
取 消