Imagem no MbMenu

Amigos como é possivel colocar uma imagem na extension MbMenu?

Agradeço a todos,

Adriano Silva

No MbMenu eu nunca tentei, mas no CMenu qdo precisei colocar imagem acrescentei nas configurações a opção


'encodeLabel'=>false

Dai nos items pude usar a tag <img> sem problemas e acredito que possa usar qualquer outra tag como <div> por exemplo.

Ou então vc pode adicionar as imagens usando css background-image defindo uma classe para cada imagem específica…

Não sei se funciona no MbMenu, mas faça o teste e posta ai :P

Amigo posta um exemplo como você fez, que configuração você acrescentou o


'encodeLabel'=>false

?

Adriano Silva

Segue o exemplo




                <?php $this->widget('zii.widgets.CMenu',array(

                        'encodeLabel'=>false,

			'items'=>array(

				array('label'=>'<img ... />','url'=>array('')),

				array('label'=>'<img ... />','url'=>array('')),

                                array('label'=>'<img ... />','url'=>array('')),

			),

		)); ?>



No caso eu usei diretamente a tag <img> mas acho que tb funciona com o CHtml::image()

Para o MbMenu e a mesma coisa.




$this->widget('application.extensions.mbmenu.MbMenu', array(

	'encodeLabel'=>false,

			'items'=>array(

					array('label'=>'<img ... />','url'=>array('')),

					array('label'=>'<img ... />','url'=>array('')),

					array('label'=>'<img ... />','url'=>array('')),

			),


));



O que fiz de errado? Coloquei a imagem na pasta /images, e fiz assim:




$this->widget('application.extensions.mbmenu.MbMenu', array(

	'encodeLabel'=>false,

			'items'=>array(

					array('label'=>'<img src="login.gif" />Login/>','url'=>array('')),

					array('label'=>'<img src="rota.gif" />Rotas','url'=>array('')),

					array('label'=>'<img src="combustivel.gif" />Combustivel','url'=>array('')),

			),


));



E a imagem não apareceu.

Sds,

Adriano Silva

Para o Yii tu tem que definir a URL completa!


$this->widget('application.extensions.mbmenu.MbMenu', array(

        'encodeLabel'=>false,

                        'items'=>array(

                                        array('label'=>'<img src="'.Yii::app()->baseUrl.'/images/login.gif" />Login/>','url'=>array('')),

                                        array('label'=>'<img src="'.Yii::app()->baseUrl.'/images/rota.gif" />Rotas','url'=>array('')),

                                        array('label'=>'<img src="'.Yii::app()->baseUrl.'/images/combustivel.gif" />Combustivel','url'=>array('')),

                        ),


));

Tenta ae!

Simplesmete excelente, muito obrigado amigo…

Sds,

Adriano Silva

Adriano,

Vai uma dica, procura pelo Fugue Icons (http://p.yusukekamiyamane.com/) é um excelente pacote de icones digamos web 2.0, uso ele somente para meus sites e projetos, é um pacote completo com 3,150 icones.

Só que no Yii não importa ele todo não, e muito grande, se você for subir para algum cliente, demora demais.

Então descompacta ele numa pasta pessoal, e vai selecionando o que mais usa, e coloca na pasta /images/icons/ no Yii.

Ai fica mais organizado, quando você precisar de icones.

Obrigado novamente amigo.

Abços,

Adriano Silva

Obrigado pela dica amigo…

Sds,

Adriano Silva

Amigos,

Vocês tem algum modelo de menu lateral interessante?

Sds,

Adriano Silva

Para menu laterei eu fiz um com <li> idêntico ao Fluency do Wordpress.

Valeu pela dica amigo…

Abços,

Adriano Silva

Newerton uma dúvida Urgente. É possível mostrar em uma gridView os dados recebidos de um comando SQL, ou seja, não gostaria de mostrar os campos puros, gostaria de visualizar uma média, por exemplo, de cada produto. Isso é possível no yii?

Aguardo com urgência.

Abços,

Adriano Silva

Fiz assim na view:




$itens_total = 0;


foreach ($dataProvider2->models as $m)

{

    $itens_total += $m->subtotal;

}

?>



No GridView da view:




[

                'class'   => 'yii\grid\DataColumn',

                'header'  => '<a href="#summary">SubTotal</a>',

                'contentOptions' => [

                    'class' => 'subtotal',

                    'style' => 'text-align: right;'

                ],

                'value' => function($data){

                    $total = $data->quantidade * $data->valor;

                    return 'R$ '.number_format($total, 2,',','.');

                },

                'footer' => 'R$ '.number_format($itens_total, 2, ',', '.'),

            ],



No controller:




    public function actionView($id)

    {

        $itensModel = new ItemPedidoSearch();

        $faturasModel = new FaturaSearch();

        $dataProvider2 = $itensModel->search(Yii::$app->request->queryParams);

        $dataProvider3 = $faturasModel->search(Yii::$app->request->queryParams);


        return $this->render('view', [

            'model' => $this->findModel($id),

            'itensModel' => $itensModel,

            'dataProvider2' => $dataProvider2,

            'dataProvider3' => $dataProvider3,

        ]);

    }