如何使用剃刀在Umbraco的图像文件夹中显示图像?

问题描述:

几乎所有关于如何使用图像库显示图像的例子都在xslt上,但是Umbraco 5.0不再支持xslt了。如何使用剃刀在Umbraco的图像文件夹中显示图像?

这里是什么,我需要在XSLT的例子:

<xsl:param name="currentPage"/> 

<xsl:template match="/"> 
     <xsl:variable name="image" select="macro/imageFolderAlias"/> 
    <xsl:variable name="mediaFolderID" select="number($currentPage/*[name() = $image])" /> 

    <xsl:if test="$mediaFolderID &gt; 0"> 
<ol> 
     <xsl:variable name="mediaNode" select="umbraco.library:GetMedia($mediaFolderID, 1)" /> 
    <xsl:for-each select="$mediaNode//Image [@nodeTypeAlias ='Image']">  

<li> 
<a> 
<xsl:attribute name="href"><xsl:value-of select="current()/umbracoFile"/></xsl:attribute> 
    <h4><xsl:value-of select="current()/altText"/></h4> 
<img > 
<xsl:attribute name="src"><xsl:value-of select="concat(substring(current()/umbracoFile, 0, string-length(current()/umbracoFile) - string-length(current()/umbracoExtension)), '_thumb.jpg')"/></xsl:attribute> 
<xsl:attribute name="alt"><xsl:value-of select="current()/altText"/></xsl:attribute> 

</img> 
</a> 
    </li> 
</xsl:for-each> 
</ol> 
    </xsl:if> 
</xsl:template> 

应该是什么在剃刀等价?

FYI:imageFolderAlias是一个参数。

感谢

我回答我的问题,因为是关于一把umbraco和XSLT剃刀转换资料太少。

这里的答案代码:

@using umbraco.cms.businesslogic.media; 
@using uComponents.Core; 
@using uComponents.Core.uQueryExtensions; 

@{ 
    var parameter = @Parameter.imageFolderAlias; 
    var folderId = Convert.ToInt32(@Model.GetProperty(@parameter).Value);  
    if (@folderId > 0) 
    { 
    Media startMedia = new Media(@folderId); 
    @: <ol> 
    var mediaNode = umbraco.library.GetMedia(folderId, true); 
    foreach(Media m in startMedia.GetChildMedia()) 
    { 
     string umbracoImageFileName = @m.getProperty("umbracoFile").Value.ToString(); 
     string umbracoImageExtension = @m.getProperty("umbracoExtension").Value.ToString(); 
     var thumnail = String.Concat(@umbracoImageFileName.Substring(0, (@umbracoImageFileName.Length - @umbracoImageExtension.Length - 1)),"_thumb.jpg");  
     @: <li> 
     @: <a href="@umbracoImageFileName"> 
     @: <h4> @m.getProperty("altText").Value </h4> 
     @: <img src="@thumnail" alt="@m.getProperty("altText").Value" /> 
     @: </a> 
     @: </li> 
    } 
    @: </ol> 
    } 
} 

你应该根据你的必需品适应它。

采取了一些代码HERE

+0

非常感谢!我几天来一直在努力完成这个简单的任务,如果我能够不止一次地投票,我会! – daddywoodland 2013-06-23 12:57:20