CMS Designer を試用中の初心者です。
更新日を元に月別のバックナンバーを作ってみたいと思っています。
ブログでよくあるようなタイプのものです。
フォーラムを読みながら試してみたのですが
うまく実現できないので、ご教授いただければ幸いです。
一番近い考え方は
http://cms.al-design.jp/phpbb/viewtopic.php?t=714
の記事にあるようなことだと思います。
前の年月を変数に取っておいて
比較するという処理でいいのかとは思うのですが
一度設定した変数にもう一度値を代入するようなことができないようで
初期値を設定して、ループ内で前の年をセットしようとすると
以下のようなエラーになってしまいます。
Warning: Sablotron error on line 87: conflicting variable bindings 'saveyear' in
また、初期値なしで、ループさせようとしても
変数がありませんよ、というメッセージが出てしまうようで
どう処理してよいものか模索しています。
Warning: Sablotron error on line 24: variable 'saveyear' not found in
ソースコードは以下のようなもので実験中です。
コード: 全て選択
<!--初期値をセット(年月としてありえないものを初期値として一回目の値と比較する)-->
<xsl:variable name="saveyear" select="9999" />
<xsl:variable name="savemonth" select="99" />
<!--バックナンバー表示開始-->
<xsl:for-each select="entry">
<xsl:if test="$saveyear!=@year">
<xsl:value-of select="@year" />
<xsl:if test="$savemonth!=@month">
<xsl:value-of select="@month" />
</xsl:if>
</xsl:if>
<xsl:variable name="saveyear" select="@year" />
<xsl:variable name="savemonth" select="@month" />
</xsl:for-each>
よろしくお願いいたします。