Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 64 Ответов
  • 16161 Просмотров
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
Работает так:
Если включен только SEF Kunena - убирает лишние тире из ссылок. Оставляет одно для совместимости. Ссылка получается такая: мойсайт.ру/forum/28-/20688-#20710
то есть остаётся одно тире после номера категории или темы.
Включить поддержку UTF8 заменено на включение транслитерации. Ссылки получаем такого вида:
мойсайт.ру/forum/64-flud/9927-igra-v-slova
Не использовать ID категорий включать категорически нельзя только со включенным SEF Kunena ибо в категорию без названия и без кода не попадёте.
Можно включить со включенной Включить поддержку UTF8, но тоже не советую для упрощения дальнейшего перехода на новые версии Kunena и т.д.
В общем включаем либо
ДА, НЕТ, НЕТ - убираем лишние тире, либо
ДА, НЕТ, ДА - включаем транслитерацию
Полученные с такими настройками ссылки работают даже на другой копии сайта с оригинальным router.php. Видимо ему главное, чтобы был номер раздела, номер категории и номер поста, если надо, а текст можно разный написать.

p.s. Если пишите, что работает или не работает - пишите какие выставлены настройки SEO в Kunena.
p.s.s. Теоретически, правила транслитерации можно было бы положить в kunena.russian.php и аналогичные для других языков.

Для версии 1.5.9 - файл приложен,
для 1.6.1 тут: http://www.kunena.org/media/kunena/attachments/9296/router_1.6.1.zip
для 1.7.0 тут: http://www.kunena.org/media/kunena/attachments/11135/router1.7.0.zip

[вложение удалено Администратором]
« Последнее редактирование: 23.09.2011, 19:34:35 от ChaosHead »
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
не совсем понял причину отключения код вроде и так не работает или нет?

Кстати на 1.5.11 тоже работает если что...)
Код
//off//		return trim(preg_replace(array('/\s+/','/[\$\&\+\,\/\:\;\=\?\@\'\"\<\>\#\%\{\}\|\\\^\~\[\]\`\.]/'), array('-',''), $str));

Код
// { Cha0sHead
                $gost = array(
                   "Рђ"=>"A","Р‘"=>"B","Р’"=>"V","Р“"=>"G","Р”"=>"D",
                   "Р•"=>"E","РЃ"=>"JO","Р–"=>"ZH",
                   "Р—"=>"Z","Р˜"=>"I","Р™"=>"J","Рљ"=>"K","Р›"=>"L",
                   "Рњ"=>"M","Рќ"=>"N","Рћ"=>"O","Рџ"=>"P","Р "=>"R",
                   "РЎ"=>"S","Рў"=>"T","РЈ"=>"U","Р¤"=>"F","РҐ"=>"H",
                   "Р¦"=>"C","Р§"=>"CH","РЁ"=>"SH","Р©"=>"SHH","РЄ"=>"",
                   "Р«"=>"Y","Р¬"=>"","Р­"=>"JE","Р®"=>"YU","РЇ"=>"YA",
                   "Р°"=>"a","Р±"=>"b","РІ"=>"v","Рі"=>"g","Рґ"=>"d",
                   "Рµ"=>"e","С‘"=>"jo","Р¶"=>"zh",
                   "Р·"=>"z","Рё"=>"i","Р№"=>"j","Рє"=>"k","Р»"=>"l",
                   "Рј"=>"m","РЅ"=>"n","Рѕ"=>"o","Рї"=>"p","СЂ"=>"r",
                   "СЃ"=>"s","С‚"=>"t","Сѓ"=>"u","С„"=>"f","С…"=>"h",
                   "С†"=>"c","С‡"=>"ch","С?"=>"sh","С‰"=>"shh","СЉ"=>"",
                   "С‹"=>"y","СЊ"=>"","СЌ"=>"je","СЋ"=>"yu","СЏ"=>"ya"," "=>"-"
                );
              
                $str1 = trim($str);
                $str1=strtr($str1, $gost);
$str1=preg_replace(array('/\s+/','/[\$\&\+\,\/\:\;\=\?\@\'\"\<\>\#\%\{\}\|\\\^\~\[\]\`\.]/'), array('-',''), $str1);
              
                // remove any '-' from the str they will be used as concatonater
                $str1 = str_replace ('-', ' ', $str1);

                // lowercase and trim
                $str1 = trim (strtolower ($str1));
 
                // remove any duplicate whitespace, and ensure all characters are alphanumeric
                $str1 = preg_replace(array('/\s+/','/[^A-Za-z0-9\-]/'), array('-','-'), $str1);

