0

1つのコントローラーからの3つのアクションのいずれかから呼び出すことができるビューがあります。ただし、そのビューは、原因となったアクションに応じてわずかに異なる必要があります(3つのアイコンまたは2つ、または呼び出されたアクションに応じて1つが表示されます)。ビューでどのアクションが原因であるかを確認して、ifステートメントを使用して各アイコンが表示されるかどうかを確認できますか?

ありがとうございました。

4

1 に答える 1

3

もちろん、action値をビューに直接渡すことができます。

$this->template->action = Request::current()->action();

Requestただし、Viewはプロパティ、つまりコントローラーロジックについて何も知らないはずです。アクションから特別なフラグを渡すことをお勧めします。

public function action_show1()
{
    // show only one icon
    $this->template->icons = array('first');
}

public function action_show2()
{
    // show another two icons
    $this->template->icons = array('second', 'third');
}

public function action_showall()
{
    // show all icons
    $this->template->icons = array('first', 'second', 'third');
}

または、すべてのアイコンに特別なフラグ(変数)を設定します。

于 2012-06-29T13:38:56.017 に答える