【发布时间】:2011-04-08 11:32:23
【问题描述】:
我正在寻找一种优雅的方式来让 jquery 了解包含给定 dom 选择的 ctp 文件的文件名和路径。我正在使用 simple_html_dom 通过 ajax 调用对模板苍蝇进行更改。我需要提供包含我选择的 dom 元素的视图或元素模板 ctp 文件的文件名和路径,以便将更改写入正确的文件。
除了手动将此信息传递到我的应用程序中的每个视图和元素之外,是否有一种优雅(且安全)的方式可以使这些信息对 jquery 可用?
此外,我有什么理由担心将这些信息以纯文本形式嵌入到文档中?存放它的最合适的位置是什么?我的第一个想法是在元素的 title 属性中,但是有没有更合适的位置?
谢谢!
更新 这个问题最好提出来:透明地扩展或修改 cake 中的每个视图和元素的最佳方法是什么?我现在在 beforeRender 中从 app_controler 向下传递一些信息,但据我所知,这不允许我传递有关单个元素视图文件的信息。理想情况下,每个视图和元素都会在 dom 元素中查找某个类名的存在,并在渲染之前在该元素的标题属性中插入路径和文件名信息。我想不出一个好的方法来做到这一点!
【问题讨论】:
-
动态修改模板文件,即自我修改代码,听起来是个坏主意。恕我直言,您应该重新考虑您要在这里做什么。从你的最后一段来看,我不确定你想要完成什么。
-
谢谢!我最终扩展了 view.php,就像 debug_toolkit 插件在渲染元素的开头和结尾添加注释一样,因为我也需要访问元素模板名称,我会尽快为感兴趣的人写一个答案!
-
@decaze 你的观点很好,我正在研究不需要修改模板的其他选项。谢谢!
标签: php jquery ajax cakephp simple-html-dom