我有一个名为posts的数据库表,其中包含'id,title,slug和content'
我想用创建或编辑帖子时输入的标题的变形版本自动填充slug列。
因此,例如,如果我创建了一个名为“欢迎使用我的博客”的帖子,则以下slug将保存在该帖子的数据库中:“Welcome_to_my_Blog”。
我认为这是你在控制器中会做的事情吗?
有人可以帮忙吗?感谢
答案 0 :(得分:1)
我使用CakeDC Utils plugin,它有一个“缓慢”行为,你只需设置slug的字段名称,它将自动从name
字段为你保存一个slug(你可以指定如果你需要另一个领域)。将它放入插件文件夹后,这是我的设置:
public $actsAs = array(
'Utils.Sluggable' => array(
'label' => 'name',
'method' => 'multibyteSlug',
'separator' => '-'
)
);
确保数据库中有slug
字段。
答案 1 :(得分:0)
当您保存帖子时,您可以在控制器或模型中执行此操作。
答案 2 :(得分:0)
我不会使用slugs(技术上)来指向内容。你最好使用这个ID,并在URL中包含slug仅用于SEO目的。使用Inflector :: slug()方法构建到Cake中时,可以很容易地实现这一点。