Dúvidas Yiibooster

Olá! Estou tentando usar esta ext YiiBooster e muitas dúvidas estão surgindo:

Para que exatamente serve esta configuração no config/main.php indicada na instrução de instalação ?


'modules'=>array(

    .....

    'gii'=>array(

        .....

        'generatorPaths'=>array(

            'bootstrap.gii',

        ),

    ),

),



Após instalar o YiiBoostrap as fontes e tamanhos de toda a aplicação foram alterada, tudo virou uma bagunça. Antes de instalá-lo eu havia criado e aplicado um tema, após a bagunça inspecionei algumas paginas no firebug e percebi que o Yiibooster está aplicando css e ao mesmo tempo o meu tema também aplica css nelas. Quero, por exemplo, tentar diminuir o tamanho da fonte e não sei exatamente onde ir já que ambas alteram ela.

Alguém aí poderia me dar uma luz?

Dead,

Essa configuração do generatorPaths, está adicionando os templates do YiiBooster no Gii, assim ao invés de criar o CGridView, irá usar o TbGridView (Acho que é isso).

Sobre o tamanho da fonte, faz o seguinte, veja se seu CSS está abaixo do CSS do YiiBooster, assim você pode sobrescrever as class do CSS.

Usa o firebug do Firefox ou do Chrome, que você vai achando as class do CSS e alterando no seu CSS.

Obs.: Nunca altere o core do CSS do YiiBooster, pois se fizer alguma atualização, você perde tudo, usa um CSS secundário para essas alterações.

Se por alguma acaso você coloco a mesma class do YiiBooster no seu CSS e mesmo assim não altero, primeiro veja a possição do seu CSS, sempre ficar abaixo do CSS do YiiBooster, veja se copio correto o nome da class do CSS, e por último adiciona o !important no parâmetro que deseja ter certeza que é importante.

Newerton, beleza?

Quanto a configuração do generatorPaths, eu já imaginava que ela servia para isso, porém como eu instalei tudo de acordo com o manual e usei o GII para criar models e cruds para fazer um teste e ele continuou gerando CGridViews e ClistViews, resolvi tirar essa dúvida aqui no forum. Bom,então é isso, não está funcionando, será algum bug? não encontrei, ou talvez não tenha procurado direito, nenhum post relatando isso.

Se o YiiBooster altera todo o tema das minhas páginas com seu estilo próprio, ainda assim eu devo usar um tema proprio,ou caso não use tema personalizado da pasta THEMES e sim o padrão gerado automaticamente no gii, eu preciso ter no meu diretório webroot/css os arquivos form.css, main.css, screeam.css ?

Quanto ao firebig, eu numca havia reparado que a posição do arquivo css fazia alguma diferença. Vou verificar…

Desde já agradeço.

bom dia Deadbody,

Eu utilizo o yiibooster na minha aplicação e funciona perfeitamente.

Uso a base do css dele e faço apenas algumas alterações após, como disse o Newerton.

No meu arquivo /protected/config/main.php está assim:




