Когда доменное имя: *.РФ

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

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

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

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

Когда доменное имя: *.РФ

Сообщение Георгий » 17 апр 2015, 23:12

Здравствуйте.
У меня домен зарегистрирован в зоне *.рф. И при попытке пользователем в карточке товара посмотреть телефон продавца выскакивает надпись:
"Пожалуйста, скажите продавцу, что вы нашли это объявление на сайте xn----8sbafbnyeadl...." и т.д. Некрасиво как-то :(
Как можно сделать чтоб имя сайта отображалось по-русски?
Георгий
Незнакомец
 
Сообщения: 19
Зарегистрирован: 17 апр 2015, 08:21
Очки репутации: 0

Re: Когда доменное имя: *.РФ

Сообщение Xpycm » 19 апр 2015, 15:08

В следующей версии ( 1.11 ) исправим этот недочёт.

Сейчас вы можете проделать следующее:

1) Скачать файл, приложенный к ответу.
2) В папке protected/extensions создать директорию idna.
3) Разархивировать и переместить данный файл в эту директорию ( idna ).
4) В файле config/main-free.php после
Код: Выделить всё
'ext.setReturnUrl.ESetReturnUrlFilter', 

вставить:
Код: Выделить всё
'ext.idna.IdnaConvert', 


5) В файле themes\classic\views\modules\apartments\views\_user_info.php код:
Код: Выделить всё
if($data->canShowInView('phone')) {
    echo '<div class="flash-notice phone-show-alert" style="display: none;">'.Yii::t('common', 'Please tell the seller that you have found this listing here {n}', '<strong>'.str_replace(array('http://', 'www.'), '', Yii::app()->getRequest()->getHostInfo()).'</strong>').'</div>';
}
 


заменить на:
Код: Выделить всё
if($data->canShowInView('phone')) {
    $hostname = IdnaConvert::checkDecode(str_replace(array('http://', 'www.'), '', Yii::app()->getRequest()->getHostInfo()));
    echo '<div class="flash-notice phone-show-alert" style="display: none;">'.Yii::t('common', 'Please tell the seller that you have found this listing here {n}', '<strong>'.$hostname.'</strong>').'</div>';
}
 



=========================

В файле protected\modules\notifier\components\Notifier.php замените:
Код: Выделить всё
$body = str_replace('{host}', Yii::app()->request->hostInfo, $body); 

на:
Код: Выделить всё
$body = str_replace('{host}', IdnaConvert::checkDecode(Yii::app()->request->hostInfo), $body); 


затем:
Код: Выделить всё
$body = str_replace('{fullhost}', Yii::app()->getBaseUrl(true), $body); 

на:
Код: Выделить всё
$body = str_replace('{fullhost}', IdnaConvert::checkDecode(Yii::app()->getBaseUrl(true)), $body); 


а также:
Код: Выделить всё
$body = str_replace('{url}', $url, $body); 

на:
Код: Выделить всё
$body = str_replace('{url}', IdnaConvert::checkDecode($url), $body); 


и
Код: Выделить всё
$body = str_replace('{'.$field.'}', $val, $body); 

на:
Код: Выделить всё
$body str_replace('{'.$field.'}'IdnaConvert::checkDecode($val), $body); 


=========================

Ну и по результатам отпишитесь - интересно, работает или нет.
Вложения
IdnaConvert.zip
(94.56 КБ) Скачиваний: 414
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Когда доменное имя: *.РФ

Сообщение Георгий » 22 апр 2015, 07:11

Большое спасибо, все заработало, отображается как надо. Изменения появились уже после выполнения пятого пункта (до штрихпунктира). Я в нес все изменения как Вы рекомендовали. Еще раз спасибо.
И немного не по теме: В этом же блоке под строкой "Показать телефон" есть строчка "Все объявления(ХХ)" - где указываются все объявления автора и их количество. Т.к. у меня автор один- т.е. я, как можно корректно убрать эту строчку?
Георгий
Незнакомец
 
Сообщения: 19
Зарегистрирован: 17 апр 2015, 08:21
Очки репутации: 0

Re: Когда доменное имя: *.РФ

Сообщение Xpycm » 22 апр 2015, 09:17

В этом же файле ( themes\classic\views\modules\apartments\views\_user_info.php )

удалите код:

Код: Выделить всё
$icon CHtml::image(Yii::app()->theme->baseUrl '/images/design/ads-16.png') . ' ';
echo 
'<li>' $icon $owner->getLinkToAllListings() . '</li>'
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Когда доменное имя: *.РФ

Сообщение Георгий » 22 апр 2015, 13:49

Спасибо, все получилось.
Георгий
Незнакомец
 
Сообщения: 19
Зарегистрирован: 17 апр 2015, 08:21
Очки репутации: 0


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

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

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

cron