[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Реализация выпадающего списка в хлебных крошках
tolstiy
Подскажите как можно реализовать выпадающий список с сопутствующими категориями в хлебных крошках (нужна просто идея). Как тут template Сайт работает на codeigniter:
Контроллер:
class breadcrumbs_string extends widget {
public function execute(){
$this->load->library('breadcrumbs');

if ($data = $this->breadcrumbs->get_breadcrumbs()){
if (sizeof($data) == 1) return;

$this->render('breadcrumbs_string/index', array('items' => $data));
}
else
return;
}
}


Хелпер:

class Breadcrumbs {
private $_cache_breadcrumbs = array();

function __construct(){
$this->ci = &get_instance();
log_message('debug', 'Breadcrumbs Class Initialized');
}

public function add_breadcrumbs($items=array()){
foreach ($items as $item){
$tmp['name'] = $item['name'];

if (!isset($item['link']))
$tmp['link'] = false;
else
$tmp['link'] = $item['link'];

if (!isset($item['options']))
$tmp['options'] = false;
else
$tmp['options'] = $item['options'];

$this->_cache_breadcrumbs[] = $tmp;
}
}


public function add_breadcrumb($name, $link=false, $options=false){
$this->_cache_breadcrumbs[] = array(
'name' => $name,
'link' => $link,
'options' => $options
);
}


public function get_breadcrumbs(){
return $this->_cache_breadcrumbs;
}
}




Контроллер страницы:
    <?php $this->breadcrumbs->add_breadcrumb($parent_cat['Name'], 'category/'.$parent_cat['TitleURL']); ?>
kaww
видимо нужно элементу хлебных крошек добавить св-во siblings, в котором хранить соседние элементы. т.е.
$this->breadcrumbs->add_breadcrumb($name,$url, array(
array(
'name' => $name1,
'url' => $url1
),
array(
'name' => $name2,
'url' => $url2
),
));

и, соответственно, изменить методы add_breadcrumb и add_breadcrumbs.
один вопрос: Почему метод add_breadcrumbs не вызывает в цикле add_breadcrumb для каждого item'a ?
tolstiy
Спасибо за совет, попробую реализовать.
По поводу вашего вопроса:
Данный код писался не мной, мне нужно доработать, поэтому к сожалению не могу вам сказать почему написано именно так.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.