请阅读问题的最后一行。
JviewHtml 构造函数包含以下语句
$this->paths = isset($paths) ? $paths : $this->loadPaths();
我正在使用$path变量设置MyView的默认路径并将其传递给构造函数。
$paths = new SplPriorityQueue;
$paths->insert(JPATH_COMPONENT . '/views/' . $viewName . '/tmpl', 'normal');
在 NET Bean 调试器中,当我执行以下构造函数语句时,$this->路径没有显示$paths变量的值。 虽然两者的数据类型都是splpriorityque
$this->paths = isset($paths) ? $paths : $this->loadPaths();
渲染的第一个语句是 render()
$path = $this->getPath($this->getLayout());
$path是用假值重新出现的。
我的主页显示错误"找不到布局路径"。该问题的任何解决方案
更新:最后一行路径是 splpriorityque $abc=$paths; $this->路径=克隆$paths
在这两个语句之后,$abc显示正确的值,但 NetBeans 调试器缺少$this>
由于非常愚蠢的错误,我决定删除这个问题。 但后来我决定保持原样。
NetBeans 中存在一些设置问题或错误,这就是为什么它无法扩展$this对象成员"SPLPRIORITYQUEUE"的原因。
$this->paths = isset($paths) ? $paths : $this->loadPaths();
上述陈述是完全正确的。
错误"找不到布局路径"是因为我将我的 TMPL 文件夹命名为 templ。 真实路径()函数在
JPath::find()
无法正常工作。