Простые вопросы от новичка

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Faradey
Сообщения: 13
Зарегистрирован: 2011.04.21, 10:29

Re: Простые вопросы от новичка

Сообщение Faradey »

Это я и сам мог догадаться, но ведь вывод делается автоматом

Код: Выделить всё

<?php $this->widget('zii.widgets.CDetailView', array(
    'data'=>$model,
    'attributes'=>array(
        'id',
        'name',
        'image',
        'link',
        'active',
    ),
)); ?>
поэтому то что в базе то и выдает
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Простые вопросы от новичка

Сообщение rak »

Код: Выделить всё

$this->widget('zii.widgets.CDetailView', array(
    'data'=>$model,
    'attributes'=>array(
        'id',
        'name',
        'image',
        'link',
         array(
                'name' => 'active',
                'value' => '$data->active ? "Yes" : "No"',
            ),
    ),
));         
 
Faradey
Сообщения: 13
Зарегистрирован: 2011.04.21, 10:29

Re: Простые вопросы от новичка

Сообщение Faradey »

Огромное спасибо. Я ошеломлен поддержкой этого форума. Не ожидал такой отзывчивости. Благодарю
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Простые вопросы от новичка

Сообщение slavcodev »

Faradey, дополнительной благодарностью с твоей стороны было бы использование тегов в сообщении, особенно `code`.
Жду Yii 3!
Faradey
Сообщения: 13
Зарегистрирован: 2011.04.21, 10:29

Re: Простые вопросы от новичка

Сообщение Faradey »

Учту ваше замечание, но и тут стала проблема, в коде выше проблема в том что так на странице и выводиться

Код: Выделить всё

$data->active ? "Yes" : "No" 
Что нет так???
Faradey
Сообщения: 13
Зарегистрирован: 2011.04.21, 10:29

Re: Простые вопросы от новичка

Сообщение Faradey »

а вот так сработало

Код: Выделить всё

$this->widget('zii.widgets.CDetailView', array(
    'data'=>$model,
    'attributes'=>array(
        'id',
        'name',
        'image',
        'link',
        array(
                'name' => 'active',
                'value' => $model->active ? "Yes":"No"/*'$data->active ? "Yes" : "No"'*/,
            ),
    ),
)); 
но что-то мне подсказывает что это не правильно для того случая если записей будет больше одной
а может ли CDetailView выводить несколько записей из таблицы???
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Простые вопросы от новичка

Сообщение slavcodev »

Faradey писал(а):но что-то мне подсказывает что это не правильно для того случая если записей будет больше одной
DetailView - виджет показывает только одну запись. Если будет несколько записей то будет несколько виджетов со своей моделью. Так что гуд.
Жду Yii 3!
Faradey
Сообщения: 13
Зарегистрирован: 2011.04.21, 10:29

Re: Простые вопросы от новичка

Сообщение Faradey »

по аналогии решил сделать так

Код: Выделить всё

$this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$dataProvider,
    'itemView'=>'_view',
    'viewData' => array(
        'name' => 'active',
        'value' => '123'
    )
)); 
но к сожалению не проканало :(
Хотя ладно можете не отвечать, догадался что это можно сделать через _view.php
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Простые вопросы от новичка

Сообщение rak »

rak писал(а):

Код: Выделить всё

$this->widget('zii.widgets.CDetailView', array(
    'data'=>$model,
    'attributes'=>array(
        'id',
        'name',
        'image',
        'link',
         array(
                'name' => 'active',
                'value' => '$data->active ? "Yes" : "No"',
            ),
    ),
));         
 
Ошибочка вышла :)
Такое работает для CGridView, не обратил внимания, что там CDetailView
SpiLLeR
Сообщения: 350
Зарегистрирован: 2009.09.17, 16:47
Откуда: Санкт-Петербург
Контактная информация:

Re: Простые вопросы от новичка

Сообщение SpiLLeR »

Код: Выделить всё

'$data->active ? "Yes" : "No"',
так делать не очень хорошо, лучше вынести это в метод модели или в класс, который отвечает за вывод информации. Да и намного приятнее использовать потом нечто: $data->activeText.
Предупрежден - значит вооружен.
devKP.ru
Faradey
Сообщения: 13
Зарегистрирован: 2011.04.21, 10:29

Re: Простые вопросы от новичка

Сообщение Faradey »

Подскажите пожалуйста как можно сделать такое.
Есть таблица в бд menu
есть там поле position
то есть типа сортировки меню, чтобы можно было менять последовательность.
Как можно сделать так чтобы на странице admin можно было с помощью перетаскивания строки таблицы менять это поле position. Когда писал на своем движке, то использовал для этих целей jquery ui sortable и свой php ajax код
Может в yii есть что-то уже, или самому писать такое нужно с нуля???
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Простые вопросы от новичка

Сообщение rak »

Нужно писать самому. И вообще не стоит устраивать из темы свалку :)
nigredo
Сообщения: 9
Зарегистрирован: 2011.12.07, 00:33
Откуда: Донецк,Украина

Re: Простые вопросы от новичка

Сообщение nigredo »

подскажите, как получить настройки виджета.
Вызов виджета:

Код: Выделить всё

 
    $this -> widget('application.components.Tree', array(        
        'pageSize' => 2        
    )
);  
Код самого виджета:

Код: Выделить всё

class Tree extends CWidget {

    public $pageSize = 5;
    public $layout = 'test';

    public function run() 
    {
        $tree = new CActiveDataProvider('Categories', array(
            'criteria'=>array(
            'order'=>' lft',
            'condition' => ' id > 1'
        ),
        'pagination'=>array(
            'pageSize'=> $this -> pageSize,
            )
        ));
        
       $this->render($this -> layout,array('tree'=>$tree));
    }

} 
Почему-то значение pageSize не перезаписывается, тем которое я указываю при вызове
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: Простые вопросы от новичка

Сообщение chungachguk »

Сгенерировал CRUD для пользователей с помощью GII. Для списка пользователей (views/user/index) используется файл _view.php, а вот для вывода детальной информации (views/user/view) где находится шаблон?
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Простые вопросы от новичка

Сообщение anton44eg »

вы сами указали шаблон - views/user/view
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: Простые вопросы от новичка

Сообщение chungachguk »

anton44eg писал(а):вы сами указали шаблон - views/user/view
Это то, да. Но в коде view.php есть только

Код: Выделить всё

<?php
$widget = $this->widget('zii.widgets.CDetailView', array(
    'data' => $model,
    'attributes' => array(
        'id',
        'username',
        //'password',
        //'salt',
        'email',
        'type',
    ),
    
));
 
Откуда этот виджет берет структуру HTML или все строго прописано внутри кода и не вынесено в отдельный файл?
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Простые вопросы от новичка

Сообщение anton44eg »

свой скин можно задать через http://www.yiiframework.com/doc/api/1.1 ... kin-detail
Аватара пользователя
greatdane
Сообщения: 408
Зарегистрирован: 2010.10.20, 14:05
Откуда: Электросталь
Контактная информация:

Re: Простые вопросы от новичка

Сообщение greatdane »

А где должен лежать свой скин?
Дефолтные, если я правильно понимаю, лежат в framework/zii/widgets/assets.
Куда свой класть?
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Простые вопросы от новичка

Сообщение anton44eg »

насколько помню views/CDetailView/your_skin_name.php
Аватара пользователя
greatdane
Сообщения: 408
Зарегистрирован: 2010.10.20, 14:05
Откуда: Электросталь
Контактная информация:

Re: Простые вопросы от новичка

Сообщение greatdane »

Это в директории фреймворка или в директории приложения?
Ответить