vinegredz Posted December 15, 2018 Share Posted December 15, 2018 Здравствуйте! У меня кириллический домен. Используй в разных частях шаблона вот такой код:\ {$comment->item()->url()} Проблема в том, что в итоге на сайте часть URL декодирована и читабельна для человека, а основная часть домена (до первого /) в кодировке punycode. Вопрос, как модифицировать этот код, чтобы URL был читабельным целиком? Link to comment Share on other sites More sharing options...
Dmitriy427 Posted December 16, 2018 Share Posted December 16, 2018 {{$c_url = str_replace( $_SERVER['HTTP_HOST'], idn_to_utf8($_SERVER['HTTP_HOST']), $comment->item()->url() );}} {$c_url} Link to comment Share on other sites More sharing options...
vinegredz Posted December 16, 2018 Author Share Posted December 16, 2018 Страницы рендерится с ошибкой: Error: Call to undefined function IPS\Theme\idn_to_utf8() (0) Link to comment Share on other sites More sharing options...
Dmitriy427 Posted December 16, 2018 Share Posted December 16, 2018 Нужно подключить расширение php-intl. Как именно, зависит от операционной системы и версии PHP. В линуксах обычно достаточно добавить в php.ini строку:extension=intl.soЛибо установить пакет расширения из репозитория. После любого из вариантов изменения конфигурации PHP необходимо перезапустить вебсервер. Link to comment Share on other sites More sharing options...
siv1987 Posted December 16, 2018 Share Posted December 16, 2018 Зачем его декодировать? В исходном коде ссылке правильно должен быть punycode. Способ из серий топор:{str_replace( $_SERVER['HTTP_HOST'], 'домен', $comment->item()->url() )} Link to comment Share on other sites More sharing options...
Dmitriy427 Posted December 16, 2018 Share Posted December 16, 2018 {str_replace( $_SERVER['HTTP_HOST'], 'домен', $comment->item()->url()}Закрывающей круглой скобки не хватает. Link to comment Share on other sites More sharing options...
siv1987 Posted December 16, 2018 Share Posted December 16, 2018 Исправил. Писал код с телефона. Link to comment Share on other sites More sharing options...
vinegredz Posted December 17, 2018 Author Share Posted December 17, 2018 Спасибо за попытки помочь, но с этим кодом: {str_replace( $_SERVER['HTTP_HOST'], 'domen.ru', $comment->item()->url())} Шаблон даже не сохраняется, говорит ошибка в коде. А если бы изначальный код: {$comment->item()->url()} Работал корректно, то я бы и не пытался решить проблему. Пробовал в conf_global.php править домен на кириллический, но тогда вообще ничего не работает. Link to comment Share on other sites More sharing options...
newbie Posted December 17, 2018 Share Posted December 17, 2018 {str_replace( $_SERVER['HTTP_HOST'], 'domen.ru', $comment->item()->url())}{expression="str_replace( $_SERVER['HTTP_HOST'], 'domen.ru', $comment->item()->url())"} Link to comment Share on other sites More sharing options...
vinegredz Posted December 17, 2018 Author Share Posted December 17, 2018 Спасибо, это работает! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now