2011-01-15 17 views
3

ちょっと、 私はスマートテンプレートソリューションでPHPアプリケーションをプログラミングしようとしています。 すべての専門家にとって簡単な質問 テンプレートでテンプレートを取得するにはどうすればよいですか? 一つの例: {include file="$tpl_name.tpl"}テンプレートのテンプレート(.tpl)smarty

しかし、ここで私のlogin.phpです: のindex.php(page.tplは)私は、この機能を発見したSmartyのドキュメントで私のlogin.php(login.tpl)

が含まれますコントローラ?この機能にlogin.tplファイルが含まれていると、 私はHTMLコードしか持っていませんか?

誰かが私にこれを説明したり、サンプル/チュートリアルを教えてもらえますか?

コードは正確に何をしたいですというのが私の悪い英語

よろしく

+0

フレームワークを使用していますか? – RobertPitt

答えて

2

は基本的にはあなたのケースでlogin.tplファイルは、通常のSmartyテンプレートである必要があります(したがって、Smartyタグと同様にhtmlタグも含むことがあります)。 Smartyからの別のコントローラーを組み込むことはできません。

私が理解する限り、インデックスページにログイン機能を追加したいとします。これは以下の方法で行うことができます:
1)index.tplにlogin.tplを含めると、インデックスページにログインフォームが含まれます。
2)ログインフォームに異なる操作を指定します(例: "login.php"なので、このlogin.phpはすべてのログイン/ログアウトロジックを扱うログインコントローラになります。
3)ユーザーが正常にログインすると、index.php(または任意のページ)にリダイレクトできます。

したがって、メインコントローラ(インデックスページの責任者)とログインコントローラの2つのコントローラがあり、ログイン/ログアウトを担当します。この場合のlogin.tplファイルは、ログインフォームを表示するためのhtmlタグとおそらくはSmartyタグを含むテンプレートだけです。

5

のため申し訳ありません。これは、テンプレート内の別のスマートテンプレートを含めることができます。

<html> 
<head> 
    <title>{$title}</title> 
</head> 
<body> 
{include file='login.tpl'} 

元のテンプレートで使用可能なすべての変数は、今組み込んだテンプレートで使用できます。

イム何を多分あなたの代わりにこの機能を希望している、唯一のHTMLコードを持っていることについて言っているかわからない:

{include_php file='/path/to/login.php'} 
関連する問題