Решено Ограничение длины при включении в SEO замены на title

Статус
В этой теме нельзя размещать новые ответы.

GarrySt

Мудрила
Premium
Сообщения
765
Реакции
598
Баллы
11,090
Доброго времени суток. Вот такой вопрос. В разделе СЕО ( /admin.php?options/list/seo ) включено "Преобразовывать URL-адреса в заголовки страниц"

Столкнулся с такой проблемой, что некоторые деятели такой длиннющий title прописывают своему сайту, что смотря во что превращается URL на их сайт, не знаю, рыдать или смеяться. Но это лирика.

Как то можно ограничить в кол-ве символов длину строки замены URL на title?
 
Думаю гуру скоро подянутся
Очень надеюсь :)

Я таки извеняюсь за АП, но в последнее время такая активность, что аж радует, но вдруг просто тема потерялась и кто то не заметил :(
 
Править только в коде, авторами ограничение не предусмотрено.

library/XenForo/BbCode/Formatter/BbCode/AutoLink.php - вот в этом файле находим функцию protected function _getUrlTitle($url) - в ней собственно происходит получение названия ссылки, а значит и урезать тоже будем в ней. Строка 415 у нас представляет собой окончание обработки заголовка:
PHP:
            $title = str_replace("\n", ' ', trim($title));
А значит именно после нее мы добавим свою обработку, в которой и будем урезать длину ссылки:
PHP:
            $title = trim(mb_substr($title, 0, 250, 'UTF-8')) . '...';
Собственно что мы тут сделали: обрезали строку (т.к. она в UTF-8 - соответствующей функцией) до 250 символов, убрали пробельные символы в ее начале и конце, которые могли после укорачивания появиться и в конце троеточие прицепили, чтобы смотрелось красиво.

Ну и да, все это дело надо делать в виде модификации по уму (но так как это ядро движка, то тут тоже минусов много), ну или не забывать после каждого обновления повторять.
 
  • Мне нравится
Реакции: Hope
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу