Every time the framework renders a view, it will try to leverage the default layout which is located in layouts/Main.cfm
by convention. This is an HTML file that gives format to your output and contains the location of where the view you want should be rendered.
This location is identified by the following code:
The call to the renderView()
method with no arguments tells the framework to render the view that was set using event.setView()
. This is called a rendering region. You can use as many rendering regions within layouts or even within views themselves.
Named Regions: The setView()
method even allows you to name these regions and then render them in any layout or other views using their name.
Let's create a new simple layout with two rendering regions. Open up CommandBox and issue the following commands:
Open the layouts/Funky.cfm
layout and let's modify it a bit by adding the footer view as a rendering region.
Now, let's open the handler we created before called handlers/hello.cfc
and add some code to use our new layout explicitly via adding a layout
argument to our setView()
call.
Go execute the event now: http://localhost:{port}/hello/index
and you will see the view rendered with the words funky layout
and footer view
at the bottom. Eureka, you have now created a layout.
You can also leverage the function event.setLayout( "Funky" )
to change layouts and even concatenate the calls:
event.setView( "hello/index" )
.setLayout( "Funky" );