更改Codeignator中的URL参数



我正在尝试将URL参数从行ID更改为文章的NAME。这是我的代码

控制器

public function view($id=0)
{
if( !isset($id) || !is_numeric($id) ) {
redirect(base_url());
}
$tot = $this->Model_service->service_check($id);
if(!$tot) {
redirect(base_url());
}

视图为

<?php
foreach ($services as $row) {
?>
<div class="col-lg-4 col-md-6">
<div class="services-item effect-item">
<a href="<?php echo base_url(); ?>service/<?php echo $row['name']; ?>" class="image-effect">
<div class="services-photo" style="background-image: url(<?php echo base_url(); ?>public/uploads/<?php echo $row['photo']; ?>)"></div>
</a>
<div class="services-text">
<h3><a href="<?php echo base_url(); ?>service/<?php echo $row['name']; ?>"><?php echo $row['name']; ?></a></h3>
<p>
<?php echo nl2br($row['short_description']); ?>
</p>
<div class="button-bn">
<a href="<?php echo base_url(); ?>service/<?php echo $row['name']; ?>"><?php echo READ_MORE; ?> <i class="fa fa-chevron-circle-right"></i></a>

请帮我找到最简单的答案谢谢

Yo需要更改控制器中的文章视图函数。查找文章名称而不是id。但名称中可能包含对URL不友好的空格,所以使用slug的概念可以解决这个问题。

public function view($slug='')
{
if($slug == '') {
redirect(base_url());
}
$tot = $this->Model_service->find_service_by_slug($slug);
if(!$tot) {
redirect(base_url());
}

段塞概念的参考链接为https://codeigniter.com/user_guide/tutorial/news_section.html

相关内容

  • 没有找到相关文章

最新更新