2012-01-19 14 views
0

私はUmbracoサイトを始めています。私のページの1つに画像を読み込む際に重大な問題があります。Umbracoがコードを表示する前にコードを実行していません

私は新しいテンプレートと、私は次のように挿入されたコードのいずれかのセクションを作成しました:

<a href="{umbraco.library:NiceUrl($currentPage/../@id)}">" 
<xsl:value-of select="$currentPage/../@nodeName" /> 
</a> 

私はそれが結果はまったく同じ表示するブラウザでの結果を見ると、それは以前に実行されません。レンダリング。私は、ブラウザの「ソースを表示」を見たとき、すなわち、私はこれを参照してください。

<a href="{umbraco.library:NiceUrl($currentPage/../@id)}"> 
<xsl:value-of select="$currentPage/../@nodeName" /> 
</a> 

紛らわしい部分は、私は次のことを実行したときにということである。

<img src='<umbraco:Item field="articlePhoto" runat="server"></umbraco:Item>' /> 

それは実際にこのタグを生成します。

<img src="~/media/554/bath.png"> 

私がしようとしている主なことは、画像タグに動的なフィールド/ URLを読み込むことです。

ご協力いただければ幸いです。

おかげ

答えて

1

は、私はあなたが実際には二つの問題ここでは、それらがリンクされていないことを持っていると仮定しています。


最初の問題:コードは、あなたがテンプレート内に直接XSLTコードを実行しようとしている

を実行していません。テンプレートは、ASPXページ(HTML、サーバーコントロール、Umbracoコントロールなど)で通常見られるものだけを受け入れ、XSLT構造を解析せず、あなたの質問に例示されているようにソースに直接出力します。

開発者セクションでXSLTファイルを作成する必要があります。関連するマクロは通常、XSLTとともに自動的に作成されます。次に、マクロをテンプレートにインポートするだけです。

テンプレートスニペット:

<umbraco:Macro Alias="MyMacro" runat="server" /> 

XSLTスニペット:

<a href="{umbraco.library:NiceUrl($currentPage/../@id)}"> 
    <xsl:value-of select="$currentPage/../@nodeName" /> 
</a> 


セカンド問題:画像がそれはあなたのコードがあるとしてUmbracoは~シンボルをpreprendingれる奇妙な

が表示されません確かに正しい(私のUmbraco-Vで動いているersion 4.7.1)。回避策として、XSLTファイルを作成し、次のXSLTコードを使用してみてください。少なくともXSLTでは、ページが複雑になるにつれて必要となるコーディングロジックを組み込むことができます。

XSLTスニペット:

<xsl:if test="$currentPage/articlePhoto != ''"> 
    <img src="{$currentPage/articlePhoto}" /> 
</xsl:if> 


お役に立てば幸いです。

+0

ありがとう、これは私の問題を解決し、xsltがどのように消費されたかをよりよく理解してくれました。 – Charl

関連する問題