有没有人成功地在YII PHP框架中集成了HTML5样板(特别是文件夹结构和构建过程)?
发布于 2012-01-23 01:07:41
Boilerplate建议在向头部添加样式时使用@import。
<style>@import(/example.css);</style>Yii使用ClientScript模型添加
<link type="text/css" src="/example.css" />使用Yii::app()->clientScript模型注册文件。Yii允许您根据需要为每个控制器或每个视图注册脚本文件。因此,您的http请求可以是最小的。我建议在主布局中注册所需的脚本/css,并在需要时添加其他脚本
Yii::app()->clientScript->registerScriptFile();Yii基于MVC模型。V表示视图。view foldes包含模型和控制器将根据数据类型进行调整的html元素。在视图文件夹Yii中,使用布局文件夹来定义布局。
$this->layout = 'main'; 这一行将查找:
Protected -> views -> layout -> main.php布局文件夹应包含main、_htmlHead、_header和_footer。renderPartial将用于渲染不同的布局部分。它就像是HTML的php include。$this->render或$this->renderPartial的第二个参数用于将数据传递给视图。例如nav数据:
$this->renderPartial('_footer', array('nav'=>array('/link/'=>'Link Name'))); 在_htmlHead中,使用Yii::app()->clientScript注册所需的元素。如果您想使用不同版本的jQuery,那么请使用ScriptMap模型,不要注册jQuery两次。Yii的coreScript、验证和寻呼都是基于jQuery的。
$cs = Yii::app()->clientScript;
$cs->registerCssFile('/css/base.css');
$cs->registerScriptFile('/js/base.js', CClientScript::POS_END);
/* Load Script at END of DOM tree: CClientScript::POS_END */http://www.yiiframework.com/doc/api/1.1/CClientScript
在过去,我使用Yii中的config.php文件来设置assetsLocaion参数。如果我移动我的资产,它不会破坏网站。
Yii::app()->clientScript->registerScriptFile(Yii::app()->param->assetsLocation.'/js/example.js');样板的基本布局将在layout/main.php中定义。查看主题文档:http://www.yiiframework.com/doc/guide/1.1/en/topics.theming
布局文件可能如下所示:
<!doctype html>
<?php $this->renderPartial('//layouts/_Htmlhead); ?>
<body>
<div id="container">
<?php $this->renderPartial('//layouts/_header); ?>
<div id="main" role="main">
<?php echo $content; ?>
</div>
<?php $this->renderPartial('//layouts/_footer); ?>
</div>
<?php $this->renderPartial('//layouts/_footerScripts); ?>
</body>
</html>发布于 2012-05-19 14:43:56
检查我的Yii BoilerPlate和引导程序集成
发布于 2012-01-25 12:48:45
在https://github.com/neam/yii-html5-boilerplate上提供了一个简单的Yii HTML5样板主题
https://stackoverflow.com/questions/8929252
复制相似问题