Orchard CMS Добавление ссылок в виджет HTML - PullRequest
4 голосов
/ 05 августа 2011

Я пытаюсь добавить ссылки на страницы в виджете HTML.

В настоящее время я использую фруктовый сад как виртуальный каталог, поэтому я не могу использовать '/'.Кроме того, поскольку я работаю над сайтом разработчика, а затем копирую его на работающий сайт, я не уверен, будет ли сайт работать в качестве виртуального каталога или из корня.все ссылки, введенные через виджет HTML, будут иметь проблемы, поскольку вы не можете использовать '~', также похоже, что ссылки на изображения фиксированы, поэтому развертывание в другом месте не будет работать, т.е.от localhost \ dev до localhost \ live

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 06 августа 2011

Если вы вводите его из редактора html, у вас нет другого выбора, кроме как использовать корневой путь (/ foo).Конечно, это может вызвать проблемы, если вы потом публикуете с vdir на сайт без vdir, но сейчас это так.Мы ищем решения, но в то же время вам лучше всего иметь сайт разработчика, максимально приближенный к производственной установке.

2 голосов
/ 15 ноября 2011

Как указывает randompete для кодового комплекса , другим решением может быть реализация собственного IHtmlFilter. Я написал простую реализацию, которую вы можете найти здесь: http://orchard.codeplex.com/discussions/279418 Он в основном постобрабатывает текст BodyPart, заменяя все вхождения URL, начинающиеся с ~ /, с разрешенным URL (используя метод UrlHelper.Content ())

1 голос
/ 05 августа 2011

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

@Html.Link(string textlink, string url) 

Но Html.Link не поддерживает URL-адреса родственников приложений (~ / [...])

если вам нужен только href (как для img). Он поддерживает ~ / URL.

src='@Href(string url)'

Если вам нужно отобразить ссылку на действие

 @Html.ActionLink(...) <-- lots of overloads.
...