正如我之前的问题中提到的,我是 ATK4 的新手,目前正在学习,所以可能会有更多问题。现在到我的问题。
我Sidebar
在我的模板中创建了一个区域“”shared.html
并将视图添加到它,如下所示:
class Frontend extends ApiFrontend {
function init(){
parent::init();
/*
Other stuff here
*/
$this->addLayout('Sidebar');
}
function layout_Sidebar() {
$this->add('View_Menu', null, 'Sidebar');
}
}
然后我正在创建这样的视图:
class View_Menu extends AbstractView {
function init(){
parent::init();
$this->add('HtmlElement')
->setElement('a')
->setAttr('href', 'testurl')
->set('Link');
}
}
这给了我以下错误:
Spot is not found in owner's template
Additional information:
spot: Content
提供 add 函数$this->template->top_tag
作为第三个参数解决了这个问题:
$this->add('HtmlElement', null, $this->template->top_tag)
->setElement('a')
->setAttr('href', 'testurl')
->set('Link');
...但是我真的必须将它添加到视图中的每个 add() 调用中吗?这似乎不对,我很确定不是!