我使用Oscommerce 2.3.4实现了一个简单的模板系统。因此,我可以经营多家商店,有可能在“网站”或“模板”的基础上更改商店的内容或外观。
核心OSC文件(模块文件,类等)仍驻留在app根目录下的目录中,但模板,语言文件和样式表位于“模板”和“站点”目录中。每个“模板”或“站点”目录结构与OSC应用程序的标准结构相同。如果站点/模板文件夹中存在文件,则将使用该文件。
所有默认模板和语言文件都有一个默认模板目录。选择使用哪个文件的优先顺序如下:
我正在考虑使用set_include_path函数列出上面提到的每个目录,以利用php.net上记录的include_path的行为:
在查找要包含的文件时,PHP会分别考虑包含路径中的每个条目。它将检查第一个路径,如果找不到它,请检查下一个路径,直到找到包含的文件或返回警告或错误。
这似乎对我的情况来说几乎是理想的,但我无法确定这是否被认为是“好”的做法。
我很感兴趣,如果有任何陷阱使用这样的,如性能打击。考虑到很多包含现在将在3个目录中查找,最后在第4个位置找到默认模板。
(虽然这比使用if(file_exists())
多次更糟糕,但这是另一种选择。)
此外,有必要在应用程序顶部设置这些包含路径,因为路径使用应用程序中当前站点和模板的变量。所以我无法在php.ini中设置包含路径
非常感谢任何帮助或建议