您可以创建一个SiteTree的扩展,并包含如下onBeforeWrite函数。这样,如果用户更改了标题而没有更改URL,就会进行相应的更改:
class AutoURLSync extends Extension {
public function onBeforeWrite() {
// If Title is changed, but URLSegment is not,
// then update the URLSegment here
if($this->owner->isChanged('Title',2) && !$this->owner->isChanged('URLSegment',2)) {
$this->owner->URLSegment = $this->owner->generateURLSegment($this->owner->Title);
}
}
}
将“if”移除意味着它总是会改变。
在_config/config.yml
中添加以下内容以连接该扩展:
SiteTree:
extensions:
- AutoURLSync
SiteTreeExtension
在核心文件中似乎已经存在),将 if 语句放在括号中(也尝试过删除 if 语句)。在 发布 时出现内部错误。 - Semicolon