带有Codeigniter的Smarty模板,当hirarichy中的目录太多时无法加载模板

本教程将介绍带有Codeigniter的Smarty模板,当hirarichy中的目录太多时无法加载模板的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

带有Codeigniter的Smarty模板,当hirarichy中的目录太多时无法加载模板 教程 第1张

问题描述

我正在使用CI Smarty

https://github.com/Vheissu/Ci-Smarty

据我所知,这有两个问题。但我打开此问题的原因是,如果.tpl文件位于另一个目录的目录中,则无法加载该文件。

e-g这是我当前SmartyTemplate的目录结构

--Themes
  --SomeOtherThemeName
  --Default //Default Theme Directory i am currently using
 --css
 --js
 --images
 --views
--admin (directory)
 --sitesettings (directory)
--site-settings.tpl (template file) //This Template file will Not Work

如果我将此模板文件移动到父目录admin,如果我调用它,它将起作用,但如果我从sitesettings目录内部调用它,它将不起作用。

我这样称呼它。

function functionName(){
 $data['title']="Some Title";
 $this->parser->parse('admin/sitesettings/site-settings.tpl',$this->data);
}

简单地说,Smarty只允许我在视图文件夹下的层次结构中有一个额外的目录,我想知道是否有任何修复方法,以便我可以在层次结构中有无限或至少更多的目录,这样我就不会搞砸文件系统。


更新:
如果任何人想查看我的项目代码,请转到此GitHub项目。

https://github.com/pakistanihaider/HouseRentSystem

有关此项目的数据库。

http://www.mediafire.com/view/1jp9u906r8i10u0/houserentsystem.sql

注意:无法在此处附加文件,因此已将.sql文件上载到Mediafire并添加了链接。如果有任何规则禁止这样做,管理员当然可以删除链接,但请让我知道给予文件链接的正确方式。


不知何故找到了主要问题,这要归功于@Sauryabhat。
我认为{{extends file='adminLayout.tpl'}}中存在问题
它怎么知道文件存在的位置,我的意思是,如果我将文件移动到大多数内部目录中,它怎么知道主布局文件退出的位置,它将成为子级。扩展文件时需要定义路径吗?


更新:
我也试图定义布局的路径,但似乎也不适合我。

$this->parser->parse('extends:layouts/adminLayout.tpl|file:systemConfigurationSitePreferences.tpl',$this->data);

如果我将失败放在admin目录中,它会起作用,但如果我将文件移到admin目录的另一个目录中,它就会停止工作。

推荐答案

天哪,在这么长的时间里,我几乎尝试了所有的方法,我甚至下载了Zebra CMS来看看为什么有代码可以工作,而不是我的代码,xD我甚至尝试用我的代码更改那里的代码,即使知道它不会解决任何问题,只是希望。XD

但最终我终于看到了真正的问题,
当我尝试将模板文件放入目录的另一个目录中时,相对路径在管理布局中受到干扰。

我在主布局文件中包含了一些单独文件中的文件组件,如菜单选项卡。
E-G:

{{include file="../admin/ui_components/user-media.tpl" name="user media"}}

因此,如果模板位于1个目录中,则模板工作正常,但当我尝试再添加1个目录并将文件放入其中时,路径出错。

CI Smarty最大的问题是,如果TPL文件有任何错误,它永远不会给出错误,只给出空白页。

如果错误系统是好的,我可能会更快地找到解决方案。

总之,现在刚刚添加了基本路径,所以无论我进入多少个目录,都不会有任何问题。

感谢您的所有支持。看来我的赏金白白浪费了..

好了关于带有Codeigniter的Smarty模板,当hirarichy中的目录太多时无法加载模板的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。