Пример #1
0
        private static void AddMVCMenuStyle(WPMenuModel.Item wpMenuItem)
        {
            //variable declartions
            var    wpItem                 = new Dictionary <string, string>();
            string wpId                   = wpMenuItem.id.ToString();
            string wpType                 = wpMenuItem.type;
            string wpObject               = wpMenuItem.type_label.ToLower();
            var    parentID               = wpMenuItem.parent;
            string liBaseMenuClassChild   = null;
            string liBaseMenuClassSubMenu = null;

            if (wpMenuItem.children != null)
            {
                //menu decoration for the sub level menu items
                wpItem.Add("ulSubMenuClass" + "-" + wpId, "class=dropdown-menu");
                liBaseMenuClassChild = "dropdown";
                AddMVCMenuStyle(wpMenuItem.children);
            }

            liBaseMenuClassSubMenu = parentID == 0 ? "" : "dropdown";

            wpItem.Add("liBaseMenuId" + "-" + wpId, null);
            string liBaseMenuClass = null;

            if (!string.IsNullOrEmpty(liBaseMenuClassChild))
            {
                liBaseMenuClass = string.Format("class=\"{0}\"", liBaseMenuClassChild);
            }

            wpItem.Add("liBaseMenuClass" + "-" + wpId, liBaseMenuClass);

            wpMenuItem.styles = wpItem;
        }
Пример #2
0
        private static void AddWPMenuStyle(WPMenuModel.Item wpMenuItem)
        {
            //variable declartions
            var    wpItem                 = new Dictionary <string, string>();
            string wpId                   = wpMenuItem.id.ToString();
            string wpType                 = wpMenuItem.type;
            string wpObject               = wpMenuItem.type_label.ToLower();
            var    parentID               = wpMenuItem.parent;
            string liBaseMenuClassChild   = null;
            string liBaseMenuClassSubMenu = null;

            if (wpMenuItem.children != null)
            {
                //menu decoration for the sub level menu items
                wpItem.Add("ulSubMenuClass" + "-" + wpId, "class=sub-menu");
                liBaseMenuClassChild = "menu-item-has-children";
                AddWPMenuStyle(wpMenuItem.children);
            }

            liBaseMenuClassSubMenu = parentID == 0 ? "dropdown-menu" : "dropdown-submenu";

            wpItem.Add("liBaseMenuId" + "-" + wpId, string.Format("id = menu-item-{0}", wpId));
            wpItem.Add("liBaseMenuClass" + "-" + wpId, string.Format("class=\"menu-item menu-item-type-{0} menu-item-object-{1} {2} menu-item-{3} {4}\"", wpType, wpObject, liBaseMenuClassChild, wpId, liBaseMenuClassSubMenu));

            wpMenuItem.styles = wpItem;
        }
Пример #3
0
        private static void EnsureMenuSlugValue(WPMenuModel.Item wpItem)
        {
            //declaration
            var slugValue = wpItem.object_slug;
            var typeValue = wpItem.type;
            var url       = wpItem.url;
            var id        = wpItem.object_id.ToString();


            //special treatment for taxonomy style types
            if (typeValue.ToString() == "taxonomy")
            {
                if (url != null)
                {
                    //grab WordPress origin regex pattern
                    var wpOriginPattern = WPEndPointRegexPattern();

                    //Replace link references to WordPress origin
                    string classifiedPattern     = string.Format(@"(?<={0}\/category)*", wpOriginPattern);
                    string classifiedReplacement = WPEndPoint + @"/category";
                    Regex  classifiedRegex       = new Regex(classifiedPattern);
                    if (classifiedRegex.IsMatch(url))
                    {
                        slugValue = url.Replace(classifiedReplacement, "");
                    }
                }
            }
            else
            {
                //as a last ditch effort, assign the id as the slug
                if (string.IsNullOrEmpty(slugValue))
                {
                    if (id != null)
                    {
                        slugValue = id.ToString();
                    }
                }
            }

            //replace the original slug value with the slug value from the URL
            wpItem.object_slug = slugValue;

            //loop through each menu child item and ensure the same conditions apply
            if (wpItem.children != null && wpItem.children.Any())
            {
                foreach (var childItem in wpItem.children)
                {
                    EnsureMenuSlugValue(childItem);
                }
            }
        }