テンプレート変数のimageに登録した画像の表示について

質問全般・改善要望
返信する
9ma
メンバー
メンバー
記事: 3
登録日時: 2010年9月09日(木) 21:07

テンプレート変数のimageに登録した画像の表示について

投稿記事 by 9ma »

初めまして、9maです。
MODxをいじり始めたばかりでわからないことだらけで勉強中です。
よろしければお教え頂ければと思います。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

テンプレート変数のimageを
変数名 [*Image01*] で作成し、
実際に画像を登録しました。

この登録した画像を表示させるのに、
[*Image01*]を指定すると画像は表示されます。

HTMLのソースには、
<img src="イメージへのパス" align="none" />
と勝手に表示されてしまいます。

実は、イメージの表示ではなく、
「Image01」で登録したイメージへのリンク

<a href="イメージへのパス">XXXXXX</a>

を作成したいと考えているのですが、
そういった事は可能なのでしょうか?

よろしくお願いいたします。
sama55
メンバー
メンバー
記事: 816
登録日時: 2009年8月03日(月) 08:16

Re: テンプレート変数のimageに登録した画像の表示について

投稿記事 by sama55 »

もっと簡単な方法があるかもしれませんが、簡単なスニペットを自作してMODxAPIを呼び出せば取れます。
下記は、テンプレート変数名="img"と仮定。

呼び出し元)

コード: 全て選択

<a href="[[getTemplateValue? &idname=`img`&fname=`value`]]">XXXXXX</a>
スニペット) ※getTemplateVar APIを使う場合
スニペット名: getTemplateValue
コード:

コード: 全て選択

<?php
// $idname: テンプレート変数名
// $fname : 返したいフィールド名
$out = $modx->getTemplateVar($idname);
//var_dump($out);
return $out[$fname];
?>
スニペット) ※getTemplateVars APIを使う場合
スニペット名: getTemplateValue
コード:

コード: 全て選択

<?php
// $idname: テンプレート変数名
// $fname : 返したいフィールド名
$out = $modx->getTemplateVars(array($idname));
//var_dump($out);
return $out[0][$fname];
?>
mune3001
メンバー
メンバー
記事: 63
登録日時: 2010年5月08日(土) 16:58

Re: テンプレート変数のimageに登録した画像の表示について

投稿記事 by mune3001 »

ずれてるかも知れませんが・・・
ウィジェットにimageが入ってませんか?

入力タイプ: image
ウィジェットは空白で

<a href="[*Image01*]">XXXXXX</a>

これでいけるはずです
sama55
メンバー
メンバー
記事: 816
登録日時: 2009年8月03日(月) 08:16

Re: テンプレート変数のimageに登録した画像の表示について

投稿記事 by sama55 »

mune3001 さんが書きました:ウィジェットにimageが入ってませんか?
アタリでした。 自分は以前作ったテンプレ変数を使って再現テストしたのが失敗(やらかしました ^^;)。
9maさんも同じですかね・・・  :roll:
9ma
メンバー
メンバー
記事: 3
登録日時: 2010年9月09日(木) 21:07

Re: テンプレート変数のimageに登録した画像の表示について

投稿記事 by 9ma »

ご回答頂き誠にありがとうございました。

>sama55 さん
教えて頂いた内容を利用させていただき、
無事問題が解決いたしました。

>mune3001 さん
まさかまさかのそんな簡単な事で 、
パスだけにできるとは知りませんでした。
こちらでも問題解決したしました。


本当にありがとうございます。


実現したかった事は、
テンプレート変数のIMAGEに登録した画像を、
LIGHTBOXを使って拡大写真を見せようと言う物でした。
サムネイル画像は単純にCSSでサイズを縮小表示し、
クリックすると拡大(登録画像にサイズ)サイズで見れるというものです。


また、色々とご質問させて頂く事があるかと思いますが、
よろしくお願い致します。
soushi
管理人
記事: 224
登録日時: 2009年7月30日(木) 01:59

Re: テンプレート変数のimageに登録した画像の表示について

投稿記事 by soushi »

soushiです。

すでに解決しているようですが、別解を連絡します。
こちらはテンプレート変数を2つ利用します。

[1つめ]
変数名:ImgText
入力タイプ:Text
既定値:XXXXXX
ウィジェット:(空白)

[2つめ]
変数名:Img
入力タイプ:Image
既定値:(空白)
ウィジェット:Hyperlink
Display Text:[*ImgText*]
※Display TextはウィジェットでHyperlinkを選ぶと出てきます。

リソースの中で画像のリンクを表示したいところで

[*Img*]

と書きます。

テンプレート変数のImgTextは「<a href="画像パス">XXXXXX</a>」のXXXXXXをリソースごとに自由に書けるようになります。
XXXXXXは固定で構わないのでしたらDisplay Textに「XXXXXX」を指定していればOKです(1つ目のテンプレート変数は不要になります)。
この書き方の利点はテンプレート変数のImgで画像のパスを設定しなかったら、Aタグも含めて何も表示しない点です。
9ma
メンバー
メンバー
記事: 3
登録日時: 2010年9月09日(木) 21:07

Re: テンプレート変数のimageに登録した画像の表示について

投稿記事 by 9ma »

> soushiさん

ありがとうございます。
ウィジェットについて、MODx本でもそんなに深くふれられおらず、
調べても良く解らない状況でいままでスルー状態でした。

ウィジェットについては、
入力タイプ:Imageなら、ウィジェット:Imageを選択しないと
いけないと勝手に思い込んでいました。


こういったフォーラムに書き込むのが初めてなので、
みなさんに色々教えて頂ける事で
世界が広がり非常に有り難いです。

今後ともよろしくお願い致します。
返信する