|
ChaosHead
|
 |
« : 03.04.2010, 03:32:51 » |
|
Работает так: Если включен только 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
Завсегдатай
   
Репутация: +52/-7
Offline
Пол: 
Сообщений: 764
I left from paradise!?...
|
 |
« Ответ #1 : 16.04.2010, 15:00:58 » |
|
не совсем понял причину отключения код вроде и так не работает или нет? Кстати на 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
|
 |
« Ответ #2 : 16.04.2010, 16:54:07 » |
|
leo78, там эта замена перенесена и работает в 62-й строке. Я для удобства оставил копию отключенную, чтобы видно было, что было изначально. На случай если вдруг надо будет всё вернуть как было, чтобы долго не разбираться. Мне так удобнее просто.
|
|
|
|
|
Записан
|
|
|
|
leo78
Завсегдатай
   
Репутация: +52/-7
Offline
Пол: 
Сообщений: 764
I left from paradise!?...
|
 |
« Ответ #3 : 17.04.2010, 02:22:38 » |
|
Кстати есть ещё вопрос я заметил что при Расширенный поиск например "фото" выдаёт ошибку: 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
|
 |
« Ответ #4 : 17.04.2010, 03:26:22 » |
|
На Вашем хостинге отключена поддержка функции 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
Завсегдатай
   
Репутация: +52/-7
Offline
Пол: 
Сообщений: 764
I left from paradise!?...
|
 |
« Ответ #5 : 17.04.2010, 11:37:14 » |
|
Ну в принципе я убрал эту ошибку сделав так: //off// return mb_substr($str, $start, $length, $encoding); Вроде теперь пашет и находит 
|
|
|
|
|
Записан
|
|
|
|
|
ChaosHead
|
 |
« Ответ #6 : 17.04.2010, 12:39:08 » |
|
Да это вроде как обрезка длины строки. Не знаю для чего она там нужна, но вроде тока в поиске испльзуется. Лучше не удаляй, а на JString::substr($str, $start, $length, $encoding); замени, так будет и обрезать. 
|
|
|
|
« Последнее редактирование: 17.04.2010, 12:51:12 от ChaosHead »
|
Записан
|
|
|
|
leo78
Завсегдатай
   
Репутация: +52/-7
Offline
Пол: 
Сообщений: 764
I left from paradise!?...
|
 |
« Ответ #7 : 17.04.2010, 13:31:26 » |
|
Да это вроде как обрезка длины строки. Не знаю для чего она там нужна, но вроде тока в поиске испльзуется. Лучше не удаляй, а на JString::substr($str, $start, $length, $encoding); замени, так будет и обрезать.  Да не стоит я в PHP v5.1.6 включил модуль mbstring Предоставляет функции для обработки строк в мультибайтных кодировках.
|
|
|
|
|
Записан
|
|
|
|
leo78
Завсегдатай
   
Репутация: +52/-7
Offline
Пол: 
Сообщений: 764
I left from paradise!?...
|
 |
« Ответ #8 : 18.04.2010, 22:26:25 » |
|
Интересует мнение как править такие ошибки searchЭто ошибки на странице поиск ссылка
|
|
|
|
« Последнее редактирование: 18.04.2010, 23:07:35 от leo78 »
|
Записан
|
|
|
|
|
ChaosHead
|
 |
« Ответ #9 : 19.04.2010, 11:08:27 » |
|
к сожалению не сильно силён в этом
|
|
|
|
|
Записан
|
|
|
|
|
nbserg
|
 |
« Ответ #10 : 03.01.2011, 03:30:25 » |
|
а для 1,6,2 подойдет роутер от 1,6,1?
|
|
|
|
|
Записан
|
|
|
|
|
ChaosHead
|
 |
« Ответ #11 : 03.01.2011, 03:56:33 » |
|
до 1,6,2 руки ещё не дошли не смотрел даже.
|
|
|
|
|
Записан
|
|
|
|
altvvc
Давно я тут
  
Репутация: +8/-0
Offline
Пол: 
Сообщений: 316
|
 |
« Ответ #12 : 04.01.2011, 22:01:42 » |
|
На 1.62 пока работает на локалке. Поиск ни смотрел еще.
|
|
|
|
|
Записан
|
|
|
|
|
Mihanja80
|
 |
« Ответ #13 : 05.01.2011, 00:41:57 » |
|
А чем плох родной? XviD — ASP-видеокодек (MPEG4-совместимый) Методика подбора битрейта под ваш исходник для получения оптимального по качеству рипа 19-xvid--asp-videokodek-mpeg4-sovmestimyj/ 218-metodika-podbora-bitrejta-pod-vash-ishodnik-dlja-poluchenija-optimalnogo-po-kachestvu-ripa.html
|
|
|
|
|
Записан
|
|
|
|
Жук
Осваиваюсь на форуме
 
Репутация: +7/-0
Offline
Сообщений: 92
|
 |
« Ответ #14 : 21.01.2011, 21:45:12 » |
|
Плагин yvTransliterate тоже может транслитерировать урлы Кунены автоматом. Поддержку UTF-8 в форуме надо выключить, Не использовать ID категорий - Нет.
|
|
|
|
« Последнее редактирование: 21.01.2011, 21:52:23 от Жук »
|
Записан
|
|
|
|
|
ChaosHead
|
 |
