GeekLog를 사용하면 외부 페이지를 활성화 할 수 있지만 기본 Zend ./public/index.php에서 geeklog 사용자 정의 메소드를 호출해야합니다.
아래의 예에서, 내가
- 로했다가 set_include_path에()
- 전화 젠드 응용 프로그램을 호출하기 전에 EXP_externalAccess() 메서드를 geeklog PHP는 라이브러리를 포함합니다.
'/public/index.php'의 전체 코드는이 사용자가 올바른 사용 권한이있는 경우 페이지 만 호출됩니다 보장
<?php
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
realpath(APPLICATION_PATH),
'/home/bhaa1/public_html/lib-common.php',
get_include_path()
)));
/** Zend_Application */
require_once '/home/bhaa1/public_html/lib-common.php';
$page_name = substr($_SERVER['SCRIPT_NAME'], 1);
if (!EXP_externalAccess($page_name)) {
$display = COM_siteHeader('menu');
$display .= COM_startBlock($LANG_EX00['access_denied']);
$display .= '<div align="center"><b>' .
$LANG_EX00['access_msg'] .
'</b></div>';
$display .= COM_endBlock();
$display .= COM_siteFooter(yes);
echo $display;
exit;
}
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/dashboard.ini'
);
$application->bootstrap()->run();
?>
입니다.
마지막 단계는 내 layout.phtml을 업데이트하여 geek-log '메뉴'와 zend app에서 렌더링 한 html을 래핑하는 'footer'를 업데이트하는 것입니다.
<?php echo COM_siteHeader('menu');?>
// .. ZEND LAYOUT STUFF
<?php echo COM_siteHeader('end');?>