如何更改views的默认扩展名

Yii的views文件的默认扩展名是php,如果想把它改成html,不知道如何配置config文件

本人是这方面的新手,希望各位前辈多多指教啊

谁来帮帮吧,好纠结啊!英语不好啊!唉

我解决了这个问题,把方案公布给大家!希望可以帮助也需要的朋友!

我先说下思路吧!在google上面搜了好久,也没有十分对口这个问题的,不过有很多和这个相关的话题!

没办法还是细心的看了下相关的源代码!看了之后发现无论是视图在哪里放着(主题或者modules亦或者是/protected/views/下),它最终都是需要resolveViewFile(CController类下)来找到视图文件的路径的!原方法的思路是如果没有配置第三方的renderer,那么默认的视图后缀名为’.php’,然后在查找视图文件时,先按设置的查找视图文件,如果不存在再尝试着’.php’来查找,如果还找不到就返回false拉!

我定义了一个BaseController类,并对这个方法进行了重写!下面是我的代码:


<?php


class BaseController extends CController

{

	public $fileExtension='.html';

	

	public function resolveViewFile($viewName,$viewPath,$basePath,$moduleViewPath=null)

	{

		if(empty($viewName))

			return false;

	

		if($moduleViewPath===null)

			$moduleViewPath=$basePath;

	

		if(($renderer=Yii::app()->getViewRenderer())!==null)

			$extension=$renderer->fileExtension;

		else

		{

			if(!empty($this->fileExtension))

			{

				$extension = $this->fileExtension;

			}else

			{

				$extension='.php';

			}

		}

	

		if($viewName[0]==='/')

		{

			if(strncmp($viewName,'//',2)===0)

				$viewFile=$basePath.$viewName;

			else

				$viewFile=$moduleViewPath.$viewName;

		}

		else if(strpos($viewName,'.'))

			$viewFile=Yii::getPathOfAlias($viewName);

		else

			$viewFile=$viewPath.DIRECTORY_SEPARATOR.$viewName;

	

		if(is_file($viewFile.$extension))

			return Yii::app()->findLocalizedFile($viewFile.$extension);

		else if($extension!=='.php' && is_file($viewFile.'.php'))

			return Yii::app()->findLocalizedFile($viewFile.'.php');

		else

			return false;

	}

}