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

url_handlers and action specific templates


Reply

2 Posts   1686 Views

Avatar
neros3

9 July 2010 at 8:22pm Community Member, 51 Posts

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

12 July 2010 at 4:30pm (Last edited: 12 July 2010 4:30pm), Community Member, 1 Post

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'));
}
}