Redaxscript\Breadcrumb::render PHP Method

render() public method

render the breadcrumb trail as an unordered list
Since: 2.1.0
public render ( ) : string
return string
    public function render()
    {
        $output = Hook::trigger('breadcrumbStart');
        $outputItem = null;
        /* breadcrumb keys */
        $breadcrumbKeys = array_keys($this->_breadcrumbArray);
        $lastKey = end($breadcrumbKeys);
        /* html elements */
        $linkElement = new Html\Element();
        $linkElement->init('a');
        $itemElement = new Html\Element();
        $itemElement->init('li');
        $listElement = new Html\Element();
        $listElement->init('ul', ['class' => $this->_optionArray['className']['list']]);
        /* collect item output */
        foreach ($this->_breadcrumbArray as $key => $value) {
            $title = array_key_exists('title', $value) ? $value['title'] : null;
            $route = array_key_exists('route', $value) ? $value['route'] : null;
            if ($title) {
                $outputItem .= '<li>';
                /* create a link */
                if ($route) {
                    $outputItem .= $linkElement->attr('href', $this->_registry->get('parameterRoute') . $route)->text($title);
                } else {
                    $outputItem .= $title;
                }
                $outputItem .= '</li>';
                /* add divider */
                if ($key !== $lastKey) {
                    $outputItem .= $itemElement->addClass($this->_optionArray['className']['divider'])->text($this->_optionArray['divider']);
                }
            }
        }
        /* collect list output */
        if ($outputItem) {
            $output = $listElement->html($outputItem);
        }
        $output .= Hook::trigger('breadcrumbEnd');
        return $output;
    }

Usage Example

Exemplo n.º 1
0
 /**
  * breadcrumb
  *
  * @since 2.3.0
  *
  * @return string
  */
 public static function breadcrumb()
 {
     $breadcrumb = new Breadcrumb(Registry::getInstance(), Language::getInstance());
     $breadcrumb->init();
     return $breadcrumb->render();
 }
All Usage Examples Of Redaxscript\Breadcrumb::render