return $str1;
// Cha0sHead }
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
leo78, там эта замена перенесена и работает в 62-й строке.
Я для удобства оставил копию отключенную, чтобы видно было, что было изначально. На случай если вдруг надо будет всё вернуть как было, чтобы долго не разбираться. Мне так удобнее просто.
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Кстати есть ещё вопрос я заметил что при Расширенный поиск
например "фото" выдаёт ошибку:
Fatal error: Call to undefined function mb_substr() in /components/com_kunena/class.kunena.php  on line 1380
Результаты поиска Искали: фото  

Я заменил файл class.kunena.php из своей версии и всё работает...)

   
Код
return mb_substr($str, $start, $length, $encoding);
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
На Вашем хостинге отключена поддержка функции mb_substr()
Да она вроде поумолчанию выключена :/
Похоже что ошибка возникает из-за того, что router.php я сохранил в кодировке utf8, чтобы сохранить русские символы.
С router.php Адептуса кстати та-же беда. :( http://joomlaforum.ru/index.php?topic=107423.0
Нужно включить на сервере mb_substr(). Так советуют на офф форуме.
Цитировать
on windows based servers - edit php.ini and add

extension=php_mbstring.dll

on linux servers (that support YUM install) run

yum install php-mbstring

Или вроде можно mb_substr() заменить на JString::substr()
---
Я наверное на днях соберу свои скудные знания в английском. Переведу и опубликую у них эту тему. Может кто для других языков адаптирует себе. И заодно про этот mb_substr() напишу.

p.s. Что самое забавное, сам уже отказался от SEF в Kunena, т.к. активно использую компонент Joomlastats. А он изначально не работает с SEF и это заявлено разработчиками :((( А если включить его, то все страницы на форуме, на которые заходил пользователь, определяются им как основная страница форума. Ну то есть получается, что учет посещений по форуму не ведётся.
Пришлось выбирать, что больше нужно.
« Последнее редактирование: 17.04.2010, 04:10:58 от ChaosHead »
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Ну в принципе я убрал эту ошибку сделав так:
Код
//off//  return mb_substr($str, $start, $length, $encoding);


Вроде теперь пашет и находит  :laugh:
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
Да это вроде как обрезка длины строки. Не знаю для чего она там нужна, но вроде тока в поиске испльзуется. Лучше не удаляй, а на
Код
JString::substr($str, $start, $length, $encoding);
замени, так будет и обрезать.  ;D
« Последнее редактирование: 17.04.2010, 12:51:12 от ChaosHead »
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Да это вроде как обрезка длины строки. Не знаю для чего она там нужна, но вроде тока в поиске испльзуется. Лучше не удаляй, а на
Код
JString::substr($str, $start, $length, $encoding);
замени, так будет и обрезать.  ;D

Да не стоит я в PHP v5.1.6 включил модуль mbstring Предоставляет функции для обработки строк в мультибайтных кодировках.
*

leo78

  • Завсегдатай
  • 1018
  • 62 / 8
  • I left from paradise!?...
Интересует мнение как править такие ошибки search

Это ошибки на странице поиск ссылка
« Последнее редактирование: 18.04.2010, 23:07:35 от leo78 »
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
*

nbserg

  • Захожу иногда
  • 166
  • 0 / 0
а для 1,6,2 подойдет роутер от 1,6,1?
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
до 1,6,2 руки ещё не дошли не смотрел даже.
*

altvvc

  • Давно я тут
  • 523
  • 22 / 0
На 1.62 пока работает на локалке. Поиск ни смотрел еще.
Красота спасет мир, а пофигизм спасет нервы.
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
А чем плох родной?
XviD — ASP-видеокодек (MPEG4-совместимый)
Методика подбора битрейта под ваш исходник для получения оптимального по качеству рипа
Код
19-xvid--asp-videokodek-mpeg4-sovmestimyj/
218-metodika-podbora-bitrejta-pod-vash-ishodnik-dlja-poluchenija-optimalnogo-po-kachestvu-ripa.html
Я с мобильного, в основном...
*

Жук

  • Захожу иногда
  • 79
  • 7 / 0
Плагин yvTransliterate тоже может транслитерировать урлы Кунены автоматом. Поддержку UTF-8 в форуме надо выключить, Не использовать ID категорий - Нет.
« Последнее редактирование: 21.01.2011, 20:52:23 от Жук »
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
окей, спасибо, будем знать такой. Но мне кажется через родной роутер минимальная будет нагрузка на хостинг. Кому это не критично, то через плагин наверное удобнее и проще.
*

nbserg

  • Захожу иногда
  • 166
  • 0 / 0
чаос подскажи что пофиксить в роутере или выложи новый
проблема
топик с ! знаком на конце заканчивается с -
Привет всем! получается
privet-vsem-
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
Попробуй заменить
Код
$str1=preg_replace(array('/\s+/','/[\$\&\+\,\/\:\;\=\?\@\'\"\<\>\#\%\{\}\|\\\^\~\[\]\`\.]/'), array('-',''), $str1);
на
Код
$str1=preg_replace(array('/\s+/','/[\!\$\&\+\,\/\:\;\=\?\@\'\"\<\>\#\%\{\}\|\\\^\~\[\]\`\.]/'), array('-',''), $str1);

Как поставлю себе 1.6.3 - выложу для неё.
*

dedalik

  • Захожу иногда
  • 98
  • 0 / 2
Подскажите, как убрать или изменить в адресе форума слово forum, которое ставится автоматом на SEF ссылки.
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
*

dedalik

  • Захожу иногда
  • 98
  • 0 / 2
*

Dee79

  • Захожу иногда
  • 89
  • 0 / 0
Помогите убрать кириллицу, Ваш файл в версии форума 1,7 не работает. Спасибо!
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
Есть плагин для транслитерации, про него тут в теме написано. А в Joomla 1.7 уже встроенная транслитерация. Необходимость в этом хаке полностью отпала.
*

Dee79

  • Захожу иногда
  • 89
  • 0 / 0
я имел виду Kunena 1.7.0, после обновления на новую версию старый файл router.php из вашей шапки не подходит. Все ссылки кириллицей, знал бы не обновлялся бы.
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
Dee79, выложил для 1.7.0 в первом посте.
Но только попрошу вас протестировать его перед использованием на живых сайтах и по возможности отписать результат. Я проверил буквально в паре тем, т.к. очень занят сейчас. Я сам им уже не пользуюсь по причинам, которые выше написал.
*

Dee79

  • Захожу иногда
  • 89
  • 0 / 0
Спасибо за файл, но ничего не изменилось кириллица так и осталась. :(
*

Dee79

  • Захожу иногда
  • 89
  • 0 / 0
Мистика какая то, удалил вообще router.php, форум по прежнему работает и ссылки кириллицей. Мужики как у вас обстоят с этим дело?
*

ChaosHead

  • Moderator
  • 5242
  • 451 / 13
Он должен лежать по адресу: мойсайт.ru\components\com_kunena
*

Dee79

  • Захожу иногда
  • 89
  • 0 / 0
Он должен лежать по адресу: мойсайт.ru\components\com_kunena

Так точно, там ему и место. Но в седьмой версии форума что то изменили, никак не могу разобраться.
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Зачем ковырять файлы, для Joomla 1.5 есть плагин
joomlaforum.ru/index.php/topic,76921.0.html
Для Joomla 1.6/1.7 это не нужно, все встроено в локализацию...

Ещё вопросы?
Я с мобильного, в основном...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не подхватывается файл локализации компонента Kunena v6.0.3

Автор Александр Кардаш

Ответов: 1
Просмотров: 1492
Последний ответ 02.04.2023, 18:12:09
от Александр Кардаш
Нужна помощь в переносе форума с Kunena на wordpress и любой плагин форума

Автор Zoltar22

Ответов: 0
Просмотров: 1215
Последний ответ 19.10.2022, 04:32:49
от Zoltar22
Форум Kunena. нет поля для ввода текста

Автор sarvasvova

Ответов: 2
Просмотров: 1659
Последний ответ 02.08.2022, 09:32:31
от crimeafrend
Kunena при создании новой темы не выводит поле для ввода текста

Автор sarvasvova

Ответов: 0
Просмотров: 2990
Последний ответ 18.11.2021, 00:31:10
от sarvasvova
Русификация Kunena

Автор pavel82

Ответов: 5
Просмотров: 28234
Последний ответ 04.06.2021, 14:44:49
от Elya