0

私はumbracoでウェブサイトを作っています。これで私はイメージusing umbraco.library.getMediaメソッドをレンダリングしています。ここで、umbraco の非常に奇妙な動作に直面しています。画像がレンダリングされる場合とレンダリングされない場合があります。xslt を分析したところgetMedia(nodeid,0)/umbracoFile、空の画像 src を取得しても何も返されないことがわかりました。ノードを公開するか、umbraco のどこかで作業してからサイトを公開すると、レンダリングされた画像が見つかる場合があります。画像がランダムに現れたり消えたりすることを意味します。それは私を完全に困惑させています、どこが悪いのですか。私を助けてください。

画像のレンダリングに使用されるコードを投稿しています

<xsl:variable name="img1" select="umbraco.library:GetMedia($slideImg,'false')/umbracoFile" />
<xsl:variable name="img2" select="umbraco.library:GetMedia($slideImg,0)/umbracoFile" />

<xsl:choose>
        <xsl:when test="$img1!= ''">
                                <img src="{$img1}" alt="" style="display: block;"
                                title="{umbraco.library:GetXmlNodeById(@id)/imageTitle}" description="{umbraco.library:GetXmlNodeById(@id)/description}"/> 
                            </xsl:when>
                            <xsl:otherwise>


                                <img src="{$img2}" alt="" style="display: block;"
                                title="{umbraco.library:GetXmlNodeById(@id)/imageTitle}" description="{umbraco.library:GetXmlNodeById(@id)/description}"/> 

                            </xsl:otherwise>
                        </xsl:choose>
4

1 に答える 1

0

私が理解していることから、画像を表示しようとしていますが、上記のコードを使用して毎回画像を表示していません。

上記のコードを複製して以下に改良しました。最初に currentPage 変数を使用して、値を最後に固定して、slideImg が true に等しいかどうかを確認し、true の場合は以下のコードに進みます。次に、使用可能な画像がない限り変数を中断する必要がないため、if ステートメントで変数を作成しました。変数でメディア ファイル slideImg を取得し、/umbracofile を変数の末尾に固定して、この画像を img src に表示しました。これにより、画像パスが引き出されます。

<xsl:if test="$currentPage/slideImg != 0">
  <xsl:variable name="img1" select="umbraco.library:GetMedia($currentPage/slideImg, 0)" />

    <img src="{$img1/umbracoFile}" alt="{$img1/@nodeName}" />

</xsl:if>

これで問題が解決することを願っています。これがあまり意味をなさない場合はお詫びします。私はフォーラムの初心者です。

于 2013-06-25T17:52:21.170 に答える