如何在数据库中给出slug字段的限制。在下面的代码问题是表的字段,它包含长文本。所以我想为有限长度的问题字段创建slug。我怎么办? //在模型中
var $actsAs = array(
'Sluggable.Sluggable' => array(
'label' => 'question',
'slug' => 'slug',
'separator' => '-',
'overwrite' => false
)
);
答案 0 :(得分:0)
只需将'length'=>50
参数添加到缓存数组即可。
CakeDC的大多数插件都非常出色但缺少文档(这应该鼓励您自己开始理解插件的工作原理)。
答案 1 :(得分:-1)
创建一个功能
function create_slug($string) {
$string = substr($string, 0, 100);
$string = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $string);
$string = strtolower(trim($string, '-'));
$string = preg_replace("/[\/_|+ -]+/", '-', $string);
return $string;
}
并像这样使用
$actsAs = array(
'Sluggable.Sluggable' => array(
'label' => 'very & long & question',
'slug' => create_slug('very & long & question'),
'separator' => '-',
'overwrite' => false
)
);
print_r($actsAs);
// ouptut
Array
(
[Sluggable.Sluggable] => Array
(
[label] => very & long & question
[slug] => very-long-question
[separator] => -
[overwrite] =>
)
)