MetaDetail Add for the newly created Blog Posts & News
As per the requirement, Need to create Meta Title, Meta Description & Meta Keywords for all of the pages which will be available after creating of an every individual blog posts & news.
One of the solution which I have tried was as mentioned (This was taken from here ):
Step 1 : Create custom fields inside the blog post
Step 2 : Use of an ActionFilter
namespace SitefinityWebApp /// <summary> /// Blog Attribute /// </summary> public class BlogMetaAttribute : ActionFilterAttribute /// <summary> /// MetaTitle variable /// </summary> public string MetaTitle get; set; /// <summary> /// Override the on Action Executing /// </summary> /// <param name="filterContext"></param> public override void OnActionExecuting(ActionExecutingContext filterContext) base.OnActionExecuting(filterContext); if (filterContext.Controller.GetType() == typeof(NewsController) && filterContext.ActionDescriptor.ActionName == "Details") var actionParameters = filterContext.ActionParameters as IDictionary<string, object>; var newsItem = actionParameters["newsItem"] as NewsItem; if (newsItem != null) this.MetaTitle = newsItem.Title; this.Register(); /// <summary> /// Register Events /// </summary> private void Register() EventHub.Unsubscribe<IPagePreRenderCompleteEvent>(OnPagePreRenderCompleteEventHandler); EventHub.Subscribe<IPagePreRenderCompleteEvent>(OnPagePreRenderCompleteEventHandler); /// <summary> /// /// </summary> /// <param name="event"></param> private void OnPagePreRenderCompleteEventHandler(IPagePreRenderCompleteEvent @event) if (!string.IsNullOrEmpty(this.MetaTitle)) HtmlMeta tag = new HtmlMeta(); tag.Attributes.Add("property", "title"); tag.Content = this.MetaTitle; @event.Page.Header.Controls.Add(tag); Step 3 : Filter simply register in the Global.asax
protected void Application_Start(object sender, EventArgs e) Bootstrapper.Initialized += this.Bootstrapper_Initialized; private void Bootstrapper_Initialized(object sender, Telerik.Sitefinity.Data.ExecutedEventArgs e) if (e.CommandName == "Bootstrapped") GlobalFilters.Filters.Add(new FacebookMetaAttribute()); I met the same situation with meta title and meta description.
I just copied source code of existing News widget. Renamed it to Custom News widget. Added new fields (title, description and keywords) to model.
And in controller Details action added
ViewBag.Title = "something here";ViewBag.Title automatically overrides old titile
You can find source code of News widget here: https://github.com/Sitefinity/feather-widgets/tree/master/Telerik.Sitefinity.Frontend.News/