Exemplo n.º 1
0
        private Task OnPreCompile(ISite site)
        {
            m_Site        = site;
            m_SearchIndex = new List <PageSearchData>();

            AssetsHelper.AddAssetsFromZip(Resources.tipue_search, site.MainPage);

            var data = new PluginMetadata();

            data.Add(SITEMAP_PARAM, false);
            data.Add(SEARCH_PARAM, false);
            data.Add(TITLE_PARAM, m_Setts.SearchPageTitle);

            var content = Resources.search;

            ITemplate layout = null;

            if (!string.IsNullOrEmpty(m_Setts.SearchPageLayout))
            {
                layout = site.Layouts.FirstOrDefault(t => string.Equals(t.Name, m_Setts.SearchPageLayout));

                if (layout == null)
                {
                    throw new NullReferenceException($"Specified layout: {m_Setts.SearchPageLayout} for search page cannot be found");
                }
            }
            else
            {
                content = string.Format(Resources.default_search_template, Resources.tipue_search_box + content);
            }

            m_Site.MainPage.SubPages.Add(new PluginPage(SEARCH_PAGE_NAME, content,
                                                        Guid.NewGuid().ToString(), data, layout));

            return(Task.CompletedTask);
        }