Как добавить ссылку в объявление?
Добавлено:
15 мар 2013, 07:07
makeev
Вот есть вопрос, как же сделать так, чтобы в объявлении можно было поставить ссылки или как бы редактор для написания html письма в объявлении. И как можно сделать так, чтобы в объявлении можно было делать абзацы, и чтобы они не сливались в окончательной версии, а то они сливаются в описании и в что рядом. Надеюсь, ответ поможет не только мне. Спасибо.
Re: Как добавить ссылку в объявление?
Добавлено:
15 мар 2013, 09:07
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>';
}
Re: Как добавить ссылку в объявление?
Добавлено:
15 мар 2013, 11:36
makeev
Спасибо, все появилось, вот только сейчас описание есть и в основном и в дополнительном поле. Так и планируется? или можно избавиться от поля описания в дополнительном? И от поля что находится рядом тоже? Это в файле: /protected/modules/apartments/views/backend/__form.php ?
Только вот как называются показатели там в коде:
Количество комнат
Этаж / Этажей всего
Окна выходят
Количество спальных мест
Описание
Что находится рядом
Чтобы ненароком не перепутать, а то категории товара то нужны, ну например, кухня, безопасность
Подскажите%
Re: Как добавить ссылку в объявление?
Добавлено:
15 мар 2013, 12:35
makeev
Блин, после проверки, тестово стал заполнять объявление, не дает мне этого сделать... вот блин, пишет, что в поле название нужно заполнить, и до меня дошло, что этот редактор появился на месте названия, вот что изменилось, нужно получается поменять обратно, оставить поле названия, а вставить за место поля описания во вкладке дополнительно. Так нужно сделать? Так значит что мне нужно поменять в файла, чтобы правильно все было? У меня самая последняя версия, если что.
Re: Как добавить ссылку в объявление?
Добавлено:
15 мар 2013, 12:55
makeev
Все дошло по поводу текста, я просто этот код не туда вставил. Нужно по сути в нужное место, вместо text вставлять text-editor и все будет гуд.
Re: Как добавить ссылку в объявление?
Добавлено:
29 июн 2013, 10:41
vanred79
Добрый день! В 1.3 как сделать вышеперечисленное
Re: Как добавить ссылку в объявление?
Добавлено:
30 июн 2013, 06:59
Koduc
vanred79 писал(а):Добрый день! В 1.3 как сделать вышеперечисленное
Глянул код - похоже на то, что точно также. Все нужные элементы для указанного кода были в версии 1.3.2
Re: Как добавить ссылку в объявление?
Добавлено:
30 июн 2013, 07:50
andipas
Koduc писал(а):vanred79 писал(а):Добрый день! В 1.3 как сделать вышеперечисленное
Глянул код - похоже на то, что точно также. Все нужные элементы для указанного кода были в версии 1.3.2
Скорее всего только в платной версии, в бесплатной 1.3 отличается LangFieldWidget
Re: Как добавить ссылку в объявление?
Добавлено:
22 авг 2013, 08:00
Mikado
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 наверно. Сегодня смотрю пропала панелька редактора текст в админке отображается в режиме кода с тегами и ссылками -на сайте все осталось нормально. (прилагаю скриншот и код файлов)
Re: Как добавить ссылку в объявление?
Добавлено:
22 авг 2013, 08:21
Mikado
/protected/modules/apartments/views/backend/__form.php (фрагмент с куском кода)
- Код: Выделить всё
?>
<div class="clear"></div>
</div>
<div class="clear"> </div>
<?php
[b] $this->widget('application.modules.lang.components.langFieldWidget', array(
'model' => $model,
'field' => 'description',
'type' => 'text-editor'
));[/b]
?>
<div class="clear"> </div>
<?php
[b] $this->widget('application.modules.lang.components.langFieldWidget', array(
'model' => $model,
'field' => 'description_near',
'type' => 'text-editor'
));[/b]
?>
<div class="clear"> </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>: <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>: <?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>
Подскажите пожалуйста из за чего могла пропасть панелька редактора с кнопками и что делать? Прошу помочь :) Спасибо! С уважением!