BcBaserHelper::crumbs PHP Метод

crumbs() публичный Метод

事前に BcBaserHelper::addCrumb() にて、パンくず情報を追加しておく必要がある。 また、アクセス制限がかかっているリンクはテキストのみ表示する
public crumbs ( string $separator = '»', string | boolean $startText = false, $onSchema = false ) : void
$separator string パンくずの区切り文字(初期値 : »)
$startText string | boolean トップページを先頭に追加する場合にはトップページのテキストを指定する(初期値 : false)
Результат void
    public function crumbs($separator = '»', $startText = false, $onSchema = false)
    {
        $crumbs = $this->BcHtml->getStripCrumbs();
        if (empty($crumbs)) {
            return;
        }
        if ($startText) {
            $homeUrl = '/';
            if (!empty($this->request->params['Site']['alias'])) {
                $homeUrl = '/' . $this->request->params['Site']['alias'] . '/';
            } elseif (!empty($this->request->params['Site']['name'])) {
                $homeUrl = '/' . $this->request->params['Site']['name'] . '/';
            }
            array_unshift($crumbs, [0 => $startText, 1 => $homeUrl]);
        }
        $out = array();
        if (!$onSchema) {
            foreach ($crumbs as $crumb) {
                if (!empty($crumb[1])) {
                    $out[] = $this->getLink($crumb[0], $crumb[1], @$crumb[2]);
                } else {
                    $out[] = $crumb[0];
                }
            }
            $out = implode($separator, $out);
        } else {
            $counter = 1;
            foreach ($crumbs as $crumb) {
                $options = ['itemprop' => 'item'];
                if (!empty($crumb[2])) {
                    $options = array_merge($options, $crumb[2]);
                }
                if (!empty($crumb[1])) {
                    $crumb = $this->getLink('<span itemprop="name">' . $crumb[0] . '</span>', $crumb[1], $options) . '<span class="separator">' . $separator . '</span>';
                } else {
                    $crumb = '<span itemprop="name">' . $crumb[0] . '</span>';
                }
                $out[] = <<<EOD
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
\t{$crumb}
\t<meta itemprop="position" content="{$counter}" />
</li>
EOD;
                $counter++;
            }
            $out = implode("\n", $out);
        }
        echo $out;
    }