Displaying static pages with CViewAction

If you have a few static pages and aren't going to change them very frequently, then it's not worth querying the database and implementing page management for them.

Getting ready

Set up a new application using yiic webapp.

How to do it...

  1. We just need to connect CViewAction to our controller.
    class SiteController extends CController
    {
       function actions()
       {
          return array(
             'page'=>array(
                'class'=>'CViewAction',
            ),
          );
       }
    }
  2. Now, put your pages into protected/views/site/pages, and name them about.php and contact.php.
  3. Now, you can try your pages by typing in the URL http://example.com/index.php?r=site/page&view=contact.
  4. Alternatively, you can type in the URL http://example.com/site/page/view/about, if you have configured clean URLs with a path format.

How it works...

We connect the external action named CViewAction that simply tries to find a view named the same as the $_GET parameter supplied. If it is there, it displays it. If not, then it will give you a 404 not found page.

There's more...

There are some useful CViewAction parameters we can use. These are listed in the following table:

Parameter name

Description

basePath

This is a base path alias that is prepended to a view name. The default is pages. That means a page named faq.company will be translated to protected/views/pages/faq/company.php.

defaultView

This is a name of a page to render when there is no $_GET parameter supplied. The default is index.

layout

The layout used to render a page. By default, the controller layout is used. If it is set to null, then no layout is applied.

renderAsText

If set to true, then the page will be rendered as is. Otherwise, the PHP inside will be executed.

viewParam

The name of the $_GET parameter used to pass the page name to CViewAction. The default is view.

Further reading

For further information, refer to the following URL:

http://www.yiiframework.com/doc/api/CViewAction

See also

  • The Using external actions recipe
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.135.197.201