slug它不在codeigniter工作

时间:2014-04-11 10:26:54

标签: php codeigniter

我想要这样的url slug

  

TKD / index.php的/条/ 77 / Kejurnas-2013

但是当我点击这样的按钮时

  

TKD / index.php的/条/ 77 / Kejurnas%202013

我的代码出了什么问题。这是我的看法

<div class="post-buttons-wrap">
                          <div class="post-buttons">
                            <a href="<?php echo base_url('index.php/article/' . intval($dt->id) . '/' . e($dt->slug)) ; ?>" class="ui black label">
                                Read More
                              </a>
                          </div><!-- end .post-buttons -->
                      </div>

这是我的控制器

public function index()
{

    $this->data['berita'] = $this->mberita->get_berita();
        $this->data['halaman'] = $this->mhalaman->get_profil();

        dump('Page!');
        // Fetch the page template
        $this->data['page'] = $this->page_m->get_by(array('slug' => (string) $this->uri->segment(1)), TRUE);
        count($this->data['page']) || show_404(current_url());

        // Fetch the page data
        $method = '_' . $this->data['page']->template;
        if (method_exists($this, $method)) {
            $this->$method();
        }
        else {
            log_message('error', 'Could not load template ' . $method .' in file ' . __FILE__ . ' at line ' . __LINE__);
            show_error('Could not load template ' . $method);
        }
    $this->data['contents'] = $this->data['page']->template;
    $this->load->view('template/wrapper_mahasiswa', $this->data);
}

请帮我做什么。谢谢。

2 个答案:

答案 0 :(得分:0)

如果您需要转换某些特殊字符,您必须使用帮助程序“URL”并使用函数“url_title()”和“convert_accented_characters()”。

http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html了解更多信息

实施例: 在控制器代码中,您将捕获表单输入。然后你必须用这样的一行创建slug:

$event['slug'] = url_title(convert_accented_characters($event['eventName']),'-',TRUE);

此行将返回一个以“ - ”分隔的slug,将所有单词设置为小写并删除所有特殊字符。

答案 1 :(得分:0)

试试这个 - 在url中使用字符串时使用rawurlencode -

 <a href="<?php echo base_url('index.php/article/' . intval($dt->id) . rawurldecode('/') . e($dt->slug)) ; ?>" class="ui black label">
                                Read More
                              </a>