如何在CakePHP中使用模型函数内的帮助器

时间:2011-03-05 19:49:04

标签: caching cakephp models helpers

现在,在你刻录之前,我会听到我的声音!

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

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

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

2 个答案:

答案 0 :(得分:2)

就像任何其他MVC一样,Cake对如何结合你的课程提出了很大的限制。这是为了让脚本小孩在脚下射击自己。但是,如果你真的需要相处,那么蛋糕有一个利基解决方法:http://book.cakephp.org/view/933/The-App-Class

答案 1 :(得分:1)

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

如果您仍然坚持使用帮助程序 - 它只是PHP中的一个类,那么您可以将它包含在模型中,创建类的对象并使用它的函数。

第三个选项是创建自己的类,并在Model和Helper中使用它。