私の以前の質問で述べたように、私は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
$this->template->top_tag
3 番目の引数としてadd 関数を指定すると、この問題が解決されます。
$this->add('HtmlElement', null, $this->template->top_tag)
->setElement('a')
->setAttr('href', 'testurl')
->set('Link');
...しかし、ビュー内のすべての add() 呼び出しに本当にそれを追加する必要がありますか? それは正しくないように思えますし、そうではないことは確かです!