「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み 【解決済み】
「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み 【解決済み】
-----
ご利用のサーバ:heteml
Webサーバのバージョン :Apache 2.0.xx
PHPのバージョン : PHP5.3
データベースのバージョン :MySQL5
MODXのバージョン :1.0.9J
ブラウザ :IE9
-----
お世話になります。
テンプレート変数のカスタムウィジットを使用し、「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み、添付画像にあるような形を試してみたのですが、dittoで出力すると、パラメータ値にある[+ボタンのURL+]が利きません。
この様な形式をdittoで出力するのは、無理なのでしょうか。
よろしくお願い致します。
ご利用のサーバ:heteml
Webサーバのバージョン :Apache 2.0.xx
PHPのバージョン : PHP5.3
データベースのバージョン :MySQL5
MODXのバージョン :1.0.9J
ブラウザ :IE9
-----
お世話になります。
テンプレート変数のカスタムウィジットを使用し、「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み、添付画像にあるような形を試してみたのですが、dittoで出力すると、パラメータ値にある[+ボタンのURL+]が利きません。
この様な形式をdittoで出力するのは、無理なのでしょうか。
よろしくお願い致します。
Re: 「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み
たとえば「ボタン」という名前のPHxモディファイアを作ってDittoのテンプレート側で[+id:ボタン+]という形で呼び出すと可能です。
モディファイアの中では
$doc = $modx->getTemplateVarOutput('*',$output);
このように書くと該当リソースの情報を取得できるので、
if(empty($doc['ボタン名'])) なら何もせずにreturn;で、値があればボタン名とボタンのURLを組み合わせて出力・・・という感じで数行程度で書けると思います。
PHPの読み書きができないと難しいですが、考え方としてはこんな感じです。
モディファイアの中では
$doc = $modx->getTemplateVarOutput('*',$output);
このように書くと該当リソースの情報を取得できるので、
if(empty($doc['ボタン名'])) なら何もせずにreturn;で、値があればボタン名とボタンのURLを組み合わせて出力・・・という感じで数行程度で書けると思います。
PHPの読み書きができないと難しいですが、考え方としてはこんな感じです。
Re: 「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み
Yama様
いつもありがとうございます。
PHxでこの様な事が出来るのですね。。
何とかやってみます。
ありがとうございました。
いつもありがとうございます。
PHxでこの様な事が出来るのですね。。
何とかやってみます。
ありがとうございました。
Re: 「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み
http://mng.demo.modx.jp/pack_list/Evolu ... x109j.html
こちらでサイトのサンプル作っていただけたらモディファイア作ってみますよ。
こちらでサイトのサンプル作っていただけたらモディファイア作ってみますよ。
Re: 「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み
Yama様
やさしいお気づかい、本当にありがとうございます。
甘えさせていただきます。
入れ込んだデータを記します。
****************************************************
■ホーム
データ側(16)
出力ページ(17)
■テンプレート変数
ボタンのURL(2)
ボタン名(3)
■チャンク
テンプレートチャンク(2)
****************************************************
やりたい事
データ側(16)のテンプレート変数(ボタン名)が空白の場合
↓↓↓
出力ページ(17)で、ボタン名はもちろん、divの囲いも全部なくしたい。
http://130414170507-11374.evo.demo.modx.jp/manager/
どうかよろしくお願い致します。
やさしいお気づかい、本当にありがとうございます。
甘えさせていただきます。
入れ込んだデータを記します。
****************************************************
■ホーム
データ側(16)
出力ページ(17)
■テンプレート変数
ボタンのURL(2)
ボタン名(3)
■チャンク
テンプレートチャンク(2)
****************************************************
やりたい事
データ側(16)のテンプレート変数(ボタン名)が空白の場合
↓↓↓
出力ページ(17)で、ボタン名はもちろん、divの囲いも全部なくしたい。
http://130414170507-11374.evo.demo.modx.jp/manager/
どうかよろしくお願い致します。
Re: 「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み
コード: 全て選択
<?php
$tv = $modx->getTemplateVarOutput('*',$output);
if(empty($tv['ボタン名'])|| empty($tv['ボタンのURL'])) return;
return '<div style="width:100px; height:20px; background-color:#CCC; text-align:center; border-style:solid;"><a href="' . $tv['ボタンのURL'] . '" target="_blank">' . $tv['ボタン名'] . '</a></div>';
?>
Re: 「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み
Yama様
本当に、何とお礼を申し上げれば良いか…
早速、自分のサイトに導入してみました。
完ぺきに作動しました。ありがとうございます。
本当に勉強になります。
実際には、チャンク「ページの雛型」というテンプレートを設けて、後々、大量のページのデザインを一気に変更する事が出来るようにしようと考えております。
触ったファイル
**************************************
出力ページ (17)
■チャンク
ページの雛型(3)
**************************************
エラーが出てしまいます。
この様な運用は、難しいでしょうか。
何度もすみません。
本当に、何とお礼を申し上げれば良いか…
早速、自分のサイトに導入してみました。
完ぺきに作動しました。ありがとうございます。
本当に勉強になります。
実際には、チャンク「ページの雛型」というテンプレートを設けて、後々、大量のページのデザインを一気に変更する事が出来るようにしようと考えております。
触ったファイル
**************************************
出力ページ (17)
■チャンク
ページの雛型(3)
**************************************
エラーが出てしまいます。
この様な運用は、難しいでしょうか。
何度もすみません。
Re: 「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み
コード: 全て選択
<?php
$tv = $modx->getTemplateVarOutput('*',$output);
if(empty($tv['ボタン名'])|| empty($tv['ボタンのURL'])) return;
$tpl = $modx->getChunk('ページの雛型');
return $modx->parsePlaceholder($tpl,$tv);
?>
コード: 全て選択
[[Ditto? &tpl='@CODE:[+id:ボタン+]' &documents=16]]
コード: 全て選択
<!--ページの装飾-->
<div style="width:100px; height:20px; background-color:#CCC; text-align:center; border-style:solid;">
<a href="[+ボタンのURL+]" target="_blank">[+ボタン名+]</a>
</div>
<!--ページの装飾-->
Re: 「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み
Yama様
いつもお世話になっております。
私の為に、プログラムありがとうございました。
早速、
チャンク「ページの雛型(3)」
にボタン以外の装飾を入れてみました所、ボタンが消える状況(ボタン名を空白にする)にすると、ボタン以外の部分も消えてしまいます。
この辺りは、やはり厳しいでしょうか。。
何度もすみません。。
++++++++++++++++++++++++++++++++++
<!--ページの装飾-->
test(ボタンが表示されない状況になるとこれらも表示されなくなってしまいます)
<div style="width:100px; height:20px; background-color:#CCC; text-align:center; border-style:solid;">
<a href="[+ボタンのURL+]" target="_blank">[+ボタン名+]</a>
</div>
<!--ページの装飾-->
++++++++++++++++++++++++++++++++++
いつもお世話になっております。
私の為に、プログラムありがとうございました。
早速、
チャンク「ページの雛型(3)」
にボタン以外の装飾を入れてみました所、ボタンが消える状況(ボタン名を空白にする)にすると、ボタン以外の部分も消えてしまいます。
この辺りは、やはり厳しいでしょうか。。
何度もすみません。。
++++++++++++++++++++++++++++++++++
<!--ページの装飾-->
test(ボタンが表示されない状況になるとこれらも表示されなくなってしまいます)
<div style="width:100px; height:20px; background-color:#CCC; text-align:center; border-style:solid;">
<a href="[+ボタンのURL+]" target="_blank">[+ボタン名+]</a>
</div>
<!--ページの装飾-->
++++++++++++++++++++++++++++++++++
Re: 「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み
この部分はパターン出力を行なうのでしょうか?そうでなければスニペットコールの外側に書くとよいですが、パターン出力を行なう場合はモディファイア内部で出し分けを行なうとよいと思います。
たとえば、ボタン名の入力値が空白でなければAを、空白ならBを出力。という感じですね。
たとえば、ボタン名の入力値が空白でなければAを、空白ならBを出力。という感じですね。
Re: 「テンプレート変数が空欄の場合、ボタンを出さない」という仕組み
Yama様
お世話になっております。
手こずらせてしまい申し訳ございません。
私が相談させて戴く前の状況を再現しました。
中の構造を見てもらいますと、むりやり感イッパイなのですが、「ボタン名」を空にしますと、ボタンの枠等が無くなります。かつ、チャンク「ページの雛型」の内容も消えません。
しかし、問題がございます。。
これらを動かすには以下のファイルを使用します
******************************************************
データ側 (16)
出力ページnew (18)
■チャンク
ページの雛型new(5)
前new(6)
後new(7)
******************************************************
なかでも見て戴きたいのはチャンク「ページの雛型new」で、
================================================================
装飾装飾…
<br>
[+ボタン名:ifempty=``+]
<!--このコメント部分を消すと、とたんに表示がおかしくなり動かなくなります。意味が不明なのですが。。
<div style="width:100px; height:20px; background-color:#CCC; text-align:center; border-style:solid;"><a href="[+ボタンのURL+]" target="_blank">[+ボタン名+]</a></div>
-->
================================================================
私の偶然出来上がった、めちゃくちゃなコードが、たまたま動くという状態で、このまま結構大きいサイトを運営していくのは、非常に不安になりまして、今回、相談させていただきました。
Yama様、複雑な相談を持ちかけ、申し訳なく思っております。
お世話になっております。
手こずらせてしまい申し訳ございません。
私が相談させて戴く前の状況を再現しました。
中の構造を見てもらいますと、むりやり感イッパイなのですが、「ボタン名」を空にしますと、ボタンの枠等が無くなります。かつ、チャンク「ページの雛型」の内容も消えません。
しかし、問題がございます。。
これらを動かすには以下のファイルを使用します
******************************************************
データ側 (16)
出力ページnew (18)
■チャンク
ページの雛型new(5)
前new(6)
後new(7)
******************************************************
なかでも見て戴きたいのはチャンク「ページの雛型new」で、
================================================================
装飾装飾…
<br>
[+ボタン名:ifempty=``+]
<!--このコメント部分を消すと、とたんに表示がおかしくなり動かなくなります。意味が不明なのですが。。
<div style="width:100px; height:20px; background-color:#CCC; text-align:center; border-style:solid;"><a href="[+ボタンのURL+]" target="_blank">[+ボタン名+]</a></div>
-->
================================================================
私の偶然出来上がった、めちゃくちゃなコードが、たまたま動くという状態で、このまま結構大きいサイトを運営していくのは、非常に不安になりまして、今回、相談させていただきました。
Yama様、複雑な相談を持ちかけ、申し訳なく思っております。