Вывод нового параметра в widgetApartments_list.php

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

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

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

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

Вывод нового параметра в widgetApartments_list.php

Сообщение mactufill » 25 янв 2019, 13:49

Здравствуйте.
Суть такая в табличном выводе объявлений нужно добавить еще один пункт районы, созданный с помощью модуля редактор форм. Параметр районы выбирается из списка (но там список со множественным выбором ) при добавлении объявления .
В базе данных значения записываются в таблице ore_kv_apartment_reference_values (которые и нужно вывести в зависимости от выбранного пункта при заполнении объявления).
В таблице ore_kv_apartment нет параметра rajon_goroda, он находится в трех других таблицах ore_kv_search_form(которая отвечает за поиск по всей видимости) и в ore_kv_translate_message, ore_kv_formdesigner.

другие параметры я выводил просто потому что не силен не в Yii не в PHP:
Код: Выделить всё
array(
                            'header' => tt('№ Дома', 'apartments'),
                            'type' => 'raw',
                            'value' => '$data->_doma',
                            'htmlOptions' => array('class' => 'ap-view-table-doma'),
                        ),

Но как быть с выводом других параметров не представляю.
Подскажите пожалуйста если кому не сложно.
Версия Open Real Estate PRO V1.19.0
mactufill
Незнакомец
 
Сообщения: 6
Зарегистрирован: 25 авг 2016, 19:49
Очки репутации: 0

Re: Вывод нового параметра в widgetApartments_list.php

Сообщение andipas » 25 янв 2019, 15:33

Для вывода таких значений потребуются доработки.

В файле protected/helpers/HApartment.php нужно добавить функцию если ее там нет, если есть ничего добавлять не нужно:
Код: Выделить всё

public static function getReferenceForCategory
($adId, $catId)
{
    $sql = '
        SELECT    style, type,
                reference_categories.title_'
 . Yii::app()->language . ' as category_title,
                reference_values.title_'
 . Yii::app()->language . ' as value,
                reference_categories.id as ref_id,
                reference_values.id as ref_value_id
        FROM    {{apartment_reference}} reference,
                {{apartment_reference_categories}} reference_categories,
                {{apartment_reference_values}} reference_values
        WHERE    reference.apartment_id = "'
 . intval($adId) . '"
                AND reference_categories.id = "'
 . intval($catId) . '"
                AND reference.reference_id = reference_categories.id
                AND reference.reference_value_id = reference_values.id
        ORDER BY reference_categories.sorter, reference_values.sorter'
;

    return Yii::app()->db->createCommand($sql)->queryAll();
}
 


В модели protected/modules/apartments/models/Apartment.php добавьте функцию
Код: Выделить всё

    public function getHtmlArea
(){
        $dataRef = HApartment::getReferenceForCategory($this->id, 17);
        $html = '';
        if($dataRef){
            $refTitle = $dataRef[0]['category_title'];
            $html .= '<h4>'.$refTitle.'</h4>';
            $html .= '<ul>';
            foreach($dataRef as $ref){
                $html .= '<li>'.$ref['value'].'</li>';
            }
            $html .= '</ul>';
        }
        return $html;
    }
 

цифру 17 поменяйте на id категории районы из таблицы ore_kv_apartment_reference_categories

В файле themes/classic/views/modules/apartments/views/widgetApartments_list.php добвьте

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

                        array
(
                            'header' => tt('Район', 'apartments'),
                            'type' => 'raw',
                            'value' => '$data->getHtmlArea()'
                        ),
 
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30

Re: Вывод нового параметра в widgetApartments_list.php

Сообщение mactufill » 25 янв 2019, 21:43

andipas, спасибо за ответ.
Но не работает почему-то, никаких ошибок просто пустые поля.
mactufill
Незнакомец
 
Сообщения: 6
Зарегистрирован: 25 авг 2016, 19:49
Очки репутации: 0

Re: Вывод нового параметра в widgetApartments_list.php

Сообщение andipas » 28 янв 2019, 09:43

mactufill писал(а):andipas, спасибо за ответ.
Но не работает почему-то, никаких ошибок просто пустые поля.


Из аз ошибки в 2 примере кода, сейчас исправил.

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

$dataRef 
HApartment::getReferenceForCategory($item->id17);
 

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

$dataRef 
HApartment::getReferenceForCategory($this->id17);
 
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30


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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 19

cron