2011-09-20 3 views
0

zend 탐색에 accesskey 속성을 추가하고 싶습니다.zend 탐색을 사용하여 링크에 accesskey 속성을 추가하는 방법

$navArray = array(
      array(
      'title' => 'front',    
      'uri' => '/home', 
      'label' => 'Home', 
      'class' => 'a', 
      'accesskey' => 'h' 

      ), 
      array(
      'title' => 'about us', 
      'uri' => '/abousus', 
      'label' => 'About US', 
      'class' => 'b', 
      'accesskey'=>'a' 
      )); 

issue에는 수정되었다고합니다. 하지만 여전히 작동하지 않습니다, 심지어 최신 zf를 다운로드했습니다. 아이디어가 있으십니까?

편집

젠드 현재 릴리스 1.11.10는 앵커 태그의 accesskey 속성을 허용하지 않습니다. 그것은해야한다. 그래서 메뉴 도우미를 확장하여 직접 구현했습니다. 확장하여 Page.php에 accesskey 속성을 추가 할 수있었습니다. 하지만 빠른 수정 및 메뉴 도우미 페이지 배열에서 accesskey 값을 읽는 것을 선호합니다. 곧 zendframework가 프레임 워크에서 accesskey에 대한 지원을 추가 할 것이라고 믿습니다.

답변

0

다음은 도우미를 확장하고 자신 만의 구현을 만드는 데 필요한 솔루션입니다.

class mylib_View_Helper_Navigation_MyMenu extends Zend_View_Helper_Navigation_Menu 
{ 
    public function myMenu(Zend_Navigation_Container $container = null) 
    { 
     return parent::menu($container); 
    } 

    public function htmlify(Zend_Navigation_Page $page) 
    { 
     // get label and title for translating 
     $label = $page->getLabel(); 
     $title = $page->getTitle(); 

     // translate label and title? 
     if ($this->getUseTranslator() && $t = $this->getTranslator()) { 
      if (is_string($label) && !empty($label)) { 
       $label = $t->translate($label); 
      } 
      if (is_string($title) && !empty($title)) { 
       $title = $t->translate($title); 
      } 
     } 

     // get attribs for element 
     $attribs = array(
      'id'  => $page->getId(), 
      'title' => $title, 
      'class' => $page->getClass() 
     ); 

     // does page have a href? 
     if ($href = $page->getHref()) { 
      $element = 'a'; 
      $attribs['href'] = $href; 
      $attribs['target'] = $page->getTarget();    
      $pageArray = $page->toArray();    
      if(array_key_exists('accesskey', $pageArray)) 
       $attribs['accesskey'] = $pageArray["accesskey"];  

     } else { 
      $element = 'span'; 
     } 

     return '<' . $element . $this->_htmlAttribs($attribs) . '>' 
      . $this->view->escape($label) 
      . '</' . $element . '>'; 
    } 


} 

/// 단서

Getting Zend_Navigation menu to work with jQuery's Fisheye

에 대해 다음 사람들에게 부트 스트랩 파일이

echo $this->navigation()->myMenu() 
          ->setUlClass('footer_navigation') 
          ->render($footerNavContainer); 

/// 추가 도우미 경로처럼

protected function _initNavigation() 
{ 
    $this->bootstrap('view');     
    $view = $this->getResource('view');   
    $view->addHelperPath(
     GLOBAL_LIBRARY_PATH . '/mylib/View/Helper/Navigation', 
     'mylib_View_Helper_Navigation' 
    ); 



} 

감사를 호출

zend_navigation and onclick attribute

How do I extend the Zend Navigation Menu View Helper?

관련 문제