好吧,您可以做的事情是创建一个 CMS 扩展来处理 CMS 中的路由,然后将结果委托给底层应用程序。
举个例子,让我们考虑一下 drupal 7。在这个 CMS 中,您可以创建一个包含两个文件的文件夹:一个用于有关模块的数据,另一个用于模块的代码。
my_module/my_module.info <-模块的数据
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,您需要做的就是将其安装为任何drupal 模块,然后转到htt://your-cool-site/App 来执行您的应用程序。
更多关于 drupal 模块创作的信息。
我希望它有帮助:)
这是一个考虑到这一点的框架,它与drupal(6、7和8)和joomla绑定。