Подтвердить что ты не робот

Отобразить изображение из темы внутри Orchard

Я только что собрал Orchard для создания своего блога. В рамках моих усилий по созданию этого нового веб-журнала я создаю настраиваемую тему. Эта настраиваемая тема включает как CSS, так и изображения.

Мой вопрос

Мой вопрос в основном сводится к следующему: как сделать изображение, которое является частью темы?

Что я пробовал до сих пор

Я попытался использовать следующее:

<img src="@Html.ThemePath("/Content/Header.jpg")" alt="Logo"/>

Но это не работает. Он возвращает следующую разметку HTML:

<img src="~/Themes/FizzyLogic/Content/Header.jpg" alt="Logo"/>

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

4b9b3361

Ответ 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.