我正在构建一个允许用户浏览html模板的应用程序。 html模板将显示在预览区域中(源代码将被混淆),虽然模板将包含内联CSS / JS,但也会有奇数链接图像资源。
出于这个原因,我认为最好将它们存储为文件夹库,并从我的服务器检索平面文件以进行显示,而不是将HTML存储在数据库中并且必须组织外部资产。
我的问题是:CakePHP目录结构中的哪个位置是这些文件的最佳位置?我宁愿把它们放在webroot上面,我在想 View 。
有什么想法吗?感谢。
答案 0 :(得分:1)
为什么当它们是可公开查看的资产时,您是否希望将它们存储在webroot之上?我的直觉是他们真的属于webroot或数据库。我会挑选一个或另一个。
如果你必须将它们存储在webroot之上,我想最好的办法就是将它们存储为元素。
app/View/Elements/your_templates/
这样,您可以使用以下方法将其加载到View的预览区域中:
echo $this->element('your_templates/template');
修改强>
老实说,元素的建议不是我推荐的,我只是想为你提供不同的建议。这将是非常糟糕的做法,我认为它将比它的价值更加混乱和有问题。
对于图像文件,无论您选择存储HTML模板的位置,都将它们放在webroot中。无论如何,您无法阻止人们在浏览器中查看图像时下载图像。
答案 1 :(得分:1)
我建议您保留所有 out-of-cakephp-framework 相关文件,存储在webroot下。
我的建议是以下目录结构,用于保存html模板以及css和js相关文件。
/webroot/files/templates/<template-project-name>/<the-actual-file>.html
任何外部css,都将在
/webroot/css/templates/<template-project-name>/<the-actual-css>.css
JS库将在
/webroot/js/templates/<template-project-name>/<the-actual-js>.js
使用单独呈现的单独布局文件(称为preview_layout.ctp
)
模板文件原样。
希望有所帮助