ということでユーザ登録の前にナビ用のパンくずリストを作ります。
■ パンくずリスト( Breadcrumb )
まずパンくずHTMLを返すメソッドをヘルパーに作成。
extension/helpers/html_helpers.php
<?php
function breadcrumb($array)
{
$count = count($array); $i = 1;
$html = '<div id="breadcrumb"><ul>';
foreach($array as $k=>$v)
{
$class = (empty($v)) ? ' class="home"' : '';
if($i != $count)
$html .= '<li><a href="'.base_url($v).'"'.$class.'>'.$k.'</a></li>';
else // no link for the last one
$html .= '<li class="last"><span>'.$k.'</span></li>';
$i++;
}
$html .= '</ul></div>';
return $html;
}コントローラーにパンくず用の配列を作成。
admin/application/controllers/users.php
<?php
class User extends Controller
{
function __construct()
{
parent::__construct();
if( ! _s('admin')) redirect();
}
function index()
{
$this->accounts();
}
function accounts($page=0)
{
$data['breadcrumbs'] = array(_l('HOME')=>'', _l('USERLIST')=>'admin/user');
$this->layout->view('user/accounts', $data);
}
}レイアウトにパンくず表示ラインを追加
admin/application/views/_layouts/main.php
<?php if(isset($breadcrumbs) && is_array($breadcrumbs)) echo breadcrumb($breadcrumbs); ?>
見た目はAppleのようなパンくずリストにしてみました。
■ 最後に
この方法だとパンくずを表示するなら全てのメソッド内に$data['breadcrumbs']を追加しなければいけないんですよね。
他に良いやり方を思いつかなかったのですが、正直このパンくずリストあまりいい方法ではないと思います。
「こうしたほうが良いよ~」とアイデアのある方は是非アドバイスください。

0 件のコメント:
コメントを投稿