Azuma Daisuke dc5e64f84c use @focus to fire seo.tagInputsFocus | преди 1 година | |
---|---|---|
.. | ||
v_seo | преди 3 години | |
README.md | преди 3 години | |
admin.go | преди 1 година | |
admin_test.go | преди 1 година | |
collection.go | преди 1 година | |
collection_test.go | преди 3 години | |
embed.go | преди 2 години | |
helper_test.go | преди 1 година | |
messages.go | преди 1 година | |
model.go | преди 1 година | |
model_test.go | преди 1 година | |
perm.go | преди 3 години | |
v_seo.go | преди 3 години |
The SEO library allows for the management and injection of dynamic data into HTML tags for the purpose of Search Engine Optimisation.
Create a SEO collection
// Create a collection and register global seo by default
collection := seo.NewCollection()
// Change the default global name
collection.SetGlobalName("My Global SEO")
// Change the default context db key
collection.SetDBContextKey("My DB")
// Change the default seo model setting
type MySEOSetting struct{
QorSEOSetting
publish
l10n
}
collection.SetSettingModel(&MySEOSetting{})
// Turn off the default inherit the upper level SEO data when the current SEO data is missing
collection.SetInherited(false)
Register and remove SEO
// Register mutiple SEO by name
collection.RegisterSEOByNames("Not Found", "Internal Server Error")
// Register a SEO by model
type Product struct{
Name string
Setting Setting
}
collection.RegisterSEO(&Product{})
// Remove a SEO
collection.RemoveSEO(&Product{}).RemoveSEO("Not Found")
Configure SEO
// Change the default SEO name when register a SEO by model
collection.RegisterSEO(&Product{}).SetName("My Product")
// Register a context Variable
collection.RegisterSEO(&Product{}).
RegisterContextVariables("og:image", func(obj interface{}, _ *Setting, _ *http.Request) string {
return obj.image.url
}).
RegisterContextVariables("Name", func(obj interface{}, _ *Setting, _ *http.Request) string {
return obj.Name
})
// Register setting variable
collection.RegisterSEO(&Product{}).
RegisterSettingVaribles(struct{ProductTag string}{})
Render SEO html data
// Render Global SEO
collection.RenderGlobal(request)
// Render SEO by a name
collection.Render("product", request)
// Render SEO by a model
collection.Render(Product{}, request)