Страница 1 из 1

Своё меню в админке пользователя

СообщениеДобавлено: 29 авг 2014, 10:41
cianu
В PRO-версии 1.9 при заходе пользователя в свою админку (сайт.ру/usercpanel) имеется список добавленных им объявлений. Напротив каждого объявления имеются 3 мизерных кнопки для его: просмотра, редактирования, удаления. Задался целью поставить туда свою кнопку покрупней, и оставить только кнопку редактирования (просмотр и удаление убрать).

Захожу в /themes/atlas/views/modules/userads/views/index.php внизу смотрю код:
Код: Выделить всё
$columns[] = array(
    'class'=>'CButtonColumn',
    'deleteConfirmation' => tc('Are you sure you want to delete this item?'),
    'viewButtonUrl' => '$data->getUrl()',
    'buttons' => array(
        'update' => array(
            'url' => 'Yii::app()->createUrl("/userads/main/update", array("id" => $data->id))',
        ),
        'delete' => array(
            'url' => 'Yii::app()->createUrl("/userads/main/delete", array("id" => $data->id))',
        ),
    ),
);
 


Как я понял класс берётся из CButtonColumn - заранее зарезервированного во фреймворке, не хотелось бы там что-то менять, вдруг он используется где то ещё. Подскажите как сюда вставить свою одну кнопку редактирования?

Re: Своё меню в админке пользователя

СообщениеДобавлено: 29 авг 2014, 11:18
Xpycm
У CButtonColumn есть свойство 'template' : http://www.yiiframework.com/doc/api/1.1 ... ate-detail

Пример использования: http://www.yiiframework.com/wiki/106/us ... cgridview/

В самом продукте достаточно много примеров.

Например в файле protected\modules\apartments\views\backend\admin.php
Код: Выделить всё
...
'template'=>'{up}{down}{view}{update}{delete}',
...
'up' => array(
    'label' => tc('Move an item up'),
    'imageUrl' => $url = Yii::app()->assetManager->publish(
        Yii::getPathOfAlias('zii.widgets.assets.gridview').'/up.gif'
    ),
    'url'=>'Yii::app()->createUrl("/apartments/backend/main/move", array("id"=>$data->id, "direction" => "down", "catid" => "0"))',
    'options' => array('class'=>'infopages_arrow_image_up'),

    'visible' => '$data->sorter < "'.$maxSorter.'"',
    'click' => "js: function() { ajaxMoveRequest($(this).attr('href'), 'apartments-grid'); return false;}",
),
...
 

Re: Своё меню в админке пользователя

СообщениеДобавлено: 29 авг 2014, 11:54
cianu
Спасибо за наводку, разобрался. Всё получилось.