我使用Zend Framework和MVC與MySQL數據庫建立了一個PHP的Web應用程序。我計劃爲應用程序實現上下文相關幫助。我做了我的研究,但是我沒有找到關於如何實現這一點的任何好的指針。
有人能指點我一本書或一個很好的參考與這樣做的例子嗎?我看到這在主要的保險公司網站和其他Web 2.0網站中實施。他們如何做到這一點?
感謝
我使用Zend Framework和MVC與MySQL數據庫建立了一個PHP的Web應用程序。我計劃爲應用程序實現上下文相關幫助。我做了我的研究,但是我沒有找到關於如何實現這一點的任何好的指針。
有人能指點我一本書或一個很好的參考與這樣做的例子嗎?我看到這在主要的保險公司網站和其他Web 2.0網站中實施。他們如何做到這一點?
感謝
我用一個簡單的wiki使用PHPMarkdown語法來做到這一點。
Wiki中存儲了更多額外的相關文檔,因此上下文幫助頁面在標題中以前綴'Help'開頭。這很有用,因爲它允許幫助頁面引用其他業務流程文檔,並幫助我在幾個地方重複自己(笑)。
在佈局腳本,我添加了一個菜單項「幫助」,這是通過輔助
class Zend_View_Helper_ContextHelp extends Zend_View_Helper_Abstract
{
//-------------------------------------------------------------------------
/*! \brief Context sensitive help: links to wiki page
*/
function contextHelp($title = 'Help')
{
$controller = Zend_Controller_Front::getInstance();
$request = $controller->getRequest();
$page = 'Help ' . ucfirst($request->getControllerName());
if ($request->getActionName() != 'index') $page .= ' ' . ucfirst($request->getActionName());
return $this->view->url(array('controller' => 'manual', 'action' => 'index', 'page' => $page), null, true);
}
}
呈現所以這個鏈接在每個頁面的右上角是可見的。
對於客戶/編輯操作,幫助頁面將爲'幫助客戶編輯'。我的很多頁面都有幫助信息和鏈接,這些信息和鏈接已經嵌入其中:因此,表單字段提供了有關以正確內容爲例的建議,其中一些鏈接指向維基頁面以獲取更多詳細信息或擴展示例。
維基數據庫架構是真正簡單
CREATE TABLE `manual` (
`id` mediumint(9) NOT NULL AUTO_INCREMENT COMMENT 'Unique manual identifier',
`title` varchar(40) NOT NULL DEFAULT '' COMMENT 'Short title of this page',
`content` text NOT NULL COMMENT 'Content of the page. (wiki format)',
`user_id` mediumint(9) NOT NULL DEFAULT '0' COMMENT 'The related user',
`last_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Date and time this record was last changed',
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `title` (`title`),
KEY `last_modified` (`last_modified`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Franchise Manual' AUTO_INCREMENT=50 ;
快樂張貼手動模式和控制器(加上一些配套傭工),但他們是有點長...讓我知道,如果你有興趣,並我會做一個博客文章並從這裏鏈接到它。
例子的確會有所幫助,但我想他們給在應用程序的每個屏幕一個唯一的ID,並存儲在該ID連接數據庫相關的幫助。這就是我無論如何都會這麼做的事情:p。另一步是以相同的方式鏈接屏幕區域(即給一個字段集或甚至單獨的字段一個唯一的ID,然後可以用它作爲查找鍵來檢索相關的幫助信息)。
考慮使用專門的應用程序(例如Wiki)來創建和維護文檔,並從應用程序中鏈接到wiki中的單個頁面。我正在計劃類似的事情,我很確定這是一條非常好的路。例如,如果您使用Wiki,您可以將您的幫助功能(無論看起來像什麼)指向documentation:installation:4_creating_databases
等維基頁面,並使用自定義模板在彈出窗口中顯示維基頁面。
至於找到正確的應用程序來維護文檔,也許這個問題有幫助:Good documentation software也許還minimalistic tools for developer documentation(稍有不同的重點,但非常好的建議)。
你能舉個例子嗎? – smack0007 2010-03-09 07:56:44