2012-01-19 3 views
4

Кто-нибудь удалось интегрировать Boilerplate HTML5 в YII PHP Framework (в частности, структуру папок и процесс сборки)?HTML5Boilerplate с Yii Framework

+0

Почему бы не сделать конфигурацию с помощью Boilerplate HTML5? – zuo

+0

@ Zuo - Не могли бы вы объяснить? –

+0

@ user1151271 С моим ограниченным знанием шаблона, я думаю, вы можете просто выполнить настройку на пути к папке (js/css/images) проекта шаблона, чтобы использовать функцию инструмента построения шаблона. Для index.html просто используйте его с основным файлом макета проекта yii. – zuo

ответ

5

Бойлер рекомендует использовать @import при добавлении стилей в голову.

<style>@import(/example.css);</style> 

Yii использует модель ClientScript добавить

<link type="text/css" src="/example.css" /> 

Используйте Yii :: приложение() -> ClientScript модели зарегистрировать файл. Yii позволяет вам регистрировать файлы сценариев по мере необходимости, на контроллер или на просмотр. Поэтому ваши запросы HTTP могут быть минимальными. Я хотел бы предложить регистрируя необходимые скрипты/CSS в основной раскладке и добавить другие сценарии, поскольку они необходимы с

Yii::app()->clientScript->registerScriptFile(); 

Yii основана на модели MVC. V для просмотра. Складки вида содержат элементы html, которые ваша модель и контроллер будут настраивать на основе типов данных. Внутри папки просмотра Yii использует папку макета для определения макетов.

$this->layout = 'main'; 

Эта линия будет искать:

Protected -> views -> layout -> main.php 

Папка макет должен содержать основную, _htmlHead, _header и _footer. RenderPartial будет использоваться для визуализации различных частей макета. Это похоже на php для HTML. Второй параметр $ this-> render или $ this-> renderPartial используется для передачи данных в представление. Например, навигационные данные:

$this->renderPartial('_footer', array('nav'=>array('/link/'=>'Link Name'))); 

В _htmlHead зарегистрировать необходимые элементы, используя Yii :: приложение() -> 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 */ 

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

В прошлом я использовал файл config.php в Yii, чтобы установить параметр assetsLocaion. Если я переведу свои активы, он не сломает сайт.

Yii::app()->clientScript->registerScriptFile(Yii::app()->param->assetsLocation.'/js/example.js'); 

Основная компоновка шаблона будет определена в макете/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> 
+0

Обратите внимание, что FooterScripts не являются обязательными. Yii :: app() -> clientScript имеет параметр для размещения сценариев (т. Е. PostHead, postContent, postBody) – aCodeSmith

+0

Спасибо за потрясающую обратную связь! –

+0

У меня есть только несколько следующих вопросов: 1) HTML-Boilerplate рекомендует, чтобы все файлы CSS сливались в их base.css. При использовании BP вместе с YII вы бы посоветовали придерживаться этой практики? То же самое можно сказать о плагинах jQuery и других внешних js-файлах. 2) Не могли бы вы рассказать об этом комментарии: «Добавьте заголовок HTML, тег заголовка страницы и тег нижнего колонтитула страницы в свой собственный вид под макетом. В папке макета должна быть указана основная, _htmlHead, _header, _footer. В регистре _htmlHead необходимых элементов с помощью Yii :: app() -> clientScript. "? Еще раз спасибо! –

3

Проверьте мой Yii шаблонный и Bootstrap интеграции

https://github.com/drumaddict/YiiApp

+0

+1 хорошо выглядит ... –

+1

страница не найдена ... – Lamy

+0

Я создал новое репо с обновленной версией https://github.com/ drumaddict/YiiApp – drumaddict