Hi Team,
I have implemented the following code to display the tab in profile page. But tab is not coming.
public class UserMLRRewards : IPlugin, ITranslatablePlugin, IUserCustomNavigationPlugin, IUserDefaultCustomNavigationPlugin { private readonly Guid _defaultId = new Guid("0ac1a9e0-676d-4969-ae40-e9b9ad00751d"); ITranslatablePluginController _translation; #region IPlugin public string Name { get { return "User MLR Rewards"; } } public string Description { get { return "Adds User MLR Rewards custom navigation support within user profile."; } } public void Initialize() { } #endregion #region IUserDefaultCustomNavigationPlugin Members public int DefaultOrderNumber { get { return 200; } } public ICustomNavigationItem GetDefaultNavigationItem(ICustomNavigationItemConfiguration configuration) { Telligent.Evolution.Extensibility.Api.Entities.Version1.User user = null; if (configuration.GetStringValue("user", "current") == "accessing") user = TEApi.Users.AccessingUser; else { var userItem = TEApi.Url.CurrentContext.ContextItems.GetItemByContentType(TEApi.Users.ContentTypeId); if (userItem != null) user = TEApi.Users.Get(new UsersGetOptions() { ContentId = userItem.ContentId }); } return new UserRewardsNavigationItem(this, configuration, _defaultId, user.Id.Value, () => _translation.GetLanguageResourceValue("configuration_defaultLabel")); } #endregion #region IUserCustomNavigationPlugin Members public ICustomNavigationItem GetNavigationItem(Guid id, ICustomNavigationItemConfiguration configuration) { Telligent.Evolution.Extensibility.Api.Entities.Version1.User user = null; if (configuration.GetStringValue("user", "current") == "accessing") user = TEApi.Users.AccessingUser; else { var userItem = TEApi.Url.CurrentContext.ContextItems.GetItemByContentType(TEApi.Users.ContentTypeId); if (userItem != null) user = TEApi.Users.Get(new UsersGetOptions() { ContentId = userItem.ContentId }); } return new UserRewardsNavigationItem(this, configuration, id, user.Id.Value, () => _translation.GetLanguageResourceValue("configuration_defaultLabel")); } public string NavigationTypeName { get { return _translation.GetLanguageResourceValue("navigation_type_name"); } } TEConfig.PropertyGroup[] IUserCustomNavigationPlugin.GetConfigurationProperties() { TEConfig.PropertyGroup group = new TEConfig.PropertyGroup(); TEConfig.Property p = new TEConfig.Property() { Id = "user", LabelText = _translation.GetLanguageResourceValue("link_to_user"), DataType = "String", OrderNumber = 1, DefaultValue = "0", DescriptionText = "current" }; p.SelectableValues.Add(new TEConfig.PropertyValue() { Value = "current", LabelText = _translation.GetLanguageResourceValue("link_to_user_current"), OrderNumber = 0 }); p.SelectableValues.Add(new TEConfig.PropertyValue() { Value = "accessing", LabelText = _translation.GetLanguageResourceValue("link_to_user_accessing"), OrderNumber = 1 }); group.Properties.Add(p); p = new TEConfig.Property() { Id = "label", LabelText = _translation.GetLanguageResourceValue("label"), DataType = "String", OrderNumber = 2, DefaultValue = "Rewards", }; //p.ControlType = typeof(Telligent.Evolution.Controls.ContentFragmentTokenStringControl); group.Properties.Add(p); return new TEConfig.PropertyGroup[] { group }; } #endregion #region ITranslatablePlugin Members public Translation[] DefaultTranslations { get { var translation = new Translation("en-US"); translation.Set("navigation_type_name", "User Rewards"); translation.Set("link_to_user", "User"); translation.Set("link_to_user_current", "Contextual"); translation.Set("link_to_user_accessing", "Accessing"); translation.Set("configuration_defaultLabel", "Rewards"); translation.Set("label", "Label"); return new Translation[] { translation }; } } public void SetController(ITranslatablePluginController controller) { _translation = controller; } #endregion } public class UserRewardsNavigationItem : ICustomNavigationItem { Func<string> _getLabel; int _userId; internal UserRewardsNavigationItem(ICustomNavigationPlugin plugin, ICustomNavigationItemConfiguration configuration, Guid id, int userId, Func<string> getLabel) { Plugin = plugin; Configuration = configuration; UniqueID = id; _userId = userId; _getLabel = getLabel; } #region ICustomNavigationItem Members public ICustomNavigationItem[] Children { get; set; } public ICustomNavigationItemConfiguration Configuration { get; private set; } public string CssClass { get { return "list-polls"; } } public string Label { get { return _getLabel(); } } public ICustomNavigationPlugin Plugin { get; private set; } public Guid UniqueID { get; private set; } public bool IsSelected(string currentFullUrl) { return TEApi.Url.CurrentContext.UrlName == "page-members-rewards"; } public bool IsVisible(int userId) { return !string.IsNullOrEmpty(Url); } public string Url { get { return UserPolls(_userId); } } internal static string UserPolls(int userId) { var user = TEApi.Users.Get(new UsersGetOptions() { Id = userId }); if (user == null) return null; return TEApi.Url.BuildUrl("page-members-rewards", new Dictionary<string, string>() { { "UserName", user.Username.ToLower().Replace(" ", "-") } }); } #endregion }
I have enabled the plugin administration.
Added in page also
But tab is not coming
Please do the needful