![](/img/trans.png)
[英]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.