Отобразить изображение из темы внутри Orchard
Я только что собрал Orchard для создания своего блога. В рамках моих усилий по созданию этого нового веб-журнала я создаю настраиваемую тему. Эта настраиваемая тема включает как CSS, так и изображения.
Мой вопрос
Мой вопрос в основном сводится к следующему: как сделать изображение, которое является частью темы?
Что я пробовал до сих пор
Я попытался использовать следующее:
<img src="@Html.ThemePath("/Content/Header.jpg")" alt="Logo"/>
Но это не работает. Он возвращает следующую разметку HTML:
<img src="~/Themes/FizzyLogic/Content/Header.jpg" alt="Logo"/>
Это не совсем то, что нужно вернуть. Я ожидал, что он вернет абсолютный путь к изображению внутри моего сайта.
Ответы
Ответ 1
Существует несколько способов достижения этого. Лучший способ - передать URL-адрес Url.Content(...) вспомогательному методу, например:
<img src="@Url.Content(Html.ThemePath(WorkContext.CurrentTheme, "/Content/Header.jpg"))" />
который отобразит правильный путь к вашему контенту. Вы также можете просто удалить ведущую тильду (~), такую как Html.ThemePath(WorkContext.CurrentTheme, "/Content/Header.jpg" ).Skip(1), которая предоставит вам путь относительно корня приложения, но это не очень хорошее решение.
Ответ 2
Конечно, вы могли бы использовать помощник Html.Image.
@Html.Image(Html.ThemePath(WorkContext.CurrentTheme,"/Content/Header.jpg"), "Alt Text", null)
Благодарим вас за это - просто подберите Orchard.