Прайс-лист

Обсуждение смены дизайна, дополнительного функционала, SEO и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

Прайс-лист

Сообщение REM » 09 авг 2017, 16:59

Возникла необходимость указывать две цены в прайсе (от и до).
В таблице создал два дополнительных поля (costto_ru и costto_en) .
Внес изменения в в файлы Price.php
Код: Выделить всё

public function rules
() {
        return array(
            array('cat_id', 'required'),
            array('name', 'i18nRequired'),
            array('name, cost, costto', 'i18nLength', 'max' => 255),
            array('is_bold', 'boolean'),
            array($this->getI18nFieldSafe(), 'safe'),
            array('cat_id, date_created, active, is_bold', 'safe', 'on' => 'search'),
        );

    public function i18nFields(){
        return array(
            'name' => 'varchar(255) not null',
            'cost' => 'varchar(255) not null',
           'costto' => 'varchar(255) not null',
       );
    }
public function attributeLabels() {
        return array(
            '№' => tc('№'),
            'id' => tc('ID'),
            'cat_id' => tc('Разделитель'),
            'name' => tc('Наименование'),
            'name_separator' => tc('Текст в разделителе'),
            'cost' => tc('Цена до'),
                       'costto' => tc('Цена от'),
            'is_bold' => tc('Выделить жирным текстом'),
            'date_created' => tc('Дата добавления'),
            'dateCreated' => tc('Дата обновления'),
            'active' => tc('Статус'),
        );
    }
public function search() {
        $criteria = new CDbCriteria;
        $lang = Yii::app()->language;

        $criteria->compare($this->getTableAlias().'.cat_id', $this->cat_id);
        
        $criteria
->compare($this->getTableAlias().".name_{$lang}", $this->{'name_'.$lang}, true);
        $criteria->compare($this->getTableAlias().".cost_{$lang}", $this->{'cost_'.$lang}, true);
                $criteria->compare($this->getTableAlias().".costto_{$lang}", $this->{'costto_'.$lang}, true);
        $criteria->compare($this->getTableAlias().'.active', $this->active, true);
        $criteria->order = 'cat.sorter ASC, '.$this->getTableAlias().'.sorter ASC';

        $criteria->with = array('cat');

        return new CustomActiveDataProvider($this, array(
            'criteria' => $criteria,
            'pagination' => array(
                'pageSize' => /*param('adminPaginationPageSize', 20)*/ 100,
            ),
        ));
    }
    

Соответственно добавил поля в views/backend/_form.php, admin.php
views/index.php, widgetPrice_list.php
Но почему то не срабатывает пишет
CException

Не определено свойство "Price.costto".
Мысль - это оргазм мозга. Те, кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать. (М.Кундера)
Аватара пользователя
REM
Гражданин
Гражданин
 
Сообщения: 153
Зарегистрирован: 28 мар 2014, 07:06
Откуда: Первоуральск
Очки репутации: 5

Re: Прайс-лист

Сообщение andipas » 09 авг 2017, 20:36

REM писал(а):Не определено свойство "Price.costto".

Потому что определены 2 другие свойства
REM писал(а):costto_ru и costto_en
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30

Re: Прайс-лист

Сообщение REM » 10 авг 2017, 22:07

Разобрался, связь через class ParentModel extends CActiveRecord не обратил внимания.

Да кстати, у Вас ошибка в разделе Прайс, на странице http://'my site"/price/backend/main/admin кнопка " Добавить наименование" ведет не в то место куда заявлено
Мысль - это оргазм мозга. Те, кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать. (М.Кундера)
Аватара пользователя
REM
Гражданин
Гражданин
 
Сообщения: 153
Зарегистрирован: 28 мар 2014, 07:06
Откуда: Первоуральск
Очки репутации: 5


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4