新着情報からのリンクについて

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
daisuke

新着情報からのリンクについて

投稿記事 by daisuke » 2005年6月29日(水) 20:30

はじめまして、CMS Designerをいろいろ試させていただいております。

新着情報を表示するシステムを設定中です。
仕様的には、

1.更新内容の本文を表示
2.その本文に任意のリンクを設定
3.さらに、そのリンクを_blankなのか_selfなのかをプルダウンで選べる

というものを考えております。
本文、リンク先を通常のtextで設定し、_blank、_selfをmenuで選ぶというというスキーマを制作しました。
しかし、ここから迷っています。
試しに以下のようなデザイン定義をしてみたのですが、当然ながらダメでした(笑)

--------------------------------------------------
<span class="what-new-title">
<a href="

<xsl:value-of select="link" disable-output-escaping="yes" />" target="
<xsl:value-of select="link2" disable-output-escaping="yes" />">

<xsl:value-of select="body" disable-output-escaping="yes" />


</a></span></li>
--------------------------------------------------

このような仕様を実現する方法があるようでしたらご教授いただけませんでしょうか?
わかりにくい説明で申し訳ありませんが、よろしくお願い致します。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: 新着情報からのリンクについて

投稿記事 by webmaster » 2005年6月30日(木) 01:58

 webmasterです。daisukeさん、はじめまして。 :)

 おっしゃっているような仕組みですが、ほぼ考え方はばっちりかと思います。
 デザイン定義だけ、次のようにしてみてください。

コード: 全て選択

--------------------------------------------------
<span class="what-new-title">
<a href="{link}" target="{link2}">
<xsl:value-of select="body" disable-output-escaping="yes" />
</a></span>
--------------------------------------------------
 出力するHTMLタグの「属性値」としてエントリデータを埋め込みたい場合は、
上記のように項目名を{}で囲ってやればOKです。
 他に、xsl:attribute というタグを使うともっと細かい事もできるのですが、
これについてはご興味ありましたら調べてみてくださいませ。
 (ここでご質問くださってもOKです)

 とりあえず今回の目的には上記の方法で充分可能かと思います。

 それにしても、面白い活用方法ですね!
 うまく行くことを願っております。もし何か問題発生しましたら、またご質問
頂ければと思います。

Daisuke

ご回答ありがとうございます。

投稿記事 by Daisuke » 2005年6月30日(木) 16:14

有り難うございます。おかげ様でばっちりできました。
CMS Designerには大変期待しております。もう少しテストを重ねて、実際にクライアントに提案できるようになりたいと思っています。
いろいろと質問させて頂くかもしれませんが、よろしくお願いします。

xsl:attributeというのは、XMLのタグでしょうか?
このような分野は知識がないもので。。
リンク先の設定がない場合は<a href="..>のタグ自体を非表示にする等といった処理もそのタグで実現可能なのでしょうか?
リファレンスの「5.5.6 データ値の内容によって処理を変える」という項目でもできるかなぁと思っているのですが。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: ご回答ありがとうございます。

投稿記事 by webmaster » 2005年6月30日(木) 17:31

 webmasterです。
 Daisukeさんご報告ありがとうございます。m(_ _)m
Daisuke さんが書きました: xsl:attributeというのは、XMLのタグでしょうか?
このような分野は知識がないもので。。
リンク先の設定がない場合は<a href="..>のタグ自体を非表示にする等といった処理もそのタグで実現可能なのでしょうか?
リファレンスの「5.5.6 データ値の内容によって処理を変える」という項目でもできるかなぁと思っているのですが。
 xsl:attributeは、XSLT、つまりCMSDで言うところのデザイン定義の命令タグ
です。

コード: 全て選択

  <a>
      <xsl:attribute name="href">
          <xsl:value-of select="link" />
      </xsl:attribute>
      <xsl:attribute name="target">
          <xsl:value-of select="link2" />
      </xsl:attribute>
  </a>
 この例は、前回のサンプルと同等の処理を行います。
 単に属性値にエントリデータを埋め込むだけなら、前回の{}の方がラクです。
 エントリデータを加工したり、条件によって埋め込む内容を変えたりする場合には
この方法が使えるかと思います。

 ご興味がありましたら、ネットや本などで調べてみてくださいませ。
 XSLTは、凝ろうと思えばいろんな事ができますので、またいろいろご質問
くださいませ。

 「リンク先の設定がない場合は・・・」については、おっしゃる通りリファレンス5.5.6
章がお役に立つかと思います。

Daisuke

ありがとうございます。

投稿記事 by Daisuke » 2005年6月30日(木) 19:25

なるほど。サンプルのソースはなんとなく理解できました。
XSLTというのも、今いろいろ調べています。

早くこなせるようになりたいものです。
今回はいろいろとお世話になりました。:o

返信