Smartyテンプレートへの埋め込み

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
ta
記事: 6
登録日時: 2006年7月28日(金) 18:53

Smartyテンプレートへの埋め込み

投稿記事 by ta » 2007年7月13日(金) 14:29

こんにちは、Smartyを使ったメールフォームにcmsdで登録した情報を表示したいのですがうまくいきません。

登録した商品名をセレクトボックスで表示させて選択してもらうようにするのに

--デザイン定義--
<select name="dltitle">
<option>選択して下さい</option>
<option value="{@id}"><xsl:value-of select="title"/></option>
</select>

のデザイン定義をつくり、test.phpに埋め込んでこれをSmartyのテンプレート、××.tplにインクルードさせようとしたのですが表示されません。
test.phpに直接アクセスすると表示はできています。

何かよい方法がありましたらアドバイスをいただけると助かります。
よろしくお願いします。

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

Re: Smartyテンプレートへの埋め込み

投稿記事 by webmaster » 2007年7月13日(金) 15:17

 taさん、ご質問ありがとうございます。

 Smartyとの連携についてですが、何かエラーメッセージ等は表示されて
いませんでしょうか。
 もしくは、ブラウザ上では何も表示されていないが、ブラウザからソースを
開くとcmsdタグが表示されていたり、ということはございませんでしょうか。

 Smartyの仕様については詳しくないのですが、cmsdもテンプレートエンジン
の一種である為、同じページ上で共存させるのは難しいかもしれません。

 可能性があるとすれば、smartyで構築したページ(仮にsmtest.phpとします)上で、次のようにします。

コード: 全て選択

<?php
  require( "cmsdesigner/include/view.php.inc" );
  require_once('Smarty/Smarty.class.php');

  $smarty = new Smarty;
 
  // assignの呼び出し
  // (省略)
 
  $smarty->display('test.tpl');

  cmsd_end_template();
?>
 test.tplの中では、普通にcmsd:entryやcmsd:entrylistタグ等を置いて下さい。
 test.tplは極力シンプルな構成で試して頂くと、問題が生じにくいと思います。

 これでうまく行かないようでしたら、おそらくSmarty内部とcmsd内部での
なんらかの処理がバッティングしていて、共存できないものと思われます。

 以上、またご連絡いただければ幸いです。

ta
記事: 6
登録日時: 2006年7月28日(金) 18:53

上手くいきいました。

投稿記事 by ta » 2007年7月13日(金) 15:38

上記方法でトライしたら上手くいきました。
ありがとうございます。

インクルードさせなくても大丈夫なのですね。
本当にありがとうございます。

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

Re: 上手くいきいました。

投稿記事 by webmaster » 2007年7月14日(土) 12:04

 taさん、ご報告ありがとうございます。

 うまくいったとのことで、ちょっと驚いています。
 他のテンプレートエンジンとの親和性については期待しておりませんでしたので…。

 Smartyとの連携が可能となると、可能性が広がりますね。

 大変貴重な情報をありがとうございました。m(__)m

返信