Webpage Bread crumbing is common feature in web development. Breadcrumbs usually appear horizontally across the top of a web page, normally just below title bars or headers. Breadcrumb gives users a way to keep track of their locations within programs or documents. For using breadCrumb there must be a common component whether its can be effective in all pages through out the Site.
Here I show how to create and use a breadcrumb component in CakePHP.
Related Articles
<?php class BreadcrumbComponent extends Object { var $controller; var $components = array('Session','Acl'); function startup(&$controller) { $this->controller =& $controller; } function setBreadcrumb($url) { $crumbs = split('/',$url); $link = '/'; if($crumbs[0] != 'admin') { $breadcrumb[] = array('home', $link); } foreach($crumbs AS $crumb) { $name = str_replace('_',' ', $crumb); $link .= $crumb.'/'; if($name && !is_numeric($name)) { $breadcrumb[] = array($name,$link); } elseif(is_numeric($name)) { $key = count($breadcrumb)-1; $breadcrumb[$key][1].= $name; } } return $breadcrumb; } } ?>
Load the Component:
var $components = array( 'Breadcrumb');
Call from the controller:
function beforeRender() { $this->set('breadcrumb', $this->Breadcrumb->setBreadcrumb($this->params['url']['url'])); }
This need to be modified according to sitemap
This post first appeared on PathFinder's Weblog | Personal Weblog For Kazi Abdullah Al Mamun, please read the originial post: here