📅  最后修改于: 2023-12-03 15:05:14.992000             🧑  作者: Mango
spatie/sluggable
不工作 - PHP 主题spatie/sluggable
是一个 PHP 包,可以将字符串转换为 URL 友好的字符,以便用于 SEO 或美观的 URL。
然而,有时它可能会出现不工作的情况,本文将介绍一些可能的原因和解决方法。
如果使用 spatie/sluggable
时,你发现生成的 slug 字段是空的,可能是以下原因之一:
$sluggable
数组未配置正确。确保 $sluggable
数组已正确设置,可以通过以下代码检查:
public function getSlugOptions() : Sluggable
{
return Sluggable::create();
}
public function sluggify()
{
return $this->slug;
}
public function getSluggable(): array
{
return [
'save_to' => 'slug',
'on_update' => true,
'replace' => false,
'generate_slugs_on_create' => true,
'include_trashed' => false,
'delimiter' => '-',
'maximum_length' => null,
'uri_segment' => null,
'unique' => false,
'uniqueSuffix' => null,
'slugEngineOptions' => [],
'slugifyModelSlugAttributes' => true,
];
}
确保将 slug 字段正确保存到数据库,例如:
$model->slug = $model->sluggify();
$model->save();
如果使用 spatie/sluggable
时,你发现生成的 slug 不是 URL 友好的字符串,可能是以下原因之一:
$sluggable
数组已正确设置,可以通过以上代码片段检查。$sluggable
数组中的值,例如更改分隔符、增加最大长度等,以生成 URL 友好的 slug。spatie/sluggable
是一个非常有用的 PHP 包,可以自动将字符串转换为 URL 友好的字符。但是,有时它可能会出现问题。通过本文中提供的解决方法,你应该能够解决大多数问题。
希望本文对你有所帮助!