Kết quả 1 đến 3 của 3
  1. #1
    Super Moderator tinhphaistc's Avatar
    Ngày tham gia
    01-03-2013
    Bài viết
    693
    Cảm ơn
    244
    Được cảm ơn 278 trong 210 bài viết

    Xây Dựng Breadcrumb Helper trong CI

    Tutorial: Xây dựng Breadcrumb Helper trong Codeigniter
    Writer: Lưu Xuân Trường
    Đang tập tành SEO nên thấy tạo breadcrumb rất hữu dụng góp phần cho google dễ tìm và đánh chỉ mục website của bạn, nên chia sẽ cùng các bạn.
    ở đây mình đã có sẵn website viết bằng CI, cấu trúc thư mục như sau:
    + bạn tạo file breabcrumb.php theo đường dẫn application/config/breadcrumb.php để tùy chỉnh cấu hình cho breabcrumb.
    + tạo breabcrumb_helper.php đường dẫn application/helpers/breadcrumb_helper.php

    Xây Dựng Breadcrumb Helper trong CI

    1. File cấu hình breadcrumb.php:
    PHP Code:
    PHP Code:
     <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

    $config['determine'] = ">"//dấu phân cách giữa các link

    $config['exclude'] = array();//Những tham số trên url mà bạn bỏ qua.

    $config[‘segment_exclude’] = array();// Chỉ số segment mà bạn muốn bỏ qua.

    $config['wrapper'] = "<ul>|</ul>";

    $config['wrapper_inline'] = "<li>|</li>";
    /*
    Cấu hình css, ở đây mình ví dụ thôi các bạn tùy biến nha
    $config['wraper_style'] = array();
    */

    $config['enable_last_link'] = false// Thiết lập tham số cuối ở segment có để link không. Mặc định là false

    ?>

    2. Code file breabcrumb_helper.php:
    PHP Code:
    PHP Code:
     <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

    function 
    build_breadcrumb($config null)
    {
        
    $CI =& get_instance();
        
    $CI->load->helper('url');
        
    $CI->config->load('breadcrumb');
        
    $urlString $CI->uri->uri_string();
        
    $determine = empty($config['determine']) ? $CI->config->item('determine') : $config['determine'];
        
    $exclude = empty($config['exclude']) ? $CI->config->item('exclude') : $config['exclude'];
        
    $segment_exclude = empty($config['segment_exclude']) ? $CI->config->item('segment_exclude') : $config['segment_exclude'];
        
    $wrapper = empty($config['wrapper']) ? $CI->config->item('wrapper') : $config['wrapper'];
        
    $wrapper_inline = empty($config['wrapper_inline']) ? $CI->config->item('wrapper_inline') : $config['wrapper_inline'];
        
        
    $urlArrays explode("/"$urlString);
        
    array_shift($urlArrays);
        
    $urlArrayTemp1 = Array();
        if(!empty(
    $segment_exclude))
        {    
            for (
    $i 0$i count($urlArrays); $i ++) 
            {
                if(
    array_search($i$segment_exclude) === false)
                {
                    
    $urlArrayTemp1[] = $urlArrays[$i];
                }
            
            }
        }
        else
        {
            
    $urlArrayTemp1 $urlArrays;
        }
        foreach(
    $exclude as $exc)
        {
            if(
    array_search($exc$urlArrayTemp1) === false)
            {
                unset(
    $urlArrayTemp1[array_search($exc$urlArrayTemp1)]);
            }
        }
            
    // filter number url
         
    foreach ($urlArrayTemp1 as $key => $value)
        {
                if (
    preg_match("/^\d+$/"$value))
                {
                    unset(
    $urlArrayTemp1[$key]);
                }
        }
        
    array_values($urlArrayTemp1);
        
    // Set wrapper
            
    $wrapper $config['wrapper'] || explode("|"$CI->config->item('wrapper'));
            
    $wrapper_inline $config['wrapper_inline'] || explode("|"$CI->config->item('wrapper_inline'));
            
    // Begin writing breadcrumb string
            
    $str $wrapper[0].$wrapper_inline[0].anchor('''Home').$wrapper_inline[1];
            
    $segment '';
            
    $i 0;
            
    $number_array count($urlArrayTemp1);
            foreach (
    $urlArrayTemp1 as $value)
            {
                if (
    $i 0)
                {
                    
    $segment .= $value.'/';

                        if (
    strpos($value"_") OR strpos($value"-"))
                        {
                            
    $char_to_replace = array ('_''-');
                            
    $value ucwords(strtolower(str_replace($char_to_replace" "$value)));
                        }
                        
                        
    // enable last segment (optional)
                        
    if ($i == $number_array-&& !$CI->config->item('enable_last_segment'))
                        {
                            
    $str .= $determine.$wrapper_inline[0].ucwords($value).$wrapper_inline[1];
                            break;
                        }
                        
    $str .= $determine.$wrapper_inline[0].anchor($segmentucwords($value)).$wrapper_inline[1];
                }
                
    $i++;
            }
            
    $str .= $wrapper[1];
            return 
    $str;
        
    }
    ?>
    3. Load helper breadcrumb:

    Xây Dựng Breadcrumb Helper trong CI


    4. Ở các file view bạn thêm dòng code sau:

    PHP Code:
    PHP Code:
     <?= build_breadcrumb();?>// nếu không có cấu hình gì
    Hoặc
    PHP Code:
    PHP Code:
     <?php
    $config 
    = Array(
            
    “determine” => =>,
            
    “wrappter_css” =>”shop_breadcrumb”
    );
    echo  
    build_breadcrumb($config);
    ?>
    Tập tin đính kèm Tập tin đính kèm

  2. The Following 2 Users Say Thank You to tinhphaistc For This Useful Post:

    devilcry2015 (13-01-2015),vudesign (13-01-2015)

  3. #2
    Super Moderator Zen Studio's Avatar
    Ngày tham gia
    19-06-2013
    Bài viết
    393
    Cảm ơn
    58
    Được cảm ơn 166 trong 123 bài viết
    up bài này lên cho cùng thể loại
    hay cung chung toi chinh phuc tri thuc

  4. #3
    Moderator vudesign's Avatar
    Ngày tham gia
    23-01-2014
    Bài viết
    324
    Cảm ơn
    22
    Được cảm ơn 45 trong 39 bài viết
    Hay quá anh ơi thank
    Clip hay nhé keke truy cậphttp://ovui.com.vn/" href="http://ovui.com.vn/" target="_blank" rel="nofollow">
    http://ovui.com.v
    n/


Chia sẽ và Bình Luận chủ đề Xây Dựng Breadcrumb Helper trong CI trên facebook

Các Chủ đề tương tự

  1. CAPTCHA Helper - codeigniter
    Bởi tinhphaistc trong diễn đàn Helper Reference
    Trả lời: 20
    Bài cuối: 06-05-2014, 02:52 PM
  2. Trả lời: 1
    Bài cuối: 08-08-2013, 10:18 PM
  3. [Thảo Luân] vấn đề helper của table trong Codeigniter
    Bởi Zen Studio trong diễn đàn Hỏi đáp
    Trả lời: 2
    Bài cuối: 06-08-2013, 07:29 PM
  4. [Help] Capcha helper
    Bởi oaipro trong diễn đàn Hỏi đáp
    Trả lời: 1
    Bài cuối: 29-04-2013, 10:32 PM
  5. Array Helper - codeigniter
    Bởi tinhphaistc trong diễn đàn Helper Reference
    Trả lời: 1
    Bài cuối: 31-03-2013, 08:56 PM

Các từ khóa xuất hiện trên google của chủ đề

Chưa có từ khóa lên top google

Quyền viết bài

  • Bạn không thể đăng chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi đính kèm
  • Bạn không thể sửa bài
  •