2012-04-12 59 views
0

我有很多PHP應用程序(和PHP比其他太)不是很適合要建立在CMS的頂部,由於應用程序或遺留實施的複雜性。什麼是將CMS功能引入應用程序的好方法?在過去,我一直在服務器端使用包含在頁面中的HTML片段。片段通過HTML工具(如Dreamweaver或CushyCMS)進行維護。這使我可以擁有管理員可以維護的一些內容區域。然而,我對CushyCMS(也不是獨立的DW)並不滿意,因爲它的能力有限。我一直在想使用類似的Wordpress來維護直接包含在服務器頁面上的內容。但實際問題是... :)CMS集成到PHP應用程序

會是什麼好辦法沒有建立整個網站與CMS像Wordpress或類似獲得CMS功能。

回答

1

還有一個原因是CMS變得複雜 - 您可以通過添加簡單的文章管理保存到任何文件或sqlite的開始..然後你需要幾個用戶..然後樹狀菜單,權限系統,文章鎖定或版本控制..然後你想要更好的性能和可擴展性,所以你遷移到真正的數據庫..然後,你想動態數據像小部件或表。然後模塊化結構。一個商店模塊,時事通訊等等。所以,你最終會遇到一個複雜的引擎,只有你知道它是如何工作的。

所以,如果你想有一個維護CMS從長期來看,利用現有的開源解決方案,即使是像WordPress的內部難看。您可能需要將其中一個整合到另一箇中,即雙方都需要API。

+0

接通CMS的頂部現有的軟件並不總是對的選擇,我不喜歡創造我自己的CMS,所以我只是想不同的選擇這一問題。 – tomtom 2012-04-12 12:29:02

0

好,有些東西你可以做的是建立一個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的模塊創作here

我希望它能幫助:)

Here是工作在考慮到這一點,它有綁定的Drupal(6,7和8)和Joomla的框架。

相關問題