// ConfigureQorMetaBeforeInitialize configure SEO setting for qor admin func (Setting) ConfigureQorMetaBeforeInitialize(meta resource.Metaor) { if meta, ok := meta.(*admin.Meta); ok { meta.Type = "seo" if meta.GetValuer() == nil { res := meta.GetBaseResource().(*admin.Resource) Admin := res.GetAdmin() tags := meta.FieldStruct.Struct.Tag.Get("seo") tagsArray := splitTags(tags) tagsArray = prependMainObjectTags(tagsArray, Admin.Config.DB.NewScope(res.Value).IndirectValue()) meta.SetValuer(func(value interface{}, ctx *qor.Context) interface{} { settingField, _ := ctx.GetDB().NewScope(value).FieldByName(meta.FieldStruct.Struct.Name) setting := settingField.Field.Interface().(settingInterface).GetSetting() setting.Tags = tags setting.TagsArray = tagsArray return setting }) } res := meta.GetBaseResource().(*admin.Resource) res.GetAdmin().RegisterViewPath("github.com/qor/seo/views") res.UseTheme("seo") registerFunctions(res) } }