【发布时间】:2018-12-29 14:47:42
【问题描述】:
我已经接管了一个在 Umbraco 7.6.3 中构建的网站的管理工作,而构建该系统的公司使用了传统的 .Net MVC。这意味着 Umbraco 的大部分原生功能都丢失了。
我需要能够渲染使用 Media.Picker 选择的图像,但是我可以找到有关访问该对象的任何文档的唯一地方都要求我在 umbraco 中使用 @Model 以解析选择的图像。
如果我尝试通过继承来使用标准 Umbraco 模型
@inherits Umbraco.Web.Mvc.UmbracoViewPage
我收到以下错误:因为集成此系统的公司远远超出了 Umbraco 最佳实践,并为站点内的所有页面构建了自己的模型...
无法绑定源类型 ClassName.Web.ViewModels.Templates.HomeViewModel 到模型类型 Umbraco.Core.Models.IPublishedContent。
我正在使用部分视图构建页面的所需部分
有什么建议对我非常有用吗??!!!
在下面的代码中 - @ogimageId.ToString() 返回以下内容
[ Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedMediaCache+DictionaryPublishedContent ]
我不知道如何直接从这个对象获取 url,也不知道它的 ID,因此我可以使用它下面的方法从图像的 id 获取 url...
@using Umbraco.Web;
@using Umbraco.Web.Extensions;
@using ClientDependency.Core.Mvc;
@{
dynamic ogimageId = Umbraco.Field("ogimage", recursive: true);
<!-- ogimageUrl: @ogimageId.ToString() -->
string ogimage = Umbraco.Media(1143).umbracoFile.ToString();
}
<meta property="og:image" content="@ogimage" />
【问题讨论】:
标签: model umbraco media picker