【问题标题】:How to use helper inside model function in CakePHP如何在 CakePHP 中的模型函数中使用 helper
【发布时间】:2011-07-09 13:06:23
【问题描述】:

现在在你烧掉我之前听我说完!

我希望产品描述字段的一些关键字链接到其他产品(有点像 mediawiki 链接),但是在某些时候我需要建立这些关联并将关键字链接起来,所以我需要在我在描述中找到的每个花括号单词都会生成描述的格式化版本,以减少每次显示描述时处理这些关键字链接的时间。

为了方便/一致,我正在使用自定义帮助程序创建所有产品链接,我需要做的就是传递产品行,帮助程序为我提供一个链接,其中包含我指定的任何选项。唯一的一点是,我现在需要在 beforeSave() 中执行此操作,以便填充 description_formatted。

此时, beforeSave() 检查原始描述行,然后在模型中调用与每个关键字匹配的私有方法,查询 db 以查找匹配行……就我所知。

【问题讨论】:

    标签: caching cakephp models helpers


    【解决方案1】:

    就像任何其他 MVC 一样,Cake 对如何耦合类进行了很大的限制。这需要让脚本小子在脚下射击自己。但是,如果你真的需要相处,有一个适合蛋糕的小众解决方法:http://book.cakephp.org/view/933/The-App-Class

    【讨论】:

      【解决方案2】:

      我会怎么做?使用助手,我会将所有花括号单词替换为链接,当用户悬停链接的单词时,我会调用 Ajax,它将获取单词描述或链接或您需要做的任何事情。这样,您仅在需要时才请求描述。

      如果您仍然坚持使用帮助器 - 它只是 PHP 中的一个类,因此您可以将它包含在您的模型中,创建该类的对象并使用它的功能。

      第三种选择是创建自己的类并在模型和助手中使用它。

      【讨论】:

      • 我所做的只是链接花括号的单词,但我需要对每个单词的名称进行查询,我只想在保存描述时执行一次,但得到链接需要我的自定义助手。
      猜你喜欢
      • 1970-01-01
      • 2014-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多