UMBRACO:如何在模板上添加图像

时间:2017-11-14 11:35:32

标签: umbraco umbraco7

所以,我现在是Umbraco的新手,我正在关注umbraco.tv的一些教程视频。我已经创建了我的模板,目前正在使用它为我的网站设置主页。我的所有前端都正常工作并正常显示。

我的问题在于图像。我在我的网站上使用了大量图片,并尝试将其与内容相关联,因此可以轻松更改图片(不确定我是否有意义)。

Navigation bar image

如果您点击上面的链接,那就是我当前导航栏的外观。我希望能够使用Umbraco的媒体选择器来更改LOGO。但是,每次我这样做,它要么给我alt名称或运行时错误。

这是模板上图像的代码。

<img src="@Umbraco.Field("navigationLogo")" height="100" width="50" alt="Logo">

如果你能帮助我,我会很感激。我不确定我是否正确解释了它,所以请随时详细询问。谢谢!

编辑-----

我只是在浏览器上编码,因为它不允许我登录以在本地提取代码(仅在试用版本上,因为我只是测试它是否是一个好的CMS)。

不确定我是否正确行事所以我道歉。我写了这样的代码

@{
   var navigationLogo = @Umbraco.AssignedContent.Site().GetPropertyValue("navigationLogo");
   var navigationLogoMediaItem = @Umbraco.TypedMedia(navigationLogo);

   <img src="@navigationLogoMediaItem.Url" height="100" width="50" alt="Logo" />
 }

到目前为止,它给了我以下错误。

编译器错误消息:CS1061:&#39; Umbraco.Web.UmbracoHelper&#39;不包含&#39; AssignedContent&#39;的定义并且没有任何扩展方法&#39; AssignedContent&#39;接受第一个类型为'Umbraco.Web.UmbracoHelper&#39;可以找到(你错过了使用指令或汇编引用吗?

3 个答案:

答案 0 :(得分:1)

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
    Layout = "WebBase.cshtml";
    string navigationLogoMediaItem = "";
    if (Model.Content.HasValue("navigationLogo"))
    {
     navigationLogoMediaItem = Model.Content.GetPropertyValue<IPublishedContent>("navigationLogo").Url;

    }
}

<img src="@navigationLogoMediaItem" height="100" width="50" alt="Logo" />

你可以试试这个

Answer

答案 1 :(得分:0)

我要做一些假设,所以请在这里忍受。

假设1)在您的主节点上(假设文档类型为“home”),您在其上有一个名为“navigationLogo”的属性。 假设2)这是媒体选择器数据类型 假设3)您正在使用Umbraco 7.6或更新版本。 假设4)您没有使用模型构建器

因此,有些假设需要经过几个步骤。

1)获取导航徽标,无论您身在何处。

var navigationLogo = @Umbraco.AssignedContent.Site().GetPropertyValue("navigationLogo");

2)接下来,你需要得到媒体项目,因为我相信你在这个阶段只会有一个UDI。

var navigationLogoMediaItem = @Umbraco.TypedMedia(navigationLogo);

3)此时您需要进行空检查,但要获取徽标的网址,您只需要执行此操作:

<img src="@navigationLogoMediaItem.Url" height="100" width="50" alt="Logo" />

那应该能让你得到你想要的东西。 : - )

答案 2 :(得分:0)

您可以简单地试用此代码。

memberImage is your document type field name

@{
    var image = Umbraco.TypedMedia(@Umbraco.Field("memberImage").ToString());
    <img src="@image.Url" style="max-width:250px">
}