1

外部の php スクリプトまたは modx スニペットを に含めたいのですindex.phpが、blank screen代わりに (ドキュメント パーサー エラーは発生しません)。おそらく問題は、私が含めたいこのスクリプトに、何らかの形で Modx パーサーと競合する可能性のあるstarting session関数と関数が含まれていることです。Modx API を使用しようとしましたが、機能していないようです。set_include_pathModx 0.9.2.6 をまだ使用しています.どうすればこの問題を解決できますか? ユーザーがサイトにログインしている場合(ログシステムはmodxベースではない)、スクリプトはセッションとデータベースをチェックし、ユーザー権限に応じてメニューを出力します...

これは私がインデックス ページ テンプレートの冒頭に置いたものです。[[modx_api_supernav]]

スニペット 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
?>
4

2 に答える 2

1

MODx チャンクまたはテンプレートの 1 つに含める場合[[modx_api_supernav]]、スニペットにすべてのコードを含める必要はありません。

MODx がすでに実行されている場合 ([[]]構文

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

外部コードを含むスーパーナビ スニペットが新しいセッションを作成しようとすると、非常に奇妙な結果になる可能性があります。

于 2010-07-12T13:43:24.317 に答える
0

PeterB が言うように、$modx->runSnippet() を使用するか、コンテンツ、テンプレート、またはチャンクに含めることで、スニペットを呼び出すことができます。

ユーザーが特定のページにアクセスできるかどうかを確認する必要はありません。modx が処理してくれるからです。

ダニエルの言うとおりです。かなり詳細なドキュメントをもっと読むべきです。また、他のスニペットのソースを調べて、作業を開始する必要があります。

そして、 WayFinder のスニペットを実際に確認する必要があります(そして、www.muddydogpaws.com -> 開発にアクセスしてください) 。

于 2010-08-24T20:14:22.370 に答える