こんにちわ。
今SMARTYの勉強をしており、色々サンプルスクリプトを動かしたりしているのですが、PHPからHTML_QuickFormを動かす分には全く問題ないのですが(http://pear.php.net/manual/en/package.html.html- …のサンプルスクリプトは動作します)、テンプレート上で使おうと思うと動きません。SMARTYはインストールされていますし、HTML_QuickForm_Renderer_ArraySmartyの存在も確認しました。どこか設定する箇所があるのでしょうか?PEARとSMARTYの連携について書かれている書籍やサイトも少なく、苦戦しております。アドバイスの程よろしくお願いいたします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>$form = new HTML_QuickForm();
>$form->addElement('text','name','Name');
>$renderer =& new HTML_QuickForm_Renderer_ArraySmarty($smarty);
>$form->accept($renderer);
>$smarty->assign('form',$renderer->toArray());
>$smarty = new Smarty();
>$smarty->display("2.tpl");
>?>
上記のプログラムでは、Smartyのインスタンス生成し、
HTML_QuickForm_Renderer_ArraySmartyに渡す
タイミングがおかしいのではないでしょうか?
$smarty = new Smarty();
HTML_QuickForm_Renderer_ArraySmarty($smarty);
$form->accept($renderer);
$smarty->assign('form',$renderer->toArray());
$smarty->display("2.tpl");
No.2
- 回答日時:
もう解決してると思いますが。
$renderer =& new HTML_QuickForm_Renderer_ArraySmarty($smarty);
の$smartyはSmartyのインスタンスなので
先にインスタンスを生成しておく必要があります。
require_once 'HTML/QuickForm.php';
require_once 'HTML/QuickForm/Renderer/ArraySmarty.php';
require_once 'Smarty.class.php';
$smarty = new Smarty();
$form = new HTML_QuickForm();
$form->addElement('text','name','Name');
$renderer =& new HTML_QuickForm_Renderer_ArraySmarty($smarty);
$form->accept($renderer);
$smarty->assign('form',$renderer->toArray());
$smarty->display("2.tpl");
No.1
- 回答日時:
どう動かないのか分かりませんが。
--- PHP ---
$form = new HTML_QuickForm();
$form->addElement('text','name','Name');
$renderer =& new HTML_QuickForm_Renderer_ArraySmarty($smarty);
$form->accept($renderer);
$smarty->assign('form',$renderer->toArray());
--- Smarty ---
{$form.name.html}
参考URL:http://www.is.titech.ac.jp/~yanagis0/kei/quickfo …
この回答への補足
早速の回答ありがとうございます。
ちょうど参考URLのスクリプトで試していたところでした。http://pear.php.net/manual/en/package.html.html- …の「Your first form」は動作しますので、HTML_QuickFormは問題ないのです。ですが、参考URLの「SMARTYとの連携」の部分がダメなんです。
回答頂きましたスクリプトを試してみたのですが、
-----2.php-----
<?php
require_once 'HTML/QuickForm.php';
require_once 'HTML/QuickForm/Renderer/ArraySmarty.php';
require_once 'Smarty.class.php';
$form = new HTML_QuickForm();
$form->addElement('text','name','Name');
$renderer =& new HTML_QuickForm_Renderer_ArraySmarty($smarty);
$form->accept($renderer);
$smarty->assign('form',$renderer->toArray());
$smarty = new Smarty();
$smarty->display("2.tpl");
?>
-----2.php-----
<html>
<head>
<title>TEST</title>
</head>
<body>
{$form.name.html}
</body>
</html>
どうもテンプレートすら呼び出していないようです。「$form = new HTML_QuickForm();」~「$smarty->assign('form',$renderer->toArray());」をコメントアウトしたら、テンプレートを呼び出しました。これは一体どういうことなのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- Ameba(アメーバブログ) アメブロは、HTMLのタグの入力を許さないブログ・サイトですか? 1 2023/06/18 18:48
- ホームページ作成・プログラミング アメーバ・ブログは"HTMLタグ"を許可してないのですか? 2 2023/06/17 21:08
- JavaScript スマホ上で、左右スワイプで次のページに移動させたいです 2 2022/11/11 17:04
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- MySQL htmlコードで書かれた表にphpでdbから取得した値を挿入したい 3 2022/12/21 23:48
- HTML・CSS Affinger6でトップページに記事をタイル状に並べたい 1 2023/05/20 14:55
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストリンクをPOST送信したい
-
$_POST['hoge']のデータをフラ...
-
PHP 入力フォームにあらかじめ...
-
アマゾンのような評価の星を選...
-
セッションを使わずに遷移先画...
-
フォーム送信後の更新ボタンで...
-
POSTデータをフォームに残す方法
-
HTMLで前の画面に戻る時、入力...
-
重複を防ぐ記述について教えて...
-
フォームでのリセットを使う方法
-
PHPで入力フォームでデータを確...
-
mySQLのデータを多次元配列に格...
-
PHPでCookieを使った訪問回数に...
-
laravelを利用してコントロール...
-
phpの掲示板で新しい順に表...
-
選択された値をセッションで保...
-
プルダウンとCSVの連動
-
文字列から抜き出す
-
フォームへの前回入力値をクリ...
-
Flaskでサーバー立ち上げに関して
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
PHPのエラーの解消法について教...
-
フォームで作った送信ボタンが...
-
テキストリンクをPOST送信したい
-
フォーム送信後の更新ボタンで...
-
ボタンをクリックでPHP文を実行
-
セッションを使わずに遷移先画...
-
PHPでファイルアップロード時に...
-
アマゾンのような評価の星を選...
-
phpで、フォームのラジオボタン...
-
PHP 入力フォームにて半角スペ...
-
PHPでバーコード読み取りって・...
-
PHPの質問:フォームから受け取...
-
$_POST['hoge']のデータをフラ...
-
フォームのPOST情報が渡らない?
-
GETとPOST以外のデータの渡し方...
-
phpのカウンタのリセット方法
-
header location が飛びません。
-
PHPでPCのローカル時刻は取得出...
-
変数が表示されない。
おすすめ情報