Перейти к содержимому


Фотография
* * * * * 1 Голосов

Транслитерация URL


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 29

#21 Оффлайн   Fensmas

    Активный


  • Пользователи
  • Репутация
    0
    • Cообщений: 139
    • Форум:3.3.х
    • Город:Moscow

Отправлено 26 Июль 2012 - 01:37

имена подфорумов и разделов... ну а с топиками хрен с ними. с новыми вроде все ок...
  • 0

Заработок и обучение заработку

#22 Оффлайн   jinkpeo

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 15
    • Форум:3.3.х

Отправлено 13 Октябрь 2012 - 22:25

Замените на эти два файла:

admin/sources/classes/output/ - залить publicOutput.php
/admin/sources/base/ - залить core.php


А что в этих файлах изменено? Можете ли сообщить, дабы я в ручную переписал.
Боюсь готовые заливать - поломаю не дай бог что.

Как я понимаю помимо правок в этих двух файлов мне надо ещё что-то сделать?
1) в инидате прописать define( 'IPB_USE_SEO_TRANSLIT', TRUE );
2) Нужно ли включать "Использовать .htaccess mod_rewrite?" и зачем он вообще?
3) Перенаправление на новые URL - Да/Нет ?
4) Тип URL - Запрос/Путь ?
5) define( 'IPB_USE_ONLY_ID_FURL', TRUE ); - надо ли?

Подскажите по подробнее, буду крайне благодарен, за качественную консультацию готов отблагодарить.

Сообщение отредактировал jinkpeo: 13 Октябрь 2012 - 22:39

  • 0

#23 Оффлайн   ๖ۣۣۜDesperate™

    Администратор


  • Администраторы
  • Репутация
    4 616
    • Cообщений: 8 560
    • Форум:3.4.х
    • Город:IpbZona
    Участник

Отправлено 13 Октябрь 2012 - 22:59

1) в инидате прописать define( 'IPB_USE_SEO_TRANSLIT', TRUE );

Удалите, она там не нужна

2) Нужно ли включать "Использовать .htaccess mod_rewrite?" и зачем он вообще? 3) Перенаправление на новые URL - Да/Нет ? 4) Тип URL - Запрос/Путь ? 5) define( 'IPB_USE_ONLY_ID_FURL', TRUE ); - надо ли?

http://ipbzona.ru/to...em-mod-rewrite/
  • 0

#24 Оффлайн   jinkpeo

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 15
    • Форум:3.3.х

Отправлено 13 Октябрь 2012 - 23:39

Удалите, она там не нужна

Удалил. Спасибо

http://ipbzona.ru/to...em-mod-rewrite/


Собственно изучал это уже, и всё сделал как там описано. Ключевой вопрос а для чего этот mod rewrite? И нужен ли он мне для достижения моей цели:
Сделать ссылки как у вас при том что у меня английский лицензионный ipb 3.3.4

5) define( 'IPB_USE_ONLY_ID_FURL', TRUE ); - надо ли?

Надо ли мне это?

И последнее, то что я выше писал, про ваши 2 файла:

А что в этих файлах изменено? Можете ли сообщить, дабы я в ручную переписал. Боюсь готовые заливать - поломаю не дай бог что.


Буду крайне благодарен.

PS: Отписал вам в аську по поводу премиума, С ИПБ только начал работу, хочу попользоваться премиумом и оценить нужно оно или нет.
С уважением.
  • 0

#25 Оффлайн   jinkpeo

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 15
    • Форум:3.3.х

Отправлено 14 Октябрь 2012 - 00:20

Товарищь Деспирэйт, любезно пояснил всё.
Итого для обладателей 3.3.4 официальной английской софтины:

1. Скачать и залить (переживать не стоит):

Замените на эти два файла:

admin/sources/classes/output/ - залить publicOutput.php
/admin/sources/base/ - залить core.php



2. Следовать уроку http://ipbzona.ru/tu...lja-foruma-ipb/

Всё готово и работает.

Тему можно закрывать : )
  • 0

#26 Оффлайн   jinkpeo

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 15
    • Форум:3.3.х

Отправлено 15 Ноябрь 2012 - 05:20

Замените на эти два файла:

admin/sources/classes/output/ - залить publicOutput.php
/admin/sources/base/ - залить core.php



Тему можно вновь открыть - после последнего апдейта для 3.3.4 файлы которые передавал Дисперейт вызывают ошибки,
например одна из них:

Fatal error: Call to undefined method IPSText::makeSeoTransliterate() in /var/www/forum.xxxxx.xxx/htdocs/xxxxxx/sources/classes/output/publicOutput.php on line 2035

Десперейт подскажите как быть? Как теперь сделать нормальные линки с транслитом, как у вас на фоурме. ибо сейчас я был вынужден восстановить родной publicOutput.php вместо вашего.
  • 0

#27 Оффлайн   ๖ۣۣۜDesperate™

    Администратор


  • Администраторы
  • Репутация
    4 616
    • Cообщений: 8 560
    • Форум:3.4.х
    • Город:IpbZona
    Участник

Отправлено 15 Ноябрь 2012 - 05:42

Открываем /admin/sources/base/

Находим примерно на 4036 строке:
elseif ( strtolower( IPS_DOC_CHAR_SET ) == 'utf-8' )
{
$string = utf8_encode( $string );
}
После добавляем:
static public function transliterate( $text )
{
return str_replace( array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','э','ю','я','ы','ь','ъ'), array('a','b','v','g','d','e','e','zh','z','i','i','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','sh','a','ju','ja','i','',''), $text);
}
static public function makeSeoTransliterate( $text )
{
$text = urldecode($text);
$text = self::transliterate( $text );
$text = preg_replace('#[^a-z0-9-]#', '', $text);
$text = urlencode($text);
return $text;
}

Найти:
return ( $text ) ? $text : '-';

После вставляем:
$text = self::makeSeoTransliterate( $text );

Сохраняем в кодировке utf-8 без BOM и заливаем обратно.

Открываем:
admin/sources/classes/output/publicOutput.php

Находим:
if ( ! ipsRegistry::$settings['use_friendly_urls'] )
{
return $url;
}

После вставляем
$seoTitle = IPSText::makeSeoTransliterate( $seoTitle );

Сохраняем и заливаем обратно.
  • 0

#28 Оффлайн   jinkpeo

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 15
    • Форум:3.3.х

Отправлено 15 Ноябрь 2012 - 06:35

Файлы:
core.php из последнего апдейтера с офф сайта
publicOutput.php - родной

Сделал всё что описано выше

Ошибка:
Parse error: syntax error, unexpected T_PUBLIC, expecting T_PAAMAYIM_NEKUDOTAYIM in /var/www/forumtest.xxx.xx/htdocs/xxxx/sources/base/core.php on line 4310

Помогите
  • 0

#29 Оффлайн   ๖ۣۣۜDesperate™

    Администратор


  • Администраторы
  • Репутация
    4 616
    • Cообщений: 8 560
    • Форум:3.4.х
    • Город:IpbZona
    Участник

Отправлено 15 Ноябрь 2012 - 14:52

Проверьте правильность расположения кода, вы скорее всего не правильно добавили код.
return $string;
}
Нужно ПОСЛЕ вставить.
  • 0

#30 Оффлайн   jinkpeo

    Пользователь


  • Пользователи
  • Репутация
    0
    • Cообщений: 15
    • Форум:3.3.х

Отправлено 15 Ноябрь 2012 - 22:11

Благодарю.
  • 0