
出来なくて困っていることがあります。
Smartyのテンプレートは通常「templates」フォルダに格納すると思いますが、そのファイルを書き換えることは可能でしょうか?
流れとして
PHPで既存のテンプレートを表示
↓
その中のPOSTデータを元に既存のテンプレートを上書きして保存
fopenのwで開き、smarty->fetchで情報を載せたデータを作り、fwriteで同じファイルに上書きしようとおもったのですが、うまくいきません。
そもそもtemplatesフォルダの中身をプログラムで更新できるものなのか、できるならどのようにするのがよいのか、お分かりになる方がいましたらご教授願います。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
DBが使えないのであれば、CSVファイルなどにデータを書き込むのが妥当かと。
オープンできないのは権限がないと思われます。phpinfo()のopen_basedirを確認してください。「templates」はopen_basedir以下にありますか?
この回答への補足
返信遅くなりました。
phpinfo()にて確認したのですが、no value となってました。
詳しくわからないのですが、これではダメということでしょうか?
またダメならその場合の解決策を教えていただけますでしょうか?
よろしくお願い致します。
No.4
- 回答日時:
>それでデータテーブルの下部に{$変数}を用意し、
>そこに登録データを当てはめてその情報を上書きできるように構成したのです。
それでしたら{$変数}部分を別テンプレートから作成した文字列をファイルに吐き出し、
そのファイルをトップページのテンプレから{include ~~}としたほうが良い気がします。
そうすればテンプレートは静的なままに動的部分を制御することが出来るかと。
まぁ色々やり方はあると思いますがね
No.3
- 回答日時:
#1,#2さんにさらに追加で
Smartyはテンプレート内でif文が使えますので
表示内容を条件ごとに動的に変更することが
簡単にできます。
>Smartyのテンプレートは通常「templates」フォルダに格納すると思いますが、
各ディレクトリの割り当ては簡単に変更することができます。
No.2
- 回答日時:
動的に変えたらテンプレートと言いません^^;
No.1の方の言うとおり設計をもう一度良く見直したほうが良いでしょう。
// とりあえずアクセス権が大丈夫であれば次はfopenしているパスを確認しましょう
// 相対なのか絶対なのか、カレントはどこにあるのかなど。
// そもそもsmartyはセキュリティのためにアクセス権を付与してないパターンが多かった気がしますが。
No.1
- 回答日時:
「うまくいかない」というのはどういう状況なのでしょうか。
エラーが表示されるのですか?テンプレートファイルも通常のテキストファイルなので、PHPから操作は可能です。まずアクセス権を見直してみてはいかがでしょうか。
#余談ですが、通常定型的な部分のみテンプレート(雛型)にするので、
#本当にテンプレートを動的に変える必要があるのか再考する事を
#おすすめします。
この回答への補足
数々のご意見ありがとうございます!
本来テンプレートを変更すべきでないとわかってはいるのですが、今回依頼があった状況が、DBを使えず、いろいろな項目を入力したら複数のファイルをそれに合わせて自動生成するものでした。
そのTOPファイルの構成が要望で、登録フォームと登録されているリストを同ページに表示するものでした。
それでデータテーブルの下部に{$変数}を用意し、そこに登録データを当てはめてその情報を上書きできるように構成したのです。
エラーはファイルがtemplatesフォルダがオープンしませんでした。
アクセス権限は777になっています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/12 16:58
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- ゴルフ ショットナビクレスト ゴルフ場データ更新について 2 2023/01/01 10:34
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
- その他(プログラミング・Web制作) カラーミーのSmarty構文について 1 2022/10/09 13:55
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
共有フォルダに誰が何にアクセ...
-
社内Excel共有ブックでの保存ト...
-
AccessVBAで作成したExcelファ...
-
特定のエクセルファイルを起動...
-
outlookの整理されたメールはど...
-
CSV出力
-
VB.NETでDBへ再度接続したいの...
-
Batch: フォルダ内の特定のファ...
-
excelを共有ファイルにすると行...
-
Access VBA を利用して、フォル...
-
ACCESSでカラオケ選曲、演奏方...
-
相手のPCにVBAからメッセ...
-
ACCESS リンクテーブルのEXCEL...
-
エクセル CSVについて
-
Smartyのテンプレート
-
エクセルについての質問
-
mdbファイル フォームを開くと...
-
事務の派遣で働いています。多...
-
Dream weaverで、誤ってファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
共有フォルダに誰が何にアクセ...
-
Batch: フォルダ内の特定のファ...
-
特定のエクセルファイルを起動...
-
VBAでCSVファイルが使用中かど...
-
社内Excel共有ブックでの保存ト...
-
Access VBA を利用して、フォル...
-
(Excelマクロ)datファイルをエ...
-
AccessVBAで作成したExcelファ...
-
事務の派遣で働いています。多...
-
excelを共有ファイルにすると行...
-
【アクセス】「ほかのユーザー...
-
拡張子が「cda」のファイルを聞...
-
月が変わったら自動でシートが...
-
Excel VBA 処理後データが重た...
-
WEBクエリが使えない場合のHPデ...
-
access関数を説明できる方いま...
-
ファイルの途中に文字列を挿入
-
特定のフォルダに入れたファイ...
-
tmpファイル なぜできる?削除...
おすすめ情報