Сокращение визуального представления длинных ссылок

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 21 год 4 месяца
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза

Сокращение визуального представления длинных ссылок

Сообщение Поручик »

В phpbb3 есть фича, урезающая визуальное представление длинных ссылок для предотвращения горизотального скроллинга, известная как мод Chunk Long Urls для phpBB2. Но вот портируя для Олимпуса одну фичу, и копавшись в коде, с удивлением обнаружил, что для локальных ссылок такое сокращение не происходит.
Вот пример
Внешняя ссылка
http://www.phpbb.com/community/search.p ... 1%81%D0%BA

Локальная ссылка
http://www.phpbbguru.net/community/post ... de#p206418
Или это недосмотр разработчиков, или фича, по крайней мере сообщений на эту тему не нашел.

Для себя пофиксил так

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

#
#---- [OPEN] ------------------
#
includes/functions_content.php

#
#---- [FIND] ------------------
# Around line 570
#
			$text			= $relative_url;

#
#---- [REPLACE WITH] ------------------
#
			$text			= (strlen($relative_url) > 55) ? substr($relative_url, 0, 39) . ' ... ' . substr($relative_url, -10) : $relative_url;
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
easyrider
phpBB 1.0.0
Сообщения: 3
Стаж: 18 лет 10 месяцев

Re: Сокращение визуального представления длинных ссылок

Сообщение easyrider »

Хм, а у меня так не получилось - если давать ссылку в теме на пост в этой же теме, то ссылка укорачивается не полностью. Версия Олимпуса 3.0.4, кеш очишал, и форума и браузера, правил файл Notepad+++. Подскажите что ещё надо сделать.
MAzZY
Бывший член :)
Сообщения: 2925
Стаж: 21 год 4 месяца
Благодарил (а): 79 раз
Поблагодарили: 69 раз
Забанен: Бессрочно

Re: Сокращение визуального представления длинных ссылок

Сообщение MAzZY »

В некоторых случаях необходимо видеть длинные ссылки полностью, без сокращения.
Показывать их в теме не всегда удобно - может растянуться шаблон или просто захламится сообщение. Есть более грамотное решение - показывать длинные ссылки в теме в сокращенном виде, а в режиме для печати - без сокращения.

Делается это очень просто
OPEN viewtopic.php
FIND

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

// Parse the message and subject
   $message = censor_text($row['post_text']); 
ADD AFTER

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

     if ($view == 'print')
       {
          $message = preg_replace('#<!\-\- ([lmw]) \-\-><a (class="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#', '<!-- \1 --><a \2href="\3">\3</a><!-- \1 -->', $message);
       } 
OPEN styles\prosilver\template\viewtopic_print.html
FIND

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

<div class="content">
REPLACE WITH

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

<div class="content" style="word-wrap: break-word;">
Или же subsilver2
OPEN styles\subsilver2\template\viewtopic_print.html
FIND

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

<td colspan="2"><hr class="sep" />{postrow.MESSAGE}
REPLACE WITH

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

<td colspan="2" style="word-wrap: break-word;"><hr class="sep" />{postrow.MESSAGE}
Спасибо: MIT и nissin

Вернуться в «Поддержка phpBB 3.0.х»