Controllerにアクション定義を追加します。具体的には、
app/Sample_Controller.phpを以下のように編集します。
/**
* @var array forward定義
*/
var $forward = array(
/*
* TODO: ここにforward先を記述してください
*
* 記述例:
*
* 'index' => array(
* 'view_name' => 'Sample_View_Index',
* ),
*/
+ 'login' => array(
+ 'view_name' => 'Sample_View_Login',
+ 'forward_path' => 'login.tpl'
),
);
***********************
ですので、ここでは'login'というアクションに対応するファイル
を作成するので、app/action/Login.phpというファイルを以下の
ように作成すればよいことになります。
Ethna_ActionClassを継承した
perform() にメソッドの戻り値として遷移先の名前(後述)を返します
<?php
class Sample_Action_Login extends Ethna_ActionClass
{
function perform()
{
return 'login';
}
}
?>
************************
ですので、ここでは'login'という遷移名に対応するファイル
を作成するので、app/view/Login.phpというファイルを以下のように作
成します。
<?php
class Sample_View_Login extends Ethna_ViewClass
{
function preforward()
{
$this->af->setApp('now', strftime('%Y/%m/%d'));
}
}
?>
**********************
次に、テンプレートファイルを作成します。テンプレート
ディレクトリはtemplate/jaディレクトリで、(6)で'login.tpl'をテンプ
レートファイルに指定しているので、template/ja/login.tplを作成します。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head></head>
<body>
Login View<br />
current time: {$app.now}
</body>
</html>
******************
http://some.host/~foo/?action_login=trueにアクセスすると
0 件のコメント:
コメントを投稿