예제 #1
0
        public void Bind()
        {
            DbContentClipCollection rootCatalogClips;
            CssInfo rootCssInfo;

            // Load the catalog to start building a menu from
            rootCatalogClips = __rootCatalog.GetClips();
            rootCatalogClips.Sort(ContentCompareKey.MenuOrder);

            // Set menu css to catalog css properties
            rootCssInfo = new CssInfo(__rootCatalog.MenuCssClass);

            if (__looksEnabled)
            {
                rootCssInfo.SetLook(__menu);
            }

            DbContentCatalogCollection catalogs = __rootCatalog.GetCatalogs();

            catalogs.Sort(ContentCompareKey.MenuOrder);

            for (int catalogIndex = 0; catalogIndex < catalogs.Count; catalogIndex++)
            {
                addCatalogToMenu(__menu.Items, catalogs[catalogIndex]);
            }

            addClipsToMenu(__menu.Items, __rootCatalog, rootCatalogClips);
        }
예제 #2
0
        private void addCatalogToMenu(ComponentArt.Web.UI.MenuItemCollection parentItemCollection, DbContentCatalog catalog)
        {
            if (!catalog.Enabled || !catalog.MenuEnabled)
            {
                return;
            }

            DbContentClipCollection clips;

            ComponentArt.Web.UI.MenuItem catalogMenuItem;
            IconInfo leftIconInfo, rightIconInfo;
            CssInfo  catalogCssInfo;

            clips = catalog.GetMenuEnabledClips();
            clips.Sort(ContentCompareKey.MenuOrder);

            catalogMenuItem = new ComponentArt.Web.UI.MenuItem();
            parentItemCollection.Add(catalogMenuItem);

            catalogMenuItem.Text    = catalog.MenuLabel;
            catalogMenuItem.ToolTip = catalog.MenuTooltip;

            if (catalog.DefaultClip != null)
            {
                if (catalog.DefaultClip.OverrideUrl != string.Empty)
                {
                    catalogMenuItem.NavigateUrl = catalog.DefaultClip.OverrideUrl;
                }
                else
                {
                    catalogMenuItem.NavigateUrl = string.Format(__linkFormat, catalog.DefaultClip.ID);
                }

                catalogMenuItem.ID = catalog.DefaultClip.ID.ToString();
            }

            if (catalog.MenuCssClass == "[rootcatalog]")
            {
                catalogCssInfo = new CssInfo(__rootCatalog.MenuCssClass);
            }
            else
            {
                catalogCssInfo = new CssInfo(catalog.MenuCssClass);
            }

            if (catalog.MenuLeftIcon == "[rootcatalog]")
            {
                leftIconInfo = new IconInfo(__rootCatalog.MenuLeftIcon);
            }
            else
            {
                leftIconInfo = new IconInfo(catalog.MenuLeftIcon);
            }

            if (catalog.MenuRightIcon == "[rootcatalog]")
            {
                rightIconInfo = new IconInfo(__rootCatalog.MenuRightIcon);
            }
            else
            {
                rightIconInfo = new IconInfo(catalog.MenuRightIcon);
            }

            if (__looksEnabled)
            {
                catalogCssInfo.SetLook(catalogMenuItem);
                leftIconInfo.SetLeftLook(catalogMenuItem);
                rightIconInfo.SetRightLook(catalogMenuItem);
            }

            DbContentCatalogCollection childCatalogs = catalog.GetCatalogs();;

            childCatalogs.Sort(ContentCompareKey.SortOrder);

            foreach (DbContentCatalog childCatalog in childCatalogs)
            {
                addCatalogToMenu(catalogMenuItem.Items, childCatalog);
            }

            addClipsToMenu(catalogMenuItem.Items, catalog, clips);
        }