Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Template Questions /

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

url_handlers and action specific templates


Go to End
Reply


2 Posts   2050 Views

Avatar
neros3

Community Member, 51 Posts

9 July 2010 at 8:22pm

Hi

I'm using SS.2.4.

I want an action called new. But since that is a reservered word I can't make a function called new(). So I've made a url_handler to handle that

public static $url_handlers = array(
        'new' => 'customnew'
    );

My template is called: Mypage.ss - and in order to have a specific template for this action I have tried making Mypage_new.ss and Mypage_customnew.ss.
When accessing the url /Mypage/new none of the templates gets loaded. The only way I can load an action specific template is by calling /Mypage/customnew.

Anyone knows how to fix this? I suppose I could render the page with a specific template, but thats not preferable.

Thanks!

Avatar
Terrence Wood

Community Member, 1 Post

12 July 2010 at 4:30pm

Edited: 12/07/2010 4:30pm

To use a template that doesn't match your ClassName you will need to load your template:

class MyPage_controller extends Page_Controller {
    function customnew() {
        $data = DataObject::get('CustomNew'); 
        return $this->customise($data)->renderWith(array('customnew','Page'));
    }
}