我从我的cms
获得了以下网址构造domain.de/cmsfolder/page1/page2/function/my-news-headline
或
domain.de/cmsfolder/page1/function/my-reference-headline
我想将函数分色出来,以便我的网址
domain.de/cmsfolder/page1/page2/my-news-headline
或
domain.de/cmsfolder/page1/my-reference-headline
并没有导致404错误。
有人可以告诉我这是否可行以及如何?
或者也许可以从我页面的任何网址中删除“功能”?
致以最诚挚的问候,并提前感谢
答案 0 :(得分:1)
不是一个优雅的解决方案,但如果你的页面控制器中只有1个动作('myfunction'),这将有效:
将其添加到Page_Controller
:
private $actionName;
private static $allowed_actions = array (
'myfunction'
);
static $url_handlers = array(
'' => 'myfunction'
);
public function init(){
parent::init();
$urlParams = $this->getURLParams();
if(isset($urlParams['Action'])) { //might not be set when coming from '/' or '/home'
$this->actionName = $urlParams['Action'];
}
}
public function myfunction() {
//do something here with $this->actionName
}
现在,当您导航到domain.de/cmsfolder/page1/page2/my-news-headline
时,$actionName
将设置为“my-news-headline”,并且会调用myfunction
来使用它。