CI框架用户指南中的一个疑问


在学习CI框架的时候,看的是官方用户指南的简体中文翻译。教程中出现了slug一词,没有给出翻译,感觉难以理解。
slug是在读取新闻条目的这部分出现的,这一部分教程在这里:
http://codeigniter.org.cn/user_guide/tutorial/index.html

这个教程中有这么一段代码,用来显示添加上去的新闻条目,也就是展示数据了,说是在application/views/news/index.php中的代码为(教程页面 http://codeigniter.org.cn/user_guide/tutorial/news_section.html ):


 <?php foreach ($news as $news_item): ?>

<h2><?php echo $news_item['title'] ?></h2>
<div class="main">
    <?php echo $news_item['text'] ?>
</div>
<p><a href="http://[你的域名]/index.php/news/<?php echo $news_item['slug'] ?>">View article</a></p>

而我按照教程全部做完,包括后面一部分的“创建新闻条目”,然后打开浏览器访问创建新闻页面: http://192.168.56.101/ciguestbook/index.php/news/create (部署在虚拟机里面了),随便填了测试数据提交然后跳转到新闻展示页面 http://192.168.56.101/ciguestbook/index.php/news/ ,有鼠标右键View Article这个链接后发现slug的值是空的!
查看新闻条目页面,slug为空!
没错,就是index.php中的


 <p><a href="http://192.168.56.101/ciguestbook/index.php/news/<?php echo $news_item['slug'] ?>">View article</a></p>

这一句里面的news_item['slug']是空的。对于slug本身的含义和在PHP中的含义感觉很迷惑,另外对于这里slug为空表示不解,slug既然为空为什么教程中要设定它呢?

codeigniter php 英语

hxkaria 10 years, 2 months ago

题主别着急采纳嘛,我来给出正确答案。

slug就是WordPress系统里的语义化的可自定义文章名式URL

我当时也很纳闷,查了一圈发现的。其实从url也可以看出来,跟在 /news 后面,不给一个唯一的表示怎么知道是哪个news嘛。

职业骗经验 answered 10 years, 2 months ago

首先看看表结构


 CREATE TABLE news (
  id int(11) NOT NULL AUTO_INCREMENT,
  title varchar(128) NOT NULL,
  slug varchar(128) NOT NULL,
  text text NOT NULL,
  PRIMARY KEY (id),
  KEY slug (slug)
);

说明每篇文章都有slug,再看看slug的翻译:“(标题等) 引人注意的语句,醒目的语句(或短语)”,其实就是每篇文章的导语或者简介。如果为空,说明这篇文章没有导语。

这是我的理解。

anyuds answered 10 years, 2 months ago

Your Answer