Рендеринг изображения из темы в саду - PullRequest
13 голосов
/ 17 апреля 2011

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

Мой вопрос

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

То, что я пробовал до сих пор

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

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

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

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

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

Ответы [ 2 ]

25 голосов
/ 17 апреля 2011

Есть несколько способов достичь этого.Лучше всего было бы передать URL-адрес Url.Content (...) вспомогательным методом, подобным этому:

    <img src="@Url.Content(Html.ThemePath(WorkContext.CurrentTheme, "/Content/Header.jpg"))" />

, который отобразит правильный путь к вашему контенту.Вы также можете просто удалить ведущую тильду (~), например Html.ThemePath (WorkContext.CurrentTheme, "/Content/Header.jpg").Skip(1), которая даст вам путь относительноroot приложения, но это не очень хорошее решение.

3 голосов
/ 05 ноября 2012

Конечно, вы также можете использовать помощника Html.Image.

@Html.Image(Html.ThemePath(WorkContext.CurrentTheme,"/Content/Header.jpg"), "Alt Text", null)

Спасибо вам за это - просто забираете и Орчард.

...