To make a custom breadcrumb in yii framework, try this step :
- we must create a new file BreadCrumb.php in your project folder, example :
my-project\protected\components\BreadCrumb.php. And insert this code into the BreadCrumb.php file :class BreadCrumb extends CWidget { public $crumbs = array(); public $delimiter = ' / '; public function run() { $this->render('breadCrumb_view'); } }
- then create a new folder views in : my-project\protected\components\.
- make a new file breadCrumb_view.php in my-project\protected\components\views and insert this code to breadCrumb_view.php.
<ul class="breadcrumb"> <?php foreach($this->crumbs as $crumb) { if(isset($crumb['url'])) { echo "<li>".CHtml::link($crumb['name'], $crumb['url'])."</li>"; } else { echo "<li>".$crumb['name']."</li>"; } if(next($this->crumbs)) { echo $this->delimiter; } } ?> </ul>
in this example i use ul html tag for the breadcrumb. you can change the ul and li html tag to another html tag.
- and then you can use the breadcrumb in your view with insert this code :
<?php $this->widget('application.components.BreadCrumb', array( 'crumbs' => array( array('name' => 'Home', 'url' => array('site/index')), array('name' => 'Login'), ), 'delimiter' => ' ', // if you want to change it )); ?>
and you can custom your delimiter in your breadcrumb.
if you have a question you can leave the message in this post 🙂