php - 上下文相关帮助 - PHP 类

标签 php mysql ajax zend-framework

全部,

我有一个使用 Zend Framework 和 MVC 以及 MySQL 数据库构建的 PHP Web 应用程序。我计划为应用程序实现上下文相关帮助。我进行了研究,但没有找到关于如何实现这一目标的任何好的指示。

有人可以给我指一本书或一个很好的引用资料吗?我在主要保险公司网站和其他 Web 2.0 网站上看到了这一点。他们是怎么做到的?

谢谢

最佳答案

我使用 PHPMarkdown 语法在一个简单的 wiki 上完成了这项工作。

wiki 中存储了更多其他相关文档,因此上下文帮助页面在标题中以前缀“帮助”开头。这很有用,因为它允许帮助页面引用其他业务流程文档并避免我在几个地方重复自己(咧嘴笑)。

在布局脚本中,我添加了一个菜单项“帮助”,它是通过助手呈现的

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 );
    }
}

所以这个链接在每个页面的右上角都可见。

对于客户/编辑操作,帮助页面将是“帮助客户编辑”。我的很多页面都有帮助信息和已经嵌入其中的链接:因此表单字段有描述,建议正确的内容和示例,一些带有指向 wiki 页面的链接以获取更多详细信息或扩展示例。

wiki 数据库模式非常简单

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 ;

很高兴发布手动模型和 Controller (加上一些辅助助手),但它们有点长......如果您有兴趣,请告诉我,我会写一篇博文并从这里链接到它。

关于php - 上下文相关帮助 - PHP 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2403203/

相关文章:

PHP MySQL 插入表

使用 mysql_query 函数和安全性的 PHP 参数化查询?

mysql - 获取mysql中某个值出现的百分比

javascript - 为什么第一个网络调用比后续调用花费更多时间?

javascript - jquery函数中的目标AJAX id

javascript - 在javascript中迭代json数据

php - 我的 linux centos 中的 extension=php_intl.dll 不存在

PHP 多维数组返回空子数组

mysql - 想要在数组中查询并获取传递给查询的 id 的结果

javascript - 如何使用 AJAX 打印出 div 中的数据?