[英]Custom Breadcrumbs based on URL (Modify to HTML list) in Drupal 7
[英]Breadcrumbs based on URL with links (PHP, HTML, Codeigniter)
我根據當前的網址制作動態的bredcrumbs。 我的問題是,由於foreach循環,我無法弄清楚如何生成正確的鏈接並將其附加到單詞。 我的代碼真的很亂,所以我真的需要幫助。 希望你們能幫忙!
TNX
這是我的代碼:
<?php
$url = current_url();
$home = "www.homepage.com";
$sub_url = substr($url, strpos($url, $home));
$segments = explode("/", $url);
$parts = array_slice($segments, 3);
$count = count($parts);
$i = 0;
?>
//Don't show breadcrumb on home page
<?php if (current_url() !== base_url() && current_url() !== base_url() . "home") { ?>
<div class="breadcrumbs">
<a href="<?php echo base_url(); ?>"><div class="home">Home</div></a>
<div class="divider1"></div>
<?php
foreach ($parts as $row) {
$bread = ucfirst(str_replace("-", " ", str_replace("_", " ", $row)));
?>
<div class="level1" style="margin-left: -6px ;">
<a href="#"><?php echo $bread." ". $i; ?></a>
</div>
<?php if ($i < $count - 1) { ?>
<div class="divider1"></div>
<?php
}
$i++;
}
?>
</div>
<?php } ?>
編輯:右鏈接意味着你有像www.homepage.com/mens_where/mens_jackets/Jacket123這樣的網址
如果我不考慮上層代碼中的echo類,那么輸出應該是類似的
<a href="www.homepage.com">home</a>
<a href="www.homepage.com/mens_wear">Mens Wear</a>
<a href="www.homepage.com/mens_wear/mens_jackets">Mens jackets</a>
<a href="www.homepage.com/mens_wear/mens_jackets/Jacket123">Jacket123</a>
如果您使用的是codeigniter,請嘗試以下方法:
<div class="breadcrumb">
<?php
$segments = $this->uri->segment_array();
$last_segment = '';
foreach ($segments as $segment) {
$last_segment .= '/' . $segment;
echo '<a href="www.homepage.com' . $last_segment . '">' . ucfirst(str_replace(array('-', '_'), '', $segment)) . '</a>';
}
?>
</div>
並使用CSS創建分隔符。 這樣您就不必在PHP代碼中進行一些棘手的檢查:
.breadcrumb > a + a:before {
color: #CCC;
content: "/ ";
padding: 0 5px;
}
這是我的最終解決方案!
<?php if (current_url() !== base_url() && current_url() !== base_url() . "home") { ?>
<div class="breadcrumbs">
<?php
$segments = $this->uri->segment_array();
$last_segment = '';?>
<a href="<?php echo base_url(); ?>"><div class="home">Home</div></a>
<div class="divider1"></div>
<?php
foreach ($segments as $segment) {
$last_segment .= '/' . $segment;
?>
<div class="level1" style="margin-left: -6px ;">
<?php
echo '<a href="'.base_url() . substr($last_segment,1) . '">' . ucfirst(str_replace('-', ' ', str_replace('_', ' ', $segment))) . '</a>';
?>
</div>
<div class="divider1"></div>
<?php
}
?>
</div>
<?php } ?><br>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.