十月CMS的非英语文章

时间:2018-08-02 07:29:34

标签: laravel octobercms

使用10月cms的内部版本422和Rainlab博客插件,每次博客消息说“ slug格式无效”时,都不可能有非英语的slug。

是否有解决此限制的解决方案或解决方法?

2 个答案:

答案 0 :(得分:3)

您可以像下面这样在模型文件中对以下代码进行注释。

路径::插件/rainlab/blog/models/Post.php

 public $rules = [
        'title' => 'required',
        // 'slug' => ['required', 'regex:/^[a-z0-9\/\:_\-\*\[\]\+\?\|]*$/i', 'unique:rainlab_blog_posts'],
        'content' => 'required',
        'excerpt' => ''
    ];

答案 1 :(得分:1)

我建议您遵循extending guide of octobercms并将其扩展。 这样,您可以安全地更新Blog插件,而不必担心再次对其进行编辑,或者不必重新安装octobercms时就必须记住对其进行编辑。

use Rainlab\Blog\Models\Post;

class Plugin extends PluginBase 
{
    public function boot()
    { 
        // Extend post Model
        Post::extend(function($model) {
            // Only do stuff when validation is triggered
            $model->bindEvent('model.beforeValidate', function() use ($model) {
                 // Find the regex holding value to avoid hardcoding array index
                 foreach($model->rules as $key => $value) {
                     if(strpos($value, 'regex:') !== false) {
                          // unset validation rule containing the regex.
                          unset($model->rules[$key]);
                          break;
                     }
                 }
            }
        });
    }
}