Вывод описания

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

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

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

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

Вывод описания

Сообщение lomuk » 10 окт 2013, 16:12

как отменить в описании автоматическое форматирование текста?

Был такой:

Код: Выделить всё
1111
   11231
 321 
     543534


Стал такой:
Код: Выделить всё
1111 11231 321 543534
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Вывод описания

Сообщение Koduc » 11 окт 2013, 05:31

Тут единственное что можно просто сделать - это применить полноценный редактор для этого текста. Для этого откройте файл /protected/modules/apartments/views/backend/__from.php
Найдите там код
Код: Выделить всё
    $this->widget('application.modules.lang.components.langFieldWidget', array(
        
'model' => $model,
        
'field' => 'description',
        
'type' => 'text'
    
)); 

и замените на
Код: Выделить всё
    $this->widget('application.modules.lang.components.langFieldWidget', array(
        
'model' => $model,
        
'field' => 'description',
        
'type' => 'text-editor'
    
)); 

- это включает редактор. Теперь чтобы корректно отображалось. Ткройте файл /protected/modules/views/_tab_general.php. Найдите:
Код: Выделить всё
echo '<dt>'.tt('Description').':</dt><dd>'.CHtml::encode($data->getStrByLang('description')).'</dd>'

и змените на
Код: Выделить всё
echo '<dt>'.tt('Description').':</dt><dd>'.$data->getStrByLang('description').'</dd>'
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20

Re: Вывод описания

Сообщение lomuk » 14 окт 2013, 10:46

Спасибо
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Вывод описания

Сообщение gorlychev » 21 янв 2014, 21:34

У меня нет файла
/protected/modules/views/_tab_general.php.

Open Real Estate PRO 1.4.3
gorlychev
Незнакомец
 
Сообщения: 16
Зарегистрирован: 26 фев 2013, 16:01
Очки репутации: 0

Re: Вывод описания

Сообщение Koduc » 22 янв 2014, 15:25

gorlychev писал(а):У меня нет файла
/protected/modules/views/_tab_general.php.

Open Real Estate PRO 1.4.3

Значит посмотрите в /protected/modules/apartments/views/_view.php
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20

Re: Вывод описания

Сообщение Morozikfeo » 14 мар 2014, 18:26

Добрый день!
версия Open Real Estate FREE 1.7.2, 2014
Файл _tab_general.php находиться тут /protected/modules/apartments/views/
всё сделал как описано, редактор появился, ввожу текст, сохраняю, текста в описании нет, захожу снова редактировать и в редакторе текст тоже пропадает. Может для данной версии есть нюансы?
Morozikfeo
Незнакомец
 
Сообщения: 1
Зарегистрирован: 14 мар 2014, 18:19
Очки репутации: 0

Re: Вывод описания

Сообщение SergeyDenisenko » 15 апр 2015, 23:07

Как это всё проделать в 1.1 pro - atlas?
SergeyDenisenko
Гражданин
Гражданин
 
Сообщения: 67
Зарегистрирован: 04 апр 2015, 09:54
Очки репутации: 0

Re: Вывод описания

Сообщение andipas » 16 апр 2015, 10:08

SergeyDenisenko писал(а):Как это всё проделать в 1.10.0 pro - atlas?


Изменения актуальны для версий >= 1.9.0

Откройте файл protected/modules/formdesigner/models/HFormEditor.php

Найдите там код
Код: Выделить всё
            if ($isShowTip)
                echo Apartment::getTip($row['field']);
 

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

            if
($row['field'] == 'description'){
                $row['type'] = FormDesigner::TYPE_TEXT_AREA_WS;
            } 

в этом же файле код:
Код: Выделить всё

                        Yii
::app()->controller->widget('application.extensions.ckeditor.CKEditor', array(
                            'model' => $model,
                            'attribute' => $row['field'],
                            'language' => '' . Yii::app()->language . '',
                            'editorTemplate' => 'advanced', /* full, basic */
                            'skin' => 'kama',
                            'toolbar' => array(
                                array('Source', '-', 'Bold', 'Italic', 'Underline', 'Strike'),
                                array('Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo'),
                                array('NumberedList', 'BulletedList', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'),
                                array('Styles', 'Format', 'Font', 'FontSize', 'TextColor', 'BGColor'),
                                array('Image', 'Link', 'Unlink', 'SpecialChar'),
                            ),
                            'options' => $options,
                        ));
 


замените на
Код: Выделить всё

                    if 
($row['is_i18n']) {
                        Yii::app()->controller->widget('application.modules.lang.components.langFieldWidget', array(
                            'model' => $model,
                            'field' => $row['field'],
                            'type' => 'text-editor'
                        ));
                    } else {
                        Yii::app()->controller->widget('application.extensions.ckeditor.CKEditor', array(
                            'model' => $model,
                            'attribute' => $row['field'],
                            'language' => '' . Yii::app()->language . '',
                            'editorTemplate' => 'advanced', /* full, basic */
                            'skin' => 'kama',
                            'toolbar' => array(
                                array('Source', '-', 'Bold', 'Italic', 'Underline', 'Strike'),
                                array('Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo'),
                                array('NumberedList', 'BulletedList', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'),
                                array('Styles', 'Format', 'Font', 'FontSize', 'TextColor', 'BGColor'),
                                array('Image', 'Link', 'Unlink', 'SpecialChar'),
                            ),
                            'options' => $options,
                            'htmlOptions' => array('id' => $model->id)
                        ));
                    }
 


- это включает редактор. Теперь чтобы корректно отображалось. Найдите:
Код: Выделить всё
                $value = is_string($model->$row['field']) ? CHtml::encode($model->$row['field']) : '???'; 


добавьте после этой строчки:
Код: Выделить всё

                if
($row['field'] == 'description'){
                    $p = new CHtmlPurifier;
                    $p->options = array(
                        'HTML.SafeObject'=>true,
                        'Output.FlashCompat'=>true,
                    );
                    $value = $p->purify($model->$row['field']);
                }
 
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30

Re: Вывод описания

Сообщение SergeyDenisenko » 17 апр 2015, 00:14

Почти всё хорошо...
Но теперь, когда Энтером разбиваешь строки - листается страница браузера..
SergeyDenisenko
Гражданин
Гражданин
 
Сообщения: 67
Зарегистрирован: 04 апр 2015, 09:54
Очки репутации: 0

Re: Вывод описания

Сообщение andipas » 17 апр 2015, 11:03

SergeyDenisenko писал(а):Почти всё хорошо...
Но теперь, когда Энтером разбиваешь строки - листается страница браузера..


Не понятно, что значит "листается страница браузера" ? Каких либо проблем при разбивке строк "Энтером" в firefox не наблюдаю.
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30

След.

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

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

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

cron