return array(

	'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',

	'name'=>'NOME DA APLICAÇÃO',


	// Idioma

	'sourceLanguage' => 'pt_br',

	'language' => 'pt_br',

	'timeZone' => 'America/Sao_Paulo',


	// preloading 'log' component

	'preload'=>array(  'log',

			   'bootstrap', // preload the bootstrap component

	),


	// autoloading model and component classes

	'import'=>array(

		'application.models.*',

		'application.components.*',

	),


	'modules'=>array(

		// uncomment the following to enable the Gii tool

		'gii'=>array(

			'class'=>'system.gii.GiiModule',

			'password'=>'9999999',

			// If removed, Gii defaults to localhost only. Edit carefully to taste.

			'ipFilters'=>array('127.0.0.1','::1'),

			'generatorPaths'=>array( 'bootstrap.gii', ),

		),

	),


	// application components

	'components'=>array(

		'user'=>array(

			// enable cookie-based authentication

			'allowAutoLogin'=>true,

		),


		'bootstrap'=>array(

		        'class'=>'ext.bootstrap.components.Bootstrap', // assuming you extracted bootstrap under extensions

                'coreCss'=>true,

                'responsiveCss'=>true,

                'yiiCss'=>true,

                'enableJS'=>true,		        

		    ),		



No /protected/layouts/main.php




<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="language" content="en" />

<meta name="viewport" content="width=device-width, initial-scale=1.0">

   

<!-- blueprint CSS framework -->


<link rel="shortcut icon" href="<?php echo Yii::app()->request->baseUrl; ?>/favicon.ico">

<?php Yii::app()->clientScript->registerCoreScript('jquery');?>

<?php Yii::app()->clientScript->registerCssFile(Yii::app()->request->baseUrl.'/css/base.css'); ?>



Onde usei o registerCssFile, você pode incluir suas outras alterações.

O CSS base do yiibooster está em /protectd/extensions/bootstrap/assets/css/bootstrap.css. Veja quais parâmetros deseja modificar, copie a seção para o seu arquivo e faça as alterações. Assim, como esse css estará depois do original, você poderá mudar o que quiser. Segue um exemplo da parte que faço alteração do tamanho da fonte no meu arquivo base.css




body {

    font-size: 13px;

}



Para gerar o CRUD no formato do YiiBooster, quando estiver com o Gii aberto, crie seu Model normalmente e depois utilize o link Bootstrap Generator para gerar as views e controllers.

Obrigado a todos, agora consegui configurar o gii, estou gerando cruds com os componentes do yiiBooster automaticamente e estou conseguindo personalizar ao meu gosto após criar um arquivo css seguindo suas dicas.

Continuando com as questões sobre o YiiBooster: Antes de instalá-lo eu fiz um bkp do meu projeto, agora eu tenho um com ele instalado e outro com o padrão gerado automaticamente pelo gii. Percebi que minha aplicação com o YiiBooster instalado ficou mais devagar e fui fazer umas comparações. Eu tenho um formulário de cadastro de clientes em ambas versões do projeto, esse formulário posssui duas DropDrownList dependente Estado e Município que funcionam com ajax. Usando o Firebug do Firefox para verificar as requisições ajax eu percebi uma diferença:

Com YiiBooster

3610

Aplicação com YiiBooster.jpg

Sem YiiBooster

3611

Aplicação sem YiiBooster.jpg

A DropDrownList Estado usa uma actionMunicipios para retornar os municipios do estado selecionado via POST. Os testes estão sendo feitos em Localhost pelo EasyPHP. Alguem tem alguma dica de como deixar a aplicação com YiiBooster mais rápida ?

Dead,

Eu percebi essa lentidão também, procura a extensão minScript, ela compacta o CSS e JS, isso se tiver usando Yii::app()->clientScript->registerScriptFile, assim o a extensão pega todos que estão usando o clientScript e compacta, quando gerar o 1 cache ele vai demorar uns 3 segundos pra ler a pagina, depois disso começa a abrir rápido.

O YiiBooster tem os widgets dele, o que pode demorar um pouco até chegar o componente base do Yii.

Sobre a lentidão do Yiibooster, dá uma olhada na função getAssetsUrl() do componente Bootstrap.php.

Basta remover o YII_DEBUG da chamada porque ele está forçando a publicação dos assets a cada chamada. O Antonio disse que vai colocar algo parametrizável na versão 1.0.6

Da página do YiiBooster:

Performance Issues

If you think that YiiBooster is running your application slow, is due that the Bootstrap.php Component placed on the components folder registers its assets per request for debugging purposes. You can easily turn off this behavior by removing the YII_DEBUG variable from the getAssetsUrl function.

Abraços

=))

Realmente ficou muito mais rapido :),

podiam fazer um chaveamento de AMBIENTES tipo tem no RubyOnRails

um config pra cada ambiente, e no index.php definir uma constante YII_ENVIRONMENT




//"development" ou "production"

define('YII_ENVIRONMENT', 'development');