concrete5 多言語サイトで使えるパンくず用オートナビカスタムテンプレートサンプル
concrete5 でパンくずを表示させるときは、オートナビブロックのパンくず (breacrumb.php) なカスタムテンプレートを使います。
しかし、concrete5 の多言語機能を使うと、各言語のトップページが第1階層に下がってしまうため、パンくずの設定をトップではなくて、第2階層化表示させるという設定にすると、どうしても、各言語のトップページが表示されなくなってしまいます。
ちょっと強引ですが、オートナビブロックのパンくずのカスタムテンプレートを改造して、多言語サイトな concrete5 サイトでのパンくずもきちっと各言語のトップページが表示されるカスタマイズをお教えします。
下記のサンプルコードを
自分のサイトの HTML に合わせるよう修正し、
breadcrumb.php という名前で、
/application/blocks/autonav/templates/breadcrumb.php
に保存してみてください。
filename=breadcrumb.php
<?php defined('C5_EXECUTE') or die("Access Denied.");
$navItems = $controller->getNavItems(true); // Ignore exclude from nav
$c = Page::getCurrentPage();
switch($controller->displayPages) {
case 'current':
$cParentID = $controller->cParentID;
if ($cParentID < 1) {
$cParentID = 1;
}
break;
case 'top':
// top level actually has ID 1 as its parent, since the home page is effectively alone at the top
$cParentID = 1;
break;
case 'above':
$cParentID = $controller->getParentParentID();
break;
case 'below':
$cParentID = $controller->cID;
break;
case 'second_level':
$cParentID = $controller->getParentAtLevel(2);
break;
case 'third_level':
$cParentID = $controller->getParentAtLevel(3);
break;
case 'custom':
$cParentID = $controller->displayPagesCID;
break;
default:
$cParentID = 1;
break;
}
$cParent = Page::getByID($cParentID);
if (count($navItems) > 0) { ?>
<div class="breadcrumb">
<ul>
<li><a href="<?php echo $cParent->getCollectionLink();?>"><?php echo h($cParent->getCollectionName()); ?></a></li>
<?php
foreach ($navItems as $ni) {
if ($ni->isCurrent) {
echo '<li><span class="active">' . $ni->name . '</span></li>';
} else {
echo '<li><a href="' . $ni->url . '" target="' . $ni->target . '">' . $ni->name . '</a></li>';
}
}
?>
</ul>
</div>
<?php
} else if (is_object($c) && $c->isEditMode()) { ?>
<div class="ccm-edit-mode-disabled-item"><?php echo t('Empty Auto-Nav Block.')?></div>
<?php }
以上
Author And Source
この問題について(concrete5 多言語サイトで使えるパンくず用オートナビカスタムテンプレートサンプル), 我々は、より多くの情報をここで見つけました https://qiita.com/katzueno/items/e9d70f0151acde9fa426著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .