Как добавить ссылку в объявление?

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

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

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

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

Как добавить ссылку в объявление?

Сообщение makeev » 15 мар 2013, 07:07

Вот есть вопрос, как же сделать так, чтобы в объявлении можно было поставить ссылки или как бы редактор для написания html письма в объявлении. И как можно сделать так, чтобы в объявлении можно было делать абзацы, и чтобы они не сливались в окончательной версии, а то они сливаются в описании и в что рядом. Надеюсь, ответ поможет не только мне. Спасибо.
makeev
Незнакомец
 
Сообщения: 8
Зарегистрирован: 14 мар 2013, 13:12
Очки репутации: 0

Re: Как добавить ссылку в объявление?

Сообщение andipas » 15 мар 2013, 09:07

Важно! Работает только на версии > 1.4

Насколько понял, речь идет о поле "описание" в объявлении. Данное поле отображается при просмотре объявления.

Чтобы вставить wiswig редактор для этого поля, в фале /protected/modules/apartments/views/backend/__form.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/apartments/views/_view.php

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

            if
($data->getStrByLang('description')){
                echo '<p><strong>'.tt('Description').':</strong> '.CHtml::encode($data->getStrByLang('description')).'</p>';
            }
 


поменяйте на

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

            if
($data->getStrByLang('description')){
                echo '<p><strong>'.tt('Description').':</strong> '.$data->getStrByLang('description').'</p>';
            }
 
Часто задаваемые вопросы. Для правки файлов notepad++, netbeans, phpStorm. Для правки CSS firebug.
Аватара пользователя
andipas
Разработчик
Разработчик
 
Сообщения: 695
Зарегистрирован: 28 дек 2011, 22:37
Очки репутации: 30

Re: Как добавить ссылку в объявление?

Сообщение makeev » 15 мар 2013, 11:36

Спасибо, все появилось, вот только сейчас описание есть и в основном и в дополнительном поле. Так и планируется? или можно избавиться от поля описания в дополнительном? И от поля что находится рядом тоже? Это в файле: /protected/modules/apartments/views/backend/__form.php ?
Только вот как называются показатели там в коде:
Количество комнат
Этаж / Этажей всего
Окна выходят
Количество спальных мест
Описание
Что находится рядом

Чтобы ненароком не перепутать, а то категории товара то нужны, ну например, кухня, безопасность
Подскажите% :-)
makeev
Незнакомец
 
Сообщения: 8
Зарегистрирован: 14 мар 2013, 13:12
Очки репутации: 0

Re: Как добавить ссылку в объявление?

Сообщение makeev » 15 мар 2013, 12:35

Блин, после проверки, тестово стал заполнять объявление, не дает мне этого сделать... вот блин, пишет, что в поле название нужно заполнить, и до меня дошло, что этот редактор появился на месте названия, вот что изменилось, нужно получается поменять обратно, оставить поле названия, а вставить за место поля описания во вкладке дополнительно. Так нужно сделать? Так значит что мне нужно поменять в файла, чтобы правильно все было? У меня самая последняя версия, если что.
makeev
Незнакомец
 
Сообщения: 8
Зарегистрирован: 14 мар 2013, 13:12
Очки репутации: 0

Re: Как добавить ссылку в объявление?

Сообщение makeev » 15 мар 2013, 12:55

Все дошло по поводу текста, я просто этот код не туда вставил. Нужно по сути в нужное место, вместо text вставлять text-editor и все будет гуд.
makeev
Незнакомец
 
Сообщения: 8
Зарегистрирован: 14 мар 2013, 13:12
Очки репутации: 0

Re: Как добавить ссылку в объявление?

Сообщение vanred79 » 29 июн 2013, 10:41

Добрый день! В 1.3 как сделать вышеперечисленное
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: Как добавить ссылку в объявление?

Сообщение Koduc » 30 июн 2013, 06:59

vanred79 писал(а):Добрый день! В 1.3 как сделать вышеперечисленное

Глянул код - похоже на то, что точно также. Все нужные элементы для указанного кода были в версии 1.3.2
-- Меньше знаешь - крепче спишь --
Аватара пользователя
Koduc
Ведущий разработчик
Ведущий разработчик
 
Сообщения: 902
Зарегистрирован: 28 дек 2011, 09:11
Очки репутации: 20

Re: Как добавить ссылку в объявление?

Сообщение andipas » 30 июн 2013, 07:50

Koduc писал(а):
vanred79 писал(а):Добрый день! В 1.3 как сделать вышеперечисленное

Глянул код - похоже на то, что точно также. Все нужные элементы для указанного кода были в версии 1.3.2


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

Re: Как добавить ссылку в объявление?

Сообщение Mikado » 22 авг 2013, 08:00

andipas писал(а):Важно! Работает только на версии > 1.4

Насколько понял, речь идет о поле "описание" в объявлении. Данное поле отображается при просмотре объявления.

Чтобы вставить wiswig редактор для этого поля, в фале /protected/modules/apartments/views/backend/__form.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/apartments/views/_view.php

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

            if
($data->getStrByLang('description')){
                echo '<p><strong>'.tt('Description').':</strong> '.CHtml::encode($data->getStrByLang('description')).'</p>';
            }
 


поменяйте на

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

            if
($data->getStrByLang('description')){
                echo '<p><strong>'.tt('Description').':</strong> '.$data->getStrByLang('description').'</p>';
            }
 


Добрый день!

Вставил вышеуказанным способом как описано здесь и здесь viewtopic.php?f=17&t=266 редактор в поле "описание" в объявлении. все работало в поле появилась панелька редактора с кнопками и режимом кода и режимом просмотра - публиковались теги в тексте кода все работало месяца 3 наверно. Сегодня смотрю пропала панелька редактора текст в админке отображается в режиме кода с тегами и ссылками -на сайте все осталось нормально. (прилагаю скриншот и код файлов)


Изображение
Последний раз редактировалось Mikado 22 авг 2013, 08:39, всего редактировалось 1 раз.
Mikado
Незнакомец
 
Сообщения: 10
Зарегистрирован: 10 апр 2013, 01:10
Очки репутации: 0

Re: Как добавить ссылку в объявление?

Сообщение Mikado » 22 авг 2013, 08:21

/protected/modules/apartments/views/backend/__form.php (фрагмент с куском кода)

Код: Выделить всё
        ?>
        <div class="clear"></div>
    </div>

    <div class="clear">&nbsp;</div>

    <?php
[b]    $this->widget('application.modules.lang.components.langFieldWidget', array(
        'model' => $model,
        'field' => 'description',
        'type' => 'text-editor'
    ));[/b]
    ?>

    <div class="clear">&nbsp;</div>

    <?php
[b]    $this->widget('application.modules.lang.components.langFieldWidget', array(
        'model' => $model,
        'field' => 'description_near',
        'type' => 'text-editor'
    ));[/b]
    ?>

    <div class="clear">&nbsp;</div>

    <?php
    $this
->widget('application.modules.lang.components.langFieldWidget', array(
        'model' => $model,
        'field' => 'address',
        'type' => 'string'
    ));
    ?>


Файл шаблона отображения /protected/modules/apartments/views/_view.php (фрагмент с куском кода)

Код: Выделить всё
<div class="viewapartment-description">
            <?php if(param('useShowUserInfo')): ?>
            <?php if (isset($data->user->phone) && $data->user->phone) : ?>
                <p>
                    <strong><?php echo Yii::t('module_apartments', 'Owner phone')?></strong>:&nbsp;<span id="owner-phone"><?php echo CHtml::link(Yii::t('module_apartments', 'Show'), 'javascript: void(0);', array('onclick' => 'generatePhone()')); ?></span>
                </p>
                <?php
                Yii
::app()->clientScript->registerScript('generate-phone', '
                    function generatePhone(){
                        $("span#owner-phone").html(\'<img src="'
.Yii::app()->controller->createUrl('/apartments/main/generatephone', array('id' => $data->id)).'" style="vertical-align: text-top;"/>\');
                    }

                '
, CClientScript::POS_END);
                ?>
                <?php endif; ?>
            <?php
            $additionalInfo 
= 'additional_info_'.Yii::app()->language;
            if (isset($data->user->$additionalInfo) && !empty($data->user->$additionalInfo)) : ?>
                <p>
                    <strong><?php echo tt('Owner additional info', 'common')?></strong>:&nbsp;<?php echo CHtml::encode($data->user->$additionalInfo);?>
                </p>
                <?php endif; ?>
            <?php endif;


[
b]            if($data->getStrByLang('description')){
                echo '<p><strong>'.tt('Description').':</strong> '.$data->getStrByLang('description').'</p>';
            }[/b]

            if($data->getStrByLang('description_near')){
                echo '<p><strong>'.tt('Near').':</strong> '.CHtml::decode($data->getStrByLang('description_near')).'</p>';
            }

            if($data->stationsTitle() || $data->getStrByLang('address')){
                if($data->stationsTitle()){
                    echo '<p><strong>'.tt('Metro').':</strong> '.CHtml::encode($data->stationsTitle()).'</p>';
                }
                $adressFull = '';
                if(isset($data->city) && isset($data->city->name)){
                    $cityName = $data->city->name;
                    if($cityName) {
                        $adressFull = ' '.$cityName;
                    }
                }
                $adress = CHtml::encode($data->getStrByLang('address'));
                if($adress){
                    $adressFull .= ', '.$adress;
                }
                if($adressFull){
                    echo '<p><strong>'.tt('Address').':</strong> '.$adressFull.'</p>';
                }
            }

            if($data->type == Apartment::TYPE_CHANGE && $data->getStrByLang('exchange_to')){
                echo '<p><strong>'.tt('Exchange to', 'apartments').':</strong> '.CHtml::encode($data->getStrByLang('exchange_to')).'</p>';
            }
        ?>

        <?php if(issetModule('bookingcalendar')) :?>
            <?php $this->renderPartial('//../modules/bookingcalendar/views/calendar', array('apartment' => $data)); ?>
        <?php endif; ?>

        <?php
            $prev 
= '';
            $column1 = 0;
            $column2 = 0;
            $column3 = 0;

            foreach($data->getFullInformation($data->id, $data->type) as $item){
                if($item['title']){
                    if($prev != $item['style']){
                        $column2 = 0;
                        $column3 = 0;
                        echo '<div class="clear"></div>';
                    }
                    $$item['style']++;
                    $prev = $item['style'];
                    echo '<div class="'.$item['style'].'">';
                    echo '<span class="viewapartment-subheader">'.CHtml::encode($item['title']).'</span>';
                    echo '<ul class="apartment-description-ul">';
                    foreach($item['values'] as $key => $value){
                        if($value){
                            if (param('useReferenceLinkInView')) {
                                echo '<li><span>'.CHtml::link(CHtml::encode($value), $this->createAbsoluteUrl('/service-'.$key)).'</span></li>';
                            }
                            else {
                                echo '<li><span>'.CHtml::encode($value).'</span></li>';
                            }
                        }
                    }
                    echo '</ul>';
                    echo '</div>';
                    if(($item['style'] == 'column2' && $column2 == 2)||$item['style'] == 'column3' && $column3 == 3){
                        echo '<div class="clear"></div>';
                    }

                }
            }
        ?>
        <div class="clear"></div>
    </div>


Подскажите пожалуйста из за чего могла пропасть панелька редактора с кнопками и что делать? Прошу помочь :) Спасибо! С уважением!
Mikado
Незнакомец
 
Сообщения: 10
Зарегистрирован: 10 апр 2013, 01:10
Очки репутации: 0

След.

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

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

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

cron