'Breadcrumb Url not displaying correctly
Currnetly I am using breadcrumbs in my site to display different properties. Now for some reason when I hover over the breadcrumb to see which URL it will go to it displays as http://localhost/php56/dubai/off-plan-properties but it goes to the page http://localhost/php56/dubai/offplan which is the correct URL. So basically I want the URL in my previous page to show as http://localhost/php56/dubai/offplan.
Here's my code:
<?php $breadcrumbs = isset($breadcrumbs)?$breadcrumbs:explode("/", $this->uri->uri_string());
if(!empty($breadcrumbs)) {
if($breadcrumbs[0]=="dubai"){
$filterurl = array('villa-for-sale'=> 'villas-for-sale-dubai', 'apartment-for-sale'=> 'apartments-for-sale-dubai','penthouse-for-sale' => 'penthouse-for-sale-dubai','serviced-residences-for-sale'=>'serviced-apartments-sale-dubai','land-residential-for-sale'=>'land-for-sale-dubai','villa-for-rent'=> 'villas-for-rent-dubai', 'apartment-for-rent'=>'apartments-for-rent-dubai','penthouse-for-rent'=>'penthouse-for-rent-dubai');
}else{
$filterurl = array('');
}
if($breadcrumbs[0]=="dubai" && (isset($breadcrumbs[1]) && $breadcrumbs[1] == "developers") ){
array_splice($breadcrumbs,0,2,"developers-in-dubai");
}
$citybeds ='';
if(isset($breadcrumbs[1]))
if (strpos($breadcrumbs[1], '-bedroom-') !== false) {
$citybeds = $breadcrumbs[0];
}
?>
<div class="container-fluid">
<ol class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList">
<?php
$c=2;
$i = 0;
$link='';
foreach($breadcrumbs as $k => $text):
$link.= $text.'/';
if(isset($nav[$text])){
$text = trim($nav[$text]) !=''?$nav[$text]:$text;
}
$dtxt[] = str_replace(array('-','_'),' ',str_replace(array('off-plan-properties','-for-sale','locations-in-dubai','Show_wishlist'),array('Off Plan properties','','locations'),$text));?>
<?php
if(isset($breadcrumbs[$k+1])){
$url = site_url($link);
}else{
$url = current_url();
}
if($k==1 && array_key_exists($text,$filterurl)){
$url = site_url("$filterurl[$text]");
}
if($k==0 && $breadcrumbs[0]== "dubai" && isset($breadcrumbs[1]) && strpos($breadcrumbs[1], "-for-rent")){
$url = site_url('properties-for-rent-dubai');
}
if($k==0 && $breadcrumbs[0]== "dubai" && isset($breadcrumbs[1]) && strpos($breadcrumbs[1], "short-term")){
$url = site_url('short-term-properties-for-rent-dubai');
}
if($k==0 && $breadcrumbs[0]== "properties-for-sale-dubai"){
$url = site_url('dubai'); $dtxt[$i] = "dubai";
}
if($k==1 && $breadcrumbs[0]== "properties-for-sale-dubai" && isset($breadcrummmmbs[1])){
$url = site_url('all-properties/'.$breadcrumbs[1]);
}
if($citybeds != '' && $i == 0){ //skip on city if url with bedroom count
}else{
?>
<li class="breadcrumb-item" <?php if($i==0) { ?> id="flbcrumbs"<?php } ?> <?php if(site_url($link)==current_url()) { ?> class="active"<?php } ?> itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a itemprop="item" href="<?php echo $url; ?>"><span class="iconify" data-icon="ic:round-keyboard-arrow-right" data-inline="false" style="color:#151515"></span><span itemprop="name" class="underline"><?php
if($i == 1 && $citybeds != ''){
$dtxtstr = $dtxt[0];
}else{
if( $dtxt[$i]=="arabian ranches iii") {
$dtxtstr = "Arabian Ranches III";
}else {
$dtxtstr = $dtxt[$i];
}
}
echo $k==4?ucwords($dtxtstr): ucwords($dtxtstr)
?></span></a> <meta itemprop="position" content="<?php echo $c++;?>" /></li>
<?php
}
++$i; endforeach; ?>
</ol>
</div>
<?php } ?>
I've tried making another if statement with the following condition:
if($breadcrumbs[1]=='off-plan-properties'){
$breadcrumbs[1]='offplan'
}
But it still displays the previous URL.
Doing a print on $breadcrumbs gave Array ( [0] => dubai [1] => offplan [2] => dubai-hills-estate )
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
