Ethnaアクション名の決定方法を変更

May 29, 2008,
tags: ethna php アクション名の決定方法を変更する フォームヘルパ


このエントリーをはてなブックマークに追加

アクション名がデフォルトだといろいろと使いづらいですよ。
単純にURLがかっこ悪いってものあるけど。
なので、変更します。
僕はよくactパラメータにアクション名を渡すって方法をつかっています。

http://xxxx.jp/act=index```

見たいな感じで。

変更方法は「<a title="アクション名の決定方法を変更する" href="http://ethna.jp/ethna-document-dev_guide-action-formname.html" target="_blank">アクション名の決定方法を変更する</a>」ここに記載されています。

しかーし、これだけだとフォームヘルパーが上手く動かなくなってしまう。確かね…  
そこでほgetActionRequestメソッドの変更をします。

・appid_Controller.php

function getActionRequest($action, $type = “hidden”) {  $s = null;

 if ($type == “hidden”) {    $s = sprintf(’’,                   htmlspecialchars($action, ENT_QUOTES));  } else if ($type == “url”) {  $s = sprintf(‘act=%s’, urlencode($action));  }

 return $s; }```

actにしたい場合は、hiddenのnameの値をactする。
それだけでフォームヘルパーも問題なくつかえてしまう。

全体としてはこんな感じで

``` //アクション名の設定変更 function _getActionName_Form() {  if (array_key_exists(‘act’, $_REQUEST) == false) {   return null;  }  return $_REQUEST[‘act’]; }

//フォームヘルパーのために function getActionRequest($action, $type = “hidden”) {  $s = null;  if ($type == “hidden”) {   $s = sprintf(’’,                 htmlspecialchars($action, ENT_QUOTES));  } else if ($type == “url”) {   $s = sprintf(‘act=%s’, urlencode($action));  }  return $s; }```

こんな感じで書けばアクション名の指定は変更できます。
やっぱデフォルトだとかっこわるいからね・・・

comments powered by Disqus