我正在修改旧的CMS,我想知道我应该如何处理只需要包含在某些页面上的多个css和javascript文件。
让我们举例说,我有以下几页:
但是,在每个页面上,我都包含一个包含文件夹的文件
include 'includes/inc_header.php';
此文件包含以下代码:
<!doctype ...>
<html>
<head>
<script type="text/javascript">...
这是我遇到问题的地方。我已经考虑过使用数组并循环并打印所需的每个元素。这样,每个页面都可以简单地将所需的脚本添加到数组中。我认为这可能会很快变得非常复杂。
有人能给我一个解决这个问题的好方法吗?
答案 0 :(得分:1)
根据您想要做多少工作,我会反转视图处理并转移到使用Front Controller的2-step view。这样,具有整体结构(doctype,head等)的外部布局最后呈现,允许您在内部布局中修改此外部布局表单的输出。
虽然这需要进行潜在的密集重组,但它会为您提供很多更多的灵活性。然后,这可能会有很多工作,所以你必须决定是否值得投资。
答案 1 :(得分:0)
您可以改变阵列脚本想法的逻辑
根据标志
有条件地在标题输出文件中例如。 (伪代码)
数组核心(所有页面的脚本和CSS) 数组索引(特定索引脚本) 数组page1(等)
然后
如果page1 merge_array core + page1 循环并输出
所以你的标题有所有的排列但是是上下文感知的 - 可能是通过每个页面上的php变量或者通过将变量传递给include或读取一些url参数来只加载那些必需的