Welcome Guest, Not a member yet? Register   Sign In
DTE BreadCrumb Class
#21

[eluser]Mat-Moo[/eluser]
Ok was too good to be true, works great... except if you want to change to another item at the same level? So based on that I made a minor change for my needs
Code:
<?php  if (!defined('APPPATH')) exit('No direct script access allowed');

session_start();

/*
* @Author: Dean Ericson
* @Email: [email protected]
*
* altered by Matthew Augier to use as levels
*/

final class BreadCrumb{
    private $title;
    private $url;
    private $level;

    /*
     * No need to set anything up.  I autoload it and
     * let the setters mutate the properties through the
     * setBreadCrumb function
     */
    function BreadCrumb(){}

    /*
     * Takes an array which represents this class (BreadCrumb)
     * as a parameter. Sets the class through it mutators,
     * then sets itself within the BreadCrumbList Object.
     */
    function setBreadCrumb($bcObjArr){
        $this->title=$bcObjArr['title'];
        $this->url=$bcObjArr['url'];
        $this->level=$bcObjArr['level'];

        $CI =& get_Instance();
        $CI->breadcrumblist->add($this);
        $_SESSION['breadCrumbList'] = $CI->breadcrumblist->getBreadCrumbs();
    }

    function getTitle(){
        return $this->title;
    }
    function setTitle($t){
        $this->title=$t;
    }
    function getUrl(){
        return $this->url;
    }
    function setUrl($u){
        $this->url=$u;
    }
    function getlevel(){
        return $this->level;
    }
    function setlevel($u){
        $this->level=$u;
    }
}
?>

and

(only posted changed section)
Code:
function add($bc){
            if ($bc->getlevel()==0) {
                $this->reset();
            }
            else
            {
                if (count($this->breadCrumbs)>=$bc->getlevel()+1)
                {
                    array_splice($this->breadCrumbs, $bc->getlevel());
                }
            }
            $this->breadCrumbs[] = $bc;
            $_SESSION['breadCrumbList']=$this->breadCrumbs;
    }

So this works the same except instead of root true/false you send a level starting from 0 - I'm not sugesting that this is for everyone, but this is the way I needed it to work. Stops my breadcrumbs running out of control, but depends what you need Smile


Messages In This Thread
DTE BreadCrumb Class - by El Forum - 12-16-2008, 01:06 PM
DTE BreadCrumb Class - by El Forum - 12-16-2008, 08:31 PM
DTE BreadCrumb Class - by El Forum - 12-16-2008, 08:37 PM
DTE BreadCrumb Class - by El Forum - 01-01-2009, 05:28 PM
DTE BreadCrumb Class - by El Forum - 01-01-2009, 05:48 PM
DTE BreadCrumb Class - by El Forum - 01-01-2009, 05:52 PM
DTE BreadCrumb Class - by El Forum - 01-01-2009, 07:26 PM
DTE BreadCrumb Class - by El Forum - 01-13-2009, 06:50 PM
DTE BreadCrumb Class - by El Forum - 01-13-2009, 07:17 PM
DTE BreadCrumb Class - by El Forum - 01-13-2009, 08:32 PM
DTE BreadCrumb Class - by El Forum - 01-13-2009, 09:02 PM
DTE BreadCrumb Class - by El Forum - 01-14-2009, 01:54 PM
DTE BreadCrumb Class - by El Forum - 01-14-2009, 02:02 PM
DTE BreadCrumb Class - by El Forum - 01-14-2009, 02:12 PM
DTE BreadCrumb Class - by El Forum - 01-14-2009, 02:17 PM
DTE BreadCrumb Class - by El Forum - 01-14-2009, 09:28 PM
DTE BreadCrumb Class - by El Forum - 03-03-2009, 03:45 PM
DTE BreadCrumb Class - by El Forum - 03-15-2009, 11:06 AM
DTE BreadCrumb Class - by El Forum - 04-29-2009, 07:58 PM
DTE BreadCrumb Class - by El Forum - 06-10-2009, 07:54 AM
DTE BreadCrumb Class - by El Forum - 06-11-2009, 04:33 PM
DTE BreadCrumb Class - by El Forum - 08-03-2009, 01:38 AM
DTE BreadCrumb Class - by El Forum - 09-23-2009, 02:05 PM
DTE BreadCrumb Class - by El Forum - 10-06-2009, 07:10 AM
DTE BreadCrumb Class - by El Forum - 12-21-2009, 01:21 PM
DTE BreadCrumb Class - by El Forum - 12-21-2009, 01:29 PM
DTE BreadCrumb Class - by El Forum - 12-21-2009, 01:49 PM
DTE BreadCrumb Class - by El Forum - 04-10-2010, 12:45 AM
DTE BreadCrumb Class - by El Forum - 04-10-2010, 08:22 AM
DTE BreadCrumb Class - by El Forum - 09-06-2010, 02:49 PM
DTE BreadCrumb Class - by El Forum - 09-06-2010, 04:17 PM
DTE BreadCrumb Class - by El Forum - 09-06-2010, 04:23 PM
DTE BreadCrumb Class - by El Forum - 09-06-2010, 04:29 PM
DTE BreadCrumb Class - by El Forum - 10-28-2010, 12:43 PM
DTE BreadCrumb Class - by El Forum - 06-18-2011, 05:18 PM
DTE BreadCrumb Class - by El Forum - 07-16-2012, 02:05 PM



Theme © iAndrew 2016 - Forum software by © MyBB