글쎄, 할 수있는 일은 CMS의 경로를 처리하고 그 결과를 기본 응용 프로그램에 위임하는 CMS 확장을 만드는 것입니다.
예를 들면, drupal 7에서 생각해 볼 수 있습니다.이 CMS에서는 모듈에 대한 데이터와 모듈의 코드에 대한 두 개의 파일이 들어있는 폴더로 모듈을 만들 수 있습니다.
my_module/my_module.info < -module의 데이터
name = My Module
description = A description of what your module does.
core = 7.x
my_module/my_module.module < - 당신이 응용 프로그램 드루팔을 "통합"수도 기본 코드와 모듈의 코드
<?php
/**
* Respond to a drupal's URL with a callback.
*/
function my_module_menu() {
$menu = array();
$menu["App"] = array(
"page callback" => "my_module_run",
"access callback" => true,
);
return $menu;
}
/*
* Do the job
*/
function my_module_run() {
ob_start();
// Call your application by including it's index.php file or whatever
// operation needed.....
// Capture the result of the application.
$result = ob_get_clean();
// If the request is ajax, echo the result.
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH'])
&& strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
echo $result;
} else {
//Otherwise, return it, so it is rendered as part of the
// CMS content.
return $result;
}
}
?>
, 당신이해야 할 일은 drupal 모듈로 설치 한 다음 https : // your-cool-site/App으로 가서 애플리케이션을 실행하는 것입니다.
drupal 모듈 작성에 대한 추가 정보 here.
나는 그것이 도움이 :)
Here는이 점을 가지고, 그것은 드루팔 (6, 7, 8)와 줌라에 바인딩이 작동하는 프레임 워크입니다 바랍니다.
CMS 위에 기존 소프트웨어를 전환하는 것이 항상 옵션이 아니며 나 자신의 CMS를 만드는 것을 좋아하지 않으므로이 문제에 대한 다른 옵션에 대해 생각하고 있습니다. – tomtom