<?xml version="1.0" encoding="UTF-8"?>
<wiki-page>
  <author>Dimitrij Denissenko</author>
  <content>h3. 1. Create a new extension
{{{
mkdir extensions/my_project_page
touch extensions/my_project_page/ext_info.rb
}}}

h3. 2. Create your own controller

*extensions/my_project_page/ext/projects_controller.rb*
{{{
ProjectsController.class_eval do
  
  def index_with_custom_template
    index_without_custom_template 
    return false if performed?

    # Put your custom statements here
    # ...

    render :template =&gt; 'my_project_page/projects/index.html.erb'
  end
  alias_method_chain :index, :custom_template

end
}}}

h3. 3. Create your own custom view

*extensions/my_project_page/views/my_project_page/projects/index.html.erb*
{{{
&lt;% @page_title = _('Projects') -%&gt;
&lt;% slim_page -%&gt;
&lt;%= page_title %&gt;

&lt;% if @projects.blank? -%&gt;
  &lt;h2&gt;&lt;%=_ 'No projects available' %&gt;&lt;/h2&gt;

&lt;% else -%&gt;

  &lt;div class="container clear"&gt;
    &lt;%# 
      Your custom HTM/ERB template code
    %&gt;
  &lt;/div&gt;

&lt;% end -%&gt;
}}}

h3. Done!</content>
  <created-at type="datetime">2009-01-24T22:11:48+00:00</created-at>
  <title>Custom Project Overview</title>
  <updated-at type="datetime">2009-01-24T22:11:48+00:00</updated-at>
  <version type="integer">1</version>
</wiki-page>