« Ответ #15 : 22.01.2011, 07:33:38 » |
|
окей, спасибо, будем знать такой. Но мне кажется через родной роутер минимальная будет нагрузка на хостинг. Кому это не критично, то через плагин наверное удобнее и проще.
|
|
|
|
|
Записан
|
|
|
|
|
nbserg
|
 |
« Ответ #16 : 02.02.2011, 03:33:27 » |
|
чаос подскажи что пофиксить в роутере или выложи новый проблема топик с ! знаком на конце заканчивается с - Привет всем! получается privet-vsem-
|
|
|
|
|
Записан
|
|
|
|
|
ChaosHead
|
 |
« Ответ #17 : 02.02.2011, 03:46:37 » |
|
Попробуй заменить $str1=preg_replace(array('/\s+/','/[\$\&\+\,\/\:\;\=\?\@\'\"\<\>\#\%\{\}\|\\\^\~\[\]\`\.]/'), array('-',''), $str1); на $str1=preg_replace(array('/\s+/','/[\!\$\&\+\,\/\:\;\=\?\@\'\"\<\>\#\%\{\}\|\\\^\~\[\]\`\.]/'), array('-',''), $str1); Как поставлю себе 1.6.3 - выложу для неё.
|
|
|
|
|
Записан
|
|
|
|
dedalik
Осваиваюсь на форуме
 
Репутация: +0/-2
Offline
Сообщений: 101
|
 |
« Ответ #18 : 01.07.2011, 22:09:46 » |
|
Подскажите, как убрать или изменить в адресе форума слово forum, которое ставится автоматом на SEF ссылки.
|
|
|
|
|
Записан
|
|
|
|
|
ChaosHead
|
 |
« Ответ #19 : 02.07.2011, 13:06:23 » |
|
Для 1.6.х в настройках меню Joomla
|
|
|
|
|
Записан
|
|
|
|
dedalik
Осваиваюсь на форуме
 
Репутация: +0/-2
Offline
Сообщений: 101
|
 |
« Ответ #20 : 03.07.2011, 17:27:08 » |
|
спасибо!
|
|
|
|
|
Записан
|
|
|
|
Dee79
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 90
|
 |
« Ответ #21 : 22.09.2011, 11:11:15 » |
|
Помогите убрать кириллицу, Ваш файл в версии форума 1,7 не работает. Спасибо!
|
|
|
|
|
Записан
|
|
|
|
|
ChaosHead
|
 |
« Ответ #22 : 22.09.2011, 12:43:29 » |
|
Есть плагин для транслитерации, про него тут в теме написано. А в Joomla 1.7 уже встроенная транслитерация. Необходимость в этом хаке полностью отпала.
|
|
|
|
|
Записан
|
|
|
|
Dee79
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 90
|
 |
« Ответ #23 : 22.09.2011, 17:58:03 » |
|
я имел виду Kunena 1.7.0, после обновления на новую версию старый файл router.php из вашей шапки не подходит. Все ссылки кириллицей, знал бы не обновлялся бы.
|
|
|
|
|
Записан
|
|
|
|
|
ChaosHead
|
 |
« Ответ #24 : 23.09.2011, 19:37:06 » |
|
Dee79, выложил для 1.7.0 в первом посте. Но только попрошу вас протестировать его перед использованием на живых сайтах и по возможности отписать результат. Я проверил буквально в паре тем, т.к. очень занят сейчас. Я сам им уже не пользуюсь по причинам, которые выше написал.
|
|
|
|
|
Записан
|
|
|
|
Dee79
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 90
|
 |
« Ответ #25 : 24.09.2011, 17:33:15 » |
|
Спасибо за файл, но ничего не изменилось кириллица так и осталась. 
|
|
|
|
|
Записан
|
|
|
|
Dee79
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 90
|
 |
« Ответ #26 : 26.09.2011, 18:15:04 » |
|
Мистика какая то, удалил вообще router.php, форум по прежнему работает и ссылки кириллицей. Мужики как у вас обстоят с этим дело?
|
|
|
|
|
Записан
|
|
|
|
|
ChaosHead
|
 |
« Ответ #27 : 26.09.2011, 18:41:13 » |
|
Он должен лежать по адресу: мойсайт.ru\components\com_kunena
|
|
|
|
|
Записан
|
|
|
|
Dee79
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 90
|
 |
« Ответ #28 : 27.09.2011, 11:28:50 » |
|
Он должен лежать по адресу: мойсайт.ru\components\com_kunena
Так точно, там ему и место. Но в седьмой версии форума что то изменили, никак не могу разобраться.
|
|
|
|
|
Записан
|
|
|
|
|
Mihanja80
|
 |
« Ответ #29 : 27.09.2011, 11:47:49 » |
|
Зачем ковырять файлы, для Joomla 1.5 есть плагин joomlaforum.ru/index.php/topic,76921.0.html Для Joomla 1.6/1.7 это не нужно, все встроено в локализацию...
Ещё вопросы?
|
|
|
|
|
Записан
|
|
|
|
|