带有Yii Framework的HTML5Boilerplate

Agi*_*Ace 4 php html5 build-process boilerplate yii

有没有人设法在YII PHP Framework中集成HTML5 Boilerplate(特别是文件夹结构和构建过程)?

aCo*_*ith 5

Boilerplate建议在向头部添加样式时使用@import.

<style>@import(/example.css);</style>
Run Code Online (Sandbox Code Playgroud)

Yii使用ClientScript模型添加

<link type="text/css" src="/example.css" />
Run Code Online (Sandbox Code Playgroud)

使用Yii :: app() - > clientScript Model注册该文件.Yii允许您根据需要,每个控制器或每个视图注册脚本文件.因此,您的http请求可以是最小的.我建议在主布局中注册所需的脚本/ css,并根据需要添加其他脚本

Yii::app()->clientScript->registerScriptFile();
Run Code Online (Sandbox Code Playgroud)

Yii基于MVC模型.V是供观看的.视图foldes包含模型和控制器将根据数据类型调整的html元素.在视图文件夹内,Yii使用布局文件夹来定义布局.

$this->layout = 'main'; 
Run Code Online (Sandbox Code Playgroud)

该行将寻找:

Protected -> views -> layout -> main.php
Run Code Online (Sandbox Code Playgroud)

布局文件夹应包含main,_htmlHead,_header和_footer.renderPartial将用于渲染不同的布局部分.这就像是一个包含HTML的PHP​​.$ this-> render或$ this-> renderPartial的第二个参数用于将数据传递给视图.例如导航数据:

$this->renderPartial('_footer', array('nav'=>array('/link/'=>'Link Name'))); 
Run Code Online (Sandbox Code Playgroud)

在_htmlHead中使用Yii :: app() - > clientScript注册所需的元素.如果你想使用不同版本的jQuery,那么使用ScriptMap模型,不要两次注册jQuery.Yii的核心脚本,验证和分页都基于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 */
Run Code Online (Sandbox Code Playgroud)

http://www.yiiframework.com/doc/api/1.1/CClientScript

在过去,我使用Yii中的config.php文件来设置assetsLocaion参数.如果我移动我的资产,它将不会破坏网站.

Yii::app()->clientScript->registerScriptFile(Yii::app()->param->assetsLocation.'/js/example.js');
Run Code Online (Sandbox Code Playgroud)

样板的基本布局将在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>
Run Code Online (Sandbox Code Playgroud)