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

насчет платных услуг

СообщениеДобавлено: 28 июл 2016, 18:13
vanred79
Нужно как то выделить объявление (покрасить) в личном кабинете пользователя, если оно поднято или добавлено в спец.предложения. Просто некоторые пользователи не могут понять к каким объявлениям они применили платные услуги, так как срок действия платной услуги появляется только при наведении мыши

Re: насчет платных услуг

СообщениеДобавлено: 29 июл 2016, 13:28
andipas
Для этого случая в yii для таблиц используется параметр rowCssClassExpression

Таблица в юзерке формируется в файле themes/atlas/views/modules/userads/views/index.php

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

$this
->widget('NoBootstrapGridView', array(
    
'id'=>'userads-grid',
        
'rowCssClassExpression' => '$data->is_special_offer ? "red" : ""'// добавить сюда
 


таким способом строки с объявлением которое (добавлено в спец.предложения) будут иметь css класс red, укажите стили для этого класса чтобы строка была нужного цвета

также можно сделать так

Код: Выделить всё
'rowCssClassExpression' => '$data->getCssRow()',  


теперь в модели Apartment нужно реализовать код функции getCssRow

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

    
public function getCssRow(){
        if(
$this->is_special_offer || $this->date_up_search != '0000-00-00 00:00:00'){
            return 
'red';
        }
        return 
'';
    }
 

Re: насчет платных услуг

СообщениеДобавлено: 30 июл 2016, 16:05
vanred79
andipas большое спасибо за код! Теперь моим пользователям более понятно, какие объявления у них подняты

Re: насчет платных услуг

СообщениеДобавлено: 10 авг 2016, 12:16
vanred79
Добрый день andipas! Подскажите а возможно сделать, чтобы значение title было видно постоянно без наведения мыши?

Re: насчет платных услуг

СообщениеДобавлено: 10 авг 2016, 12:21
andipas
Значение title и так видно в списке объявлений пользователя, скорее всего у вас были изменения в коде. Сравните с обычной версией.

Re: насчет платных услуг

СообщениеДобавлено: 17 фев 2022, 14:19
mindeath
andipas писал(а):Для этого случая в yii для таблиц используется параметр rowCssClassExpression

Таблица в юзерке формируется в файле themes/atlas/views/modules/userads/views/index.php

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

$this
->widget('NoBootstrapGridView', array(
    'id'=>'userads-grid',
        'rowCssClassExpression' => '$data->is_special_offer ? "red" : ""', // добавить сюда
 


таким способом строки с объявлением которое (добавлено в спец.предложения) будут иметь css класс red, укажите стили для этого класса чтобы строка была нужного цвета

также можно сделать так

Код: Выделить всё
'rowCssClassExpression' => '$data->getCssRow()'


теперь в модели Apartment нужно реализовать код функции getCssRow

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

    public function getCssRow
(){
        if($this->is_special_offer || $this->date_up_search != '0000-00-00 00:00:00'){
            return 'red';
        }
        return '';
    }
 


Не совсем понял, к примеру у меня тема Базис и код в нужном фрагменте имеет такой вид:

<?php
$this->widget('NoBootstrapListView', array(
'afterAjaxUpdate' => 'function(){ if(typeof initBootstrapConfirm === "function"){initBootstrapConfirm();} }',
'dataProvider' => $model->search(),
'itemView' => '//modules/userads/views/_view_listing',
'viewData' => array(),
'itemsTagName' => 'ol',
'itemsCssClass' => 'my-listing-blocks',
'id' => 'my-listing-blocks',
'sortableAttributes' => array(),
));

Что куда нужно вставить, чтобы премиальные объявления имели цвет #DAA520 ?