2010-06-25 3 views

ответ

1

Ответ выше на самом деле правильно. Мне кажется, что даже если шаблон XML содержит ссылку кожи кожа не будет видна, когда новая страница создается с помощью шаблона

<skinsrc>[G]Skins/Corporate/agr-feed-detail.ascx</skinsrc> 

Я надеюсь, что кто-то есть решение этой проблемы, или могут подтвердите этот вопрос

1

Я могу это подтвердить - я не понял, как получить шаблон, чтобы на самом деле использовать ссылочный скин. Это немного неряшливо, чтобы создать страницу с шаблоном, а затем нужно войти и закончить ее.

Ничего другого, если вы сами создаете XML или создаете шаблон с помощью экспорта.

1

Если у вас есть смотреть на декомпилируемой исходный код DotNetNuke.Web.UI и искать метод RibbonBarManager.SaveTabInfoObject, вы поймете, почему ...

По существу, когда вы выбираете шаблон в качестве основы для страницы, единственной информацией, которую наследует новая страница, являются данные Панели (т.е. модули, настроенные в шаблоне).

Как видно здесь ...

xmlDocument.Load(templateMapPath); 
TabController.DeserializePanes(xmlDocument.SelectSingleNode("//portal/tabs/tab/panes"), tab.PortalID, tab.TabID, PortalTemplateModuleAction.Ignore, new Hashtable()); 

Да, неаккуратно, раздражает, неполно ... очень dotnetnukey и ТВН, что я ожидаю от своего кода на самом деле. Не поклонник.

+0

быстрый хак, чтобы обойти это будет выглядеть следующим образом: в AddPage.ascx.vb в cmdAddPage_Click событий, изменение ... TemplateFile = System.IO.Path.Combine (PortalSettings.HomeDirectoryMapPath, «Шаблоны \»+ TemplateLst.SelectedValue) к ... TemplateFile = System.IO.Path.Combine (PortalSettings.HomeDirectoryMapPath, "шаблоны \" + TemplateLst.SelectedValue) Dim XDoc Как XDocument = XDocument.Load (TemplateFile) Если нет (xdoc is Nothing), то newTab.SkinSrc = (От doc В xdoc. Потомки ("вкладка") _ Выберите doc.Element ("skinsrc"). Значение) .FirstOrDefault() End If – Dan

Смежные вопросы