Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Хлебные крошки
http://forum.kohanaframework.su/viewtopic.php?f=32&t=241
Страница 1 из 1

Автор:  Twist [ 11 июл 2012, 17:07 ]
Заголовок сообщения:  Хлебные крошки

Хочу на сайте организовать хлебные кроши, но никак не могу придумать алгоритм их организации?

Автор:  Sergey [ 29 июл 2012, 07:29 ]
Заголовок сообщения:  Re: Хлебные крошки

Я бы начал с того, что попробовал использовать двумерный массив вида имя_страницы => адрес_страницы.

Например:

Код:
<?php
  $breadcrumb[0]['main'] = 'http://kohanaframework.su';
  $breadcrumb[1]['lessons'] = 'http://kohanaframework.su/...';
  $breadcrumb[2]['beginers'] = 'http://kohanaframework.su/...';
  $breadcrumb[3]['first'] = 'http://kohanaframework.su/...';
?>


Ключем $breadcrumb[] в данном примере может быть вложенность.
Как вариант

Автор:  Sergey [ 29 июл 2012, 08:55 ]
Заголовок сообщения:  Re: Хлебные крошки

А играться по видимому придётся с
Код:
$_SERVER['HTTP_REFERER'];
$_SERVER['REQUEST_URI'];
$_SERVER['QUERY_STRING'];

Автор:  Sergey [ 23 авг 2012, 14:42 ]
Заголовок сообщения:  Re: Хлебные крошки

Во, попалось на глаза

Автор:  admin [ 25 авг 2012, 19:14 ]
Заголовок сообщения:  Re: Хлебные крошки

Я недавно делал, стал изобретать велосипед и наверное кривенько, но написал что-то вроде

Код:
   public static function hierarchy_out($id)
   {
      $category = ORM::factory('category')
               ->where('id', '=', $id)
               ->find();

      if($category->loaded())
      {
         self::$category_out_arr[self::$i]['name'] = $category->name;
         self::$category_out_arr[self::$i]['alt_name'] = $category->alt_name;
         self::$i ++;
         self::hierarchy_out($category->parent_id);
      }

      krsort(self::$category_out_arr);
      return self::$category_out_arr;
   }

Вызываем в контроллере:
Код:
      $category_arr = Model_Category::hierarchy_out($article->category_id);
      $categories = '';
      $url = '';
      foreach($category_arr as $category)
      {
         $categories .= HTML::anchor($url . $category['alt_name'], $category['name'], array('title' => $category['name'], 'class' => 'url')) . ' - ';
         $url .= $category['alt_name'] . '/';
      }

      $categories = rtrim($categories, ' - ');


Получаем:

Изображение

Хотя конечно плохо, что это фактически запрос в цикле, хоть и мелкий.

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/