Benim ana nav yapmak için bir yardımcı yazdık. Bu yardımcı çekler bölümü bir kullanıcı görünüme atanmışsa kontrol ederek giriş yapan kullanıcı varsa
if($this->view->user)
{
//do stuff
}
Benim düzen komut dosyası bu yardımcıya çağırdığınızda Ancak $ this-> görünüm-> kullanıcı erişemez; var_dump ($ this-> view I) kendisine atanan tüm özellikleri ile görünüm nesnesi döndürür, jsut değil, ancak (NULL değeri vardır. görünümü komut, ben düzeni atamak, eğer sadece kullanıcı verilerini erişebilirsiniz örneğin,
$this->layout()->user = $this->user;
Ve sonra yardımcısı yapmak
if($this->view->layout()->user)
{
//do stuff
}
Ben düzeni verileri aktarmak için bir satır eklemek zorunda, her görünüm komut vasıtası olarak bir ağrı.
Görünümünün özelliklerine erişmek için düzen komut denilen yardımcıları etkinleştirmek için bir yol var mı?
* düzenlemek
İşte kaynak bulunuyor:
<?php
class Zend_View_Helper_MainNav extends Zend_View_Helper_Abstract {
public function mainNav()
{
if ($this->view->layout()->navType == 'none'){
$html = '<div id="nav"><a href="/" id="logo">Sum puzzles</a></div>';
} else if($this->view->layout()->navType == 'small'){
$html = '<div id="nav" class="small"><a href="/" id="logo">Sum puzzles</a><ul>' .
'<li><a href="/puzzle/view" class="button">play a puzzle</a></li>' .
'<li><a href="/sequence/play" class="button">puzzle sequences</a></li>' .
'<li><a href="/puzzle/create" class="button">create a puzzle</a></li>';
if(!$this->view->user)
{
$html .= '<li><a href="/teachers" class="button">teachers area</a></li>';
}
$html .='</ul></div>';
} else if($this->view->layout()->navType == 'large'){
$html = '<div id="nav" class="large"><a href="/" id="logo">Sum puzzles</a><ul>' .
'<li><a href="/sequence/play" class="playSequence">Play a sequence of puzzles</a></li>' .
'<li><a href="/puzzle/create" class="createPuzzle">Create your own puzzles</a></li>';
if(!$this->view->user)
{
$html .= '<li><a href="/teachers" class="teachersArea">teachers area</a></li>';
}
$html .= '</ul></div>';
}
return $html;
}
}