コード例 #1
0
 /**
  * Created a list depending on the given array
  *
  * @param array $links condition for the list
  * @return string list in html
  */
 public function __invoke(array $links, $std = false, array $list = null, $translate = true)
 {
     $this->emptyProps();
     $this->setStandards($list);
     $html = '<ul';
     $html .= HtmlAttribute::attributeArray($this->attribute);
     $html .= '>';
     foreach ($links as $key => $link) {
         $standard = array();
         if (is_array($link) && true === $std && ($standard = $this->getStandards($key))) {
             $link = ArrayMergeRecursiveDistinct::merge($standard, $link);
         } else {
             $link = $this->getStandards($key);
         }
         $html .= '<li><' . $this->tag;
         if ('a' == $this->tag && false !== $link['href']) {
             $html .= ' href="' . $link['href'] . '"';
         }
         if (isset($link['attribs']) && is_array($link['attribs'])) {
             foreach ($link['attribs'] as $attr => $val) {
                 if (false !== $val) {
                     if ('title' === $attr) {
                         $val = $this->view->translate($val);
                     }
                     $html .= HtmlAttribute::attributeString($attr, $val, true);
                 }
             }
         }
         $html .= '>';
         $html .= true === $translate ? $this->view->translate($link['label']) : $link['label'];
         $html .= '</' . $this->tag . '>';
         $html .= '</li>';
     }
     $html .= '</ul>';
     return $html;
 }
コード例 #2
0
 /**
  * Set html tag attributte
  *
  * @param array $defaults            
  * @param array $page            
  * @param Zend\View\Model\ViewModel $layout            
  */
 protected function setHtmlAttribute($pageOptions, $layout)
 {
     $attribute = '';
     foreach ($this->htmlAttributes as $column => $attr) {
         $value = $this->getPageAttribute($pageOptions, $column);
         if (false !== $value) {
             $attribute .= HtmlAttribute::attributeString($attr, $value, true);
         }
     }
     if (strlen($attribute) > 0) {
         $layout->htmlTagAttribs = $attribute;
     }
 }