Страница 1 из 1

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

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

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

СообщениеДобавлено: 19 апр 2015, 15:08
Xpycm
В следующей версии ( 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); 


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

Ну и по результатам отпишитесь - интересно, работает или нет.

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

СообщениеДобавлено: 22 апр 2015, 07:11
Георгий
Большое спасибо, все заработало, отображается как надо. Изменения появились уже после выполнения пятого пункта (до штрихпунктира). Я в нес все изменения как Вы рекомендовали. Еще раз спасибо.
И немного не по теме: В этом же блоке под строкой "Показать телефон" есть строчка "Все объявления(ХХ)" - где указываются все объявления автора и их количество. Т.к. у меня автор один- т.е. я, как можно корректно убрать эту строчку?

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

СообщениеДобавлено: 22 апр 2015, 09:17
Xpycm
В этом же файле ( 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>'

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

СообщениеДобавлено: 22 апр 2015, 13:49
Георгий
Спасибо, все получилось.