Yii Framework Forum: Cmenu - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Cmenu Rate Topic: -----

#1 User is offline   TheStik 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 40
  • Joined: 20-June 13

Posted 05 July 2013 - 04:58 AM

Модель
   public static function menu()
    {
        $categories = self::model()->findAll();
        
        $array = array();

        foreach ($categories as $category)
        {
            $count = Film::model()->count('category_id = :category_id',array(':category_id'=>$category->id));
            $array[] = array('label'=>$category->name.' ['.$count.']', 'url'=>array('film/genre/id/'.$category->id));
        }
        return $array;
    } 

Ну и в сайдбаре выводится
			<?php
				$this->beginWidget('zii.widgets.CPortlet', array(
					'title'=>'Категории',
				));
				$this->widget('zii.widgets.CMenu', array(
					'items'=>Category::menu(),
					'htmlOptions'=>array(
                        'class'=>'operations'
                    ),
				));
				$this->endWidget();
			?>


Никак не соображу как вывести количество ссылок в виде текста, а не ссылки. Еще тут вроде запрос кривой, в цикле, думаю есть более продуктивный способ
0

#2 User is offline   TheStik 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 40
  • Joined: 20-June 13

Posted 05 July 2013 - 05:00 AM

Еще 2 мелких вопрос:
1. Для чего в контроллере сгенерированном через груд метод performAjaxValidation?
2. Как убрать * с обязательных полей
0

#3 User is offline   Mihail 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 111
  • Joined: 29-June 13

Posted 05 July 2013 - 07:35 AM

View PostTheStik, on 05 July 2013 - 05:00 AM, said:

Еще 2 мелких вопрос:
1. Для чего в контроллере сгенерированном через груд метод performAjaxValidation?
2. Как убрать * с обязательных полей


1. Этот метод над раскомментировать если используется Ajax проверка
2. У нужной модели в функции rules для нужных полей убери проверку на required

по поводу первого вопроса
label - это внутренняя часть ссылки <a>label тут</a> если задан параметр url zii.widgets.CMenu

если не задавать параметр url то там формируются в виде span-ов
то есть в принципе через label можно передать хтмл то есть вывести пункт меню так как тебе нужно либо нужно создавать новый виджет на основе zii.widgets.CMenu и с изменённой функцией renderMenuItem так как тебе нужно!
Быстро ссылки:
Yii - http://www.yiiframework.com/download/
Полное руководство по Yii - http://www.yiiframew...de/1.1/ru/index
Class Reference - http://www.yiiframework.com/doc/api/
Расширения - http://www.yiiframew...com/extensions/
0

#4 User is offline   Artur Zhdanov 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 112
  • Joined: 12-May 13
  • Location:Russia

Posted 05 July 2013 - 08:00 AM

View PostTheStik, on 05 July 2013 - 05:00 AM, said:

2. Как убрать * с обязательных полей

Если вы хотите оставить проверку на обязательность заполнения поля, но убрать "*", то нужно вместо $form->labelEx использовать $form->label
Помог с вопросом? Нажми тут ↓
0

#5 User is offline   Artur Zhdanov 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 112
  • Joined: 12-May 13
  • Location:Russia

Posted 05 July 2013 - 08:07 AM

View PostTheStik, on 05 July 2013 - 04:58 AM, said:

Никак не соображу как вывести количество ссылок в виде текста, а не ссылки. Еще тут вроде запрос кривой, в цикле, думаю есть более продуктивный способ


Как то так:
...
$this->widget('zii.widgets.CMenu',array(
    'encodeLabel'=>false,
...
),

и
$array[] = array('label'=>'<a href="...">'.$category->name.'</a>'.' ['.$count.']', 'url'=>array('film/genre/id/'.$category->id));

Помог с вопросом? Нажми тут ↓
0

#6 User is offline   TheStik 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 40
  • Joined: 20-June 13

Posted 05 July 2013 - 08:34 AM

Ага, только что сделал $array[] = array('label'=>CHtml::link($category->name,'film/genre/id/'.$category->id).' ['.$count.']');

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users