0

我正在构建一个允许用户浏览 html 模板的应用程序。html 模板会显示在预览区(源代码会被混淆),虽然模板会包含内联 CSS/JS,但也会有奇怪的链接图片资源。

出于这个原因,我认为最好将它们存储为文件夹库,然后从我的服务器中检索平面文件以进行显示,而不是将 HTML 存储在数据库中并且还必须组织外部资产.

我的问题是:在 CakePHP 目录结构中,这些文件的最佳位置是哪里?我宁愿把它们放在 webroot 之上,我在想View

有任何想法吗?谢谢。

4

2 回答 2

1

我建议您保留所有与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),它只是按原样呈现模板文件。

希望能帮助到你

于 2013-01-29T16:17:49.287 回答
1

当它们是公开可见的资产时,为什么要将它们存储在 webroot 之上?我的直觉是它们确实属于 webroot 或数据库。我会选择其中一个。

如果您必须将它们存储在 webroot 之上,我想最好的办法可能是将它们存储为元素。

app/View/Elements/your_templates/

这样,您可以使用以下命令将其加载到 View 的预览区域中:

echo $this->element('your_templates/template');

编辑:

老实说,元素的建议不是我会推荐的,我只是想为您提供不同的建议。这将是非常糟糕的做法,我认为它会比它的价值更混乱和有问题。

至于图像文件,无论您选择将 HTML 模板存储在何处,都将它们放在 webroot 中。无论如何,一旦人们在浏览器中查看图像,您就无法阻止他们下载图像。

于 2013-01-29T16:04:56.017 回答