2010-05-05 56 views
2

我正在構建一個新的網站,它有一個核心應用程序和許多內容頁面。內容頁面大多是動態的,我需要一種定期管理這些動態內容的方式。核心應用程序的主要功能是一個三步過程或讀取用戶數據(輸入頁面),從MySQL(產品頁面)讀取數據並將應用程序提交到電子郵件地址(應用程序頁面)。Drupal和普通的PHP集成

理想情況下,我想在常規PHP中構建核心應用程序,並利用Drupal提供其內容管理功能。 Drupal和普通的PHP可以很容易地集成嗎?我的感覺是,將核心應用程序編碼爲Drupal模塊會增加複雜的層次,從一開始就難以編寫代碼,並在系統成熟時進行維護 - 所以我真的只想使用普通的PHP。

讓我解釋一下其中的動態內容(由CMS管理)與核心應用相交:

動態內容,如FAQ數據使用上都「正常」的幫助頁面,也內顯示的小型飼料在覈心應用程序頁面下方的右側欄。在這一列中,3個隨機問題從數據庫中提取並顯示爲一個提要。當用戶點擊常見問題問題時,他們不會被帶離核心應用產品頁面,而是會在顯示問題和答案的彈出窗口中顯示數據。此外,用戶還可以通過此彈出窗口中的簡單導航菜單瀏覽其他問題和答案。我在上面描述的核心應用程序產品頁面上需要3種類似的Feed。

那麼,對於管理動態內容和簡化核心應用程序的編碼而言,「保持簡單」方面的理想解決方案是什麼? 「常規PHP」和Drupal能夠「和平」並存嗎?如果是這樣,這在技術上如何可能? 由於核心應用程序頁面中包含了由Drupal管理的一些內容,核心應用程序仍然可以使用普通PHP進行編碼嗎?

任何意見/建議? 謝謝! Jim。

回答

0

這聽起來像你問兩件事:

  1. 包括一個定製的PHP應用程序Drupal內容。
  2. 在PHP應用程序的彈出窗口中顯示Drupal內容。

有許多不同層次的集成 - 如果你需要的是爲拉內容到頁面一樣簡單,然後你可以簡單地創建與Drupal的這些內容,你可以做一個視圖(http://drupal.org/project/views)可用,然後將其包含在您的Web應用程序中。

如果您正在尋求包括用戶,會話等共享在內的更緊密的整合,那麼它很可能也是「可能的」,但會採取額外的信息來了解您的需求。

+0

嗨克里斯, 感謝您的善意回應。當你說出以下內容時,你可以多展開一些內容:「如果你的需求與將內容拉入頁面一樣簡單,那麼你可以簡單地創建一個視圖(http://drupal.org/project/views)來自Drupal的內容可以提供給您,然後將其包含在您的Web應用程序中。「 在這種情況下,我在Drupal中的大部分代碼和普通PHP的核心應用程序?我不太瞭解它背後的架構,看看普通PHP腳本和Drupal視圖模塊如何在1'頁面上執行。 – user333128 2010-05-05 11:03:27

1

這是我幾年前提交的文章的一部分。不幸的是,鏈接的文章早已消失,但它可能仍然與您的需求相關:
將舊式獨立PHP腳本導入Drupal系統
Drupal系統是一個非常強大的CMS,但採用現有的PHP網站並嘗試在Drupal上強制它可能是一件很難的事情。 將網站轉換爲Drupal的「正確」方式是「Drupalize」,意思是做「Drupal方式」的一切,這確實是正確的做法 - 但有些情況並非所有人都同意。

我有一個公司的例子,有很多基於HTML/PHP的網站。他們聽說了Drupal的靈活性和實力,並決定這是他們革命的選擇。但另一方面,他們不想改變任何事情,我會盡可能快地做到這一點。

要做到這一點的「正確方法」是將每個PHP腳本分解成若干塊,找到共享點,使用現有的Drupal模塊創建正確的方法,並用我自己的附加模塊填補空白。

但這不是他們要求我做的 - 相反,我尋找一種方法將現有的PHP腳本導入到Drupal環境中。

尋找現有的解決方案使我的proof-of-conceptDan Morrison描述。在底部,它使用PHP輸出緩衝命令來收集舊腳本所做的一切,然後將其顯示爲Drupal模塊的一部分。在我的情況下,我不得不做一些小的修改(主要是將請求中的變量傳遞給相關範圍中的PHP),但在底線中它完全符合我的需要。 呃,差不多...在其他的情況下,我想從Drupal的Form API中獲得樂趣,我對它的處理方式有所不同,稍後我會對其進行描述。

+0

概念驗證鏈接不起作用。這是一個鏈接到檔案:https://web.archive.org/web/20070218204229/http://coders.co.nz/drupal_development/?q=node/547 – 2015-01-08 11:32:26