2010-06-07 2 views
1

index.php에 외부 PHP 스크립트 또는 modx 스 니펫을 포함시키고 싶지만 대신 blank screen이 발생합니다 (문서 파서 오류가 없음). 아마 문제는 내가 포함시키고 자하는이 스크립트가 starting session 함수와 set_include_path 함수를 포함하고있어 Modx 파서와 충돌 할 수 있다는 것입니다. Modx API를 사용하려고했지만 작동하지 않습니다. Modx 0.9.2.6을 아직 사용하고 있습니다 .. 어떻게 문제를 극복 할 수 있습니까? 내 스크립트는 사용자가 사이트 (로그인 시스템이 modx 기반이 아닌)에 로그인하고 사용자 권한에 따라 메뉴를 인쇄하면 세션과 데이터베이스를 검사합니다 ...Modx에서 시작 세션으로 외부 PHP 파일 또는 스 니펫을 실행 하시겠습니까?

이것은 내가 입력 한 것입니다 인덱스 페이지 템플릿의 시작 : [[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 
?> 
+1

가 실제로의 index.php를 변경을? 그렇다면 그것은 좋은 생각이 아닙니다. "Modx API를 사용하려고 시도했지만 작동하지 않는 것 같습니다."API는 괜찮습니다. 올바른 코드를 넣지 않았다고 가정하면 문서 또는 쇼와 더 많은 시간을 할애 할 수 있습니다. 일부 코드. – Daniel

+0

감사합니다. 제발 내가 질문을 업데이 트했습니다 봐! – moogeek

답변

1

당신은 당신이 정말로 모든 필요하지 않습니다, 당신의 MODx 덩어리 또는 템플릿 중 하나에 [[modx_api_supernav]]을 포함하는 경우 귀하의 스 니펫에있는 코드.

MODx 이미 실행중인 경우 (제대로 작동 다음을 시도하여 supernav 외부 코드를 포함하는 새 세션을 만들려고 스 니펫을 경우

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

[[]] 구문을 사용하여 조각을 호출 할 때 그대로 당신을 매우 이상한 결과를 얻을 수 있습니다.

0

을 PeterB가 말했듯이, 당신은 단지 콘텐츠, 템플릿 또는 덩어리에를 포함하여 중 $ modx-> runSnippet() 또는하여 조각을 호출 할 수 있습니다. 당신은 할

n이 아니라 modx가 당신을 대신해서 처리하기 때문에 사용자가 특정 페이지에 액세스했는지 여부를 확인할 수 있습니다.

Daniel이 맞습니다. 자세한 내용은 자세한 내용을 읽어야합니다. 다른 스 니펫의 출처를 살펴 봐야합니다.

그리고 당신이 정말로 는 Wayfinder 조각를 확인 (및 www.muddydogpaws.com 방문 -> 개발)해야