• Главная
  • Поиск
    •  
  • Здравствуйте, Гость

Автор Тема: Транслит в ЧПУ на Osclass  (Прочитано 27624 раз)
Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1745
    • Шаблоны и плагины Osclass
« : 09 Март 2014, 19:46:28 »
Для использования хороших о понятных url адресов(ЧПУ) на доске объявления Osclass на транслите:
В файле /oc-includes/osclass/formating.php
После кода
// Euro Sign
chr(226).chr(130).chr(172) => 'E',
Нужно добавить следующий код(пример):
//Transliteration for Cyrillic
chr(192),chr(208).chr(144) => 'a', // А
chr(224),chr(208).chr(176) => 'a', // а
chr(193),chr(208).chr(145) => 'b', // Б
chr(225),chr(208).chr(177) => 'b', // б
chr(194),chr(208).chr(146) => 'v', // В
chr(226),chr(208).chr(178) => 'v', // в
chr(195),chr(208).chr(147) => 'g', // Г
chr(227),chr(208).chr(179) => 'g', // г
chr(196),chr(208).chr(148) => 'd', // Д
chr(228),chr(208).chr(180) => 'd', // д
chr(197),chr(208).chr(149) => 'e', // Е
chr(229),chr(208).chr(181) => 'e', // е
chr(168),chr(208).chr(129) => 'yo', // Ё
chr(184),chr(209).chr(145) => 'yo', // ё
chr(198),chr(208).chr(150) => 'zh', // Ж
chr(230),chr(208).chr(182) => 'zh', // ж
chr(199),chr(208).chr(151) => 'z', // З
chr(231),chr(208).chr(183) => 'z', // з
chr(200),chr(208).chr(152) => 'i', // И
chr(232),chr(208).chr(184) => 'i', // и
chr(201),chr(208).chr(153) => 'j', // Й
chr(233),chr(208).chr(185) => 'j', // й
chr(202),chr(208).chr(154) => 'k', // К
chr(234),chr(208).chr(186) => 'k', // к
chr(203),chr(208).chr(155) => 'l', // Л
chr(235),chr(208).chr(187) => 'l', // л
chr(204),chr(208).chr(156) => 'm', // М
chr(236),chr(208).chr(188) => 'm', // м
chr(205),chr(208).chr(157) => 'n', // Н
chr(237),chr(208).chr(189) => 'n', // н
chr(206),chr(208).chr(158) => 'o', // О
chr(238),chr(208).chr(190) => 'o', // о
chr(207),chr(208).chr(159) => 'p', // П
chr(239),chr(208).chr(191) => 'p', //п
chr(208),chr(208).chr(160) => 'r', // Р
chr(240),chr(209).chr(128) => 'r', // р
chr(209),chr(208).chr(161) => 's', // С
chr(241),chr(209).chr(129) => 's', // с
chr(210),chr(208).chr(162) => 't', // Т
chr(242),chr(209).chr(130) => 't', // т
chr(211),chr(208).chr(163) => 'y', // У
chr(243),chr(209).chr(131) => 'y', // у
chr(212),chr(208).chr(164) => 'f', // Ф
chr(244),chr(209).chr(132) => 'f', // ф
chr(213),chr(208).chr(165) => 'x', // Х
chr(245),chr(209).chr(133) => 'x', // х
chr(214),chr(208).chr(166) => 'c', // Ц
chr(246),chr(209).chr(134) => 'c', //ц
chr(215),chr(208).chr(167) => 'ch', // Ч
chr(247),chr(209).chr(135) => 'ch', // ч
chr(216),chr(208).chr(168) => 'sh', // Ш
chr(248),chr(209).chr(136) => 'sh', // ш
chr(217),chr(208).chr(169) => 'sch', // Щ
chr(249),chr(209).chr(137) => 'sch', // щ
chr(218),chr(208).chr(170) => '', // Ъ
chr(250),chr(209).chr(138) => '', // ъ
chr(219),chr(208).chr(171) => 'y', // Ы
chr(251),chr(209).chr(139) => 'y', // ы
chr(220),chr(208).chr(172) => '', // Ь
chr(252),chr(209).chr(140) => '', // ь
chr(221),chr(208).chr(173) => 'e', // Э
chr(253),chr(209).chr(141) => 'e', // э
chr(222),chr(208).chr(174) => 'yu', // Ю
chr(254),chr(209).chr(142) => 'yu', // ю
chr(223),chr(208).chr(175) => 'ya', // Я
chr(255),chr(209).chr(143) => 'ya', // я
/* Цифры */
chr(48) => '0', // 0
chr(48).chr(48) => '00', // 00
chr(48).chr(49) => '01', // 01
chr(48).chr(50) => '02', // 02
chr(48).chr(51) => '03', // 03
chr(48).chr(52) => '04', // 04
chr(48).chr(53) => '05', // 05
chr(48).chr(54) => '06', // 06
chr(48).chr(55) => '07', // 07
chr(48).chr(56) => '08', // 08
chr(48).chr(57) => '09', // 09
chr(49) => '1', // 1
chr(49).chr(48) => '10', // 10
chr(49).chr(49) => '11', // 11
chr(49).chr(50) => '12', // 12
chr(49).chr(51) => '13', // 13
chr(49).chr(52) => '14', // 14
chr(49).chr(53) => '15', // 15
chr(49).chr(54) => '16', // 16
chr(49).chr(55) => '17', // 17
chr(49).chr(56) => '18', // 18
chr(49).chr(57) => '19', // 19
chr(50) => '2', // 2
chr(50).chr(48) => '20', // 20
chr(50).chr(49) => '21', // 21
chr(50).chr(50) => '22', // 22
chr(50).chr(51) => '23', // 23
chr(50).chr(52) => '24', // 24
chr(50).chr(53) => '25', // 25
chr(50).chr(54) => '26', // 26
chr(50).chr(55) => '27', // 27
chr(50).chr(56) => '28', // 28
chr(50).chr(57) => '29', // 29
chr(51) => '3', // 3
chr(51).chr(48) => '30', // 30
chr(51).chr(49) => '31', // 31
chr(51).chr(50) => '32', // 32
chr(51).chr(51) => '33', // 33
chr(51).chr(52) => '34', // 34
chr(51).chr(53) => '35', // 35
chr(51).chr(54) => '36', // 36
chr(51).chr(55) => '37', // 37
chr(51).chr(56) => '38', // 38
chr(51).chr(57) => '39', // 39
chr(52) => '4', // 4
chr(52).chr(48) => '40', // 40
chr(52).chr(49) => '41', // 41
chr(52).chr(50) => '42', // 42
chr(52).chr(51) => '43', // 43
chr(52).chr(52) => '44', // 44
chr(52).chr(53) => '45', // 45
chr(52).chr(54) => '46', // 46
chr(52).chr(55) => '47', // 47
chr(52).chr(56) => '48', // 48
chr(52).chr(57) => '49', // 49
chr(53) => '5', // 5
chr(53).chr(48) => '50', // 50
chr(53).chr(49) => '51', // 51
chr(53).chr(50) => '52', // 52
chr(53).chr(51) => '53', // 53
chr(53).chr(52) => '54', // 54
chr(53).chr(53) => '55', // 55
chr(53).chr(54) => '56', // 56
chr(53).chr(55) => '57', // 57
chr(53).chr(56) => '58', // 58
chr(53).chr(57) => '59', // 59
chr(54) => '6', // 6
chr(54).chr(48) => '60', // 60
chr(54).chr(49) => '61', // 61
chr(54).chr(50) => '62', // 62
chr(54).chr(51) => '63', // 63
chr(54).chr(52) => '64', // 64
chr(54).chr(53) => '65', // 65
chr(54).chr(54) => '66', // 66
chr(54).chr(55) => '67', // 67
chr(54).chr(56) => '68', // 68
chr(54).chr(57) => '69', // 69
chr(55) => '7', // 7
chr(55).chr(48) => '70', // 70
chr(55).chr(49) => '71', // 71
chr(55).chr(50) => '72', // 72
chr(55).chr(51) => '73', // 73
chr(55).chr(52) => '74', // 74
chr(55).chr(53) => '75', // 75
chr(55).chr(54) => '76', // 76
chr(55).chr(55) => '77', // 77
chr(55).chr(56) => '78', // 78
chr(55).chr(57) => '79', // 79
chr(56) => '8', // 8
chr(56).chr(48) => '80', // 80
chr(56).chr(49) => '81', // 81
chr(56).chr(50) => '82', // 82
chr(56).chr(51) => '83', // 83
chr(56).chr(52) => '84', // 84
chr(56).chr(53) => '85', // 85
chr(56).chr(54) => '86', // 86
chr(56).chr(55) => '87', // 87
chr(56).chr(56) => '88', // 88
chr(56).chr(57) => '89', // 89
chr(57) => '9', // 9
chr(57).chr(48) => '90', // 90
chr(57).chr(49) => '91', // 91
chr(57).chr(50) => '92', // 92
chr(57).chr(51) => '93', // 93
chr(57).chr(52) => '94', // 94
chr(57).chr(53) => '95', // 95
chr(57).chr(54) => '96', // 96
chr(57).chr(55) => '97', // 97
chr(57).chr(56) => '98', // 98
chr(57).chr(57) => '99', // 99

Естественно данный код приведен как пример, замену кириллических символов на латиницу Вы можете менять по своему усмотрению.
« Последнее редактирование: 16 Апрель 2018, 01:46:07 от Dis »
Доработки любой сложности.
Задание присылайте в личку.

  • *
  • Сообщений: 6
« Ответ #1 : 22 Апрель 2014, 19:03:35 »
Здравствуйте.
Почему то не работает. В чем может быть причина?

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1745
    • Шаблоны и плагины Osclass
« Ответ #2 : 22 Апрель 2014, 19:29:02 »
Здравствуйте.
Почему то не работает. В чем может быть причина?
Включите в админке использовать дружественные url.
Доработки любой сложности.
Задание присылайте в личку.

  • *
  • Сообщений: 6
« Ответ #3 : 22 Апрель 2014, 19:38:00 »
Разобрался. надо было заново категории создать.

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1745
    • Шаблоны и плагины Osclass
« Ответ #4 : 22 Апрель 2014, 20:29:06 »
Разобрался. надо было заново категории создать.
Да, если уже было ЧПУ включено, то в базе сохраняются ссылки на русском для категорий. Тогда нужно их "пересохранить", чтобы в базу добавился вместо русского транслит.
Доработки любой сложности.
Задание присылайте в личку.

Оффлайн qqs
  • *
  • Сообщений: 2
« Ответ #5 : 24 Июнь 2014, 16:32:29 »
Спасибо! Тоже пригодилась эта информация.


Оффлайн Euc
  • *
  • Сообщений: 4
« Ответ #6 : 07 Июнь 2015, 19:00:45 »
Разобрался. надо было заново категории создать.
Можно пересохранить, но все равно - это очень не удобно

  • *
  • Сообщений: 3
« Ответ #7 : 14 Март 2016, 21:09:35 »
Лучше наверное так:
Перед:
// Euro Sign
chr(226).chr(130).chr(172) => 'E',
Вставить:
//Transliteration for Cyrillic
chr(192),chr(208).chr(144) => 'a', // А
chr(224),chr(208).chr(176) => 'a', // а
chr(193),chr(208).chr(145) => 'b', // Б
chr(225),chr(208).chr(177) => 'b', // б
chr(194),chr(208).chr(146) => 'v', // В
chr(226),chr(208).chr(178) => 'v', // в
chr(195),chr(208).chr(147) => 'g', // Г
chr(227),chr(208).chr(179) => 'g', // г
chr(196),chr(208).chr(148) => 'd', // Д
chr(228),chr(208).chr(180) => 'd', // д
chr(197),chr(208).chr(149) => 'e', // Е
chr(229),chr(208).chr(181) => 'e', // е
chr(168),chr(208).chr(129) => 'yo', // Ё
chr(184),chr(209).chr(145) => 'yo', // ё
chr(198),chr(208).chr(150) => 'zh', // Ж
chr(230),chr(208).chr(182) => 'zh', // ж
chr(199),chr(208).chr(151) => 'z', // З
chr(231),chr(208).chr(183) => 'z', // з
chr(200),chr(208).chr(152) => 'i', // И
chr(232),chr(208).chr(184) => 'i', // и
chr(201),chr(208).chr(153) => 'j', // Й
chr(233),chr(208).chr(185) => 'j', // й
chr(202),chr(208).chr(154) => 'k', // К
chr(234),chr(208).chr(186) => 'k', // к
chr(203),chr(208).chr(155) => 'l', // Л
chr(235),chr(208).chr(187) => 'l', // л
chr(204),chr(208).chr(156) => 'm', // М
chr(236),chr(208).chr(188) => 'm', // м
chr(205),chr(208).chr(157) => 'n', // Н
chr(237),chr(208).chr(189) => 'n', // н
chr(206),chr(208).chr(158) => 'o', // О
chr(238),chr(208).chr(190) => 'o', // о
chr(207),chr(208).chr(159) => 'p', // П
chr(239),chr(208).chr(191) => 'p', //п
chr(208),chr(208).chr(160) => 'r', // Р
chr(240),chr(209).chr(128) => 'r', // р
chr(209),chr(208).chr(161) => 's', // С
chr(241),chr(209).chr(129) => 's', // с
chr(210),chr(208).chr(162) => 't', // Т
chr(242),chr(209).chr(130) => 't', // т
chr(211),chr(208).chr(163) => 'y', // У
chr(243),chr(209).chr(131) => 'y', // у
chr(212),chr(208).chr(164) => 'f', // Ф
chr(244),chr(209).chr(132) => 'f', // ф
chr(213),chr(208).chr(165) => 'x', // Х
chr(245),chr(209).chr(133) => 'x', // х
chr(214),chr(208).chr(166) => 'c', // Ц
chr(246),chr(209).chr(134) => 'c', //ц
chr(215),chr(208).chr(167) => 'ch', // Ч
chr(247),chr(209).chr(135) => 'ch', // ч
chr(216),chr(208).chr(168) => 'sh', // Ш
chr(248),chr(209).chr(136) => 'sh', // ш
chr(217),chr(208).chr(169) => 'sch', // Щ
chr(249),chr(209).chr(137) => 'sch', // щ
chr(218),chr(208).chr(170) => '', // Ъ
chr(250),chr(209).chr(138) => '', // ъ
chr(219),chr(208).chr(171) => 'y', // Ы
chr(251),chr(209).chr(139) => 'y', // ы
chr(220),chr(208).chr(172) => '', // Ь
chr(252),chr(209).chr(140) => '', // ь
chr(221),chr(208).chr(173) => 'e', // Э
chr(253),chr(209).chr(141) => 'e', // э
chr(222),chr(208).chr(174) => 'yu', // Ю
chr(254),chr(209).chr(142) => 'yu', // ю
chr(223),chr(208).chr(175) => 'ya', // Я
chr(255),chr(209).chr(143) => 'ya', // я

  • *
  • Сообщений: 5
« Ответ #8 : 15 Октябрь 2016, 18:53:06 »
Проблема решена
« Последнее редактирование: 15 Октябрь 2016, 19:10:43 от maksimovgenya »

  • *
  • Сообщений: 5
« Ответ #9 : 27 Декабрь 2016, 17:54:17 »
Кто-то может подсказать, в чем возможна причина?!
в результате категории прописываются в транслите, а сами объявления в виде - _i(номер объявления), например: _i1, _i2, _i3 и т.д.
« Последнее редактирование: 28 Декабрь 2016, 14:19:07 от Dis »

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1745
    • Шаблоны и плагины Osclass
« Ответ #10 : 28 Декабрь 2016, 14:20:03 »
Кто-то может подсказать, в чем возможна причина?!
в результате категории прописываются в транслите, а сами объявления в виде - _i(номер объявления), например: _i1, _i2, _i3 и т.д.
Настройки ЧПУ потому что поменяли сами.
Во вложении скрин дефолтных.
Доработки любой сложности.
Задание присылайте в личку.

  • *
  • Сообщений: 5
« Ответ #11 : 28 Декабрь 2016, 17:46:51 »
Настройки ЧПУ потому что поменяли сами.
Во вложении скрин дефолтных.

Вы писали, что это из-за моих изменений, так это возможно как-то исправить?!

В постоянных ссылках стоял:
{ITEM_CITY}/{CATEGORIES}/{ITEM_TITLE}_i{ITEM_ID}установил
{CATEGORIES}/{ITEM_TITLE}_i{ITEM_ID}как в Вашем примере, все равно ссылка создается в "старом" формате.

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1745
    • Шаблоны и плагины Osclass
« Ответ #12 : 29 Декабрь 2016, 19:59:59 »
{CATEGORIES}/{ITEM_TITLE}_i{ITEM_ID}как в Вашем примере, все равно ссылка создается в "старом" формате.
А должно быть всё нормально. Вы первый у кого-то такая проблема.
В чём причина конкретно на Вашем сайте я не знаю, ни с чем подобным не сталкивался.
Может быть решение подскажет кто-то другой.
Доработки любой сложности.
Задание присылайте в личку.

  • *
  • Сообщений: 3
« Ответ #13 : 30 Декабрь 2016, 21:38:35 »
Спасибо за интересную и познавательную информацию. Неделю искал решение в интернете. ЧПУ были но в виде %b1%d1%83%d1%87%d0%b5%d0%bd%d0%b8%d0%b5/%d  Как это преобразовать в транслит (латиница) - нашел только здесь. Применил - все ID ссылки стали в транслите. Но возникла другая проблема - URL категорий (разделов). Они выводятся в виде кирилицы (именно буквами а не кодом), но как то не очень хорошо смотрится http://board.krognet.com/продажа/%D0%9A%D0%B0%D0%BC%D0%B5%D1%80%D1%8B-%D0%90%D0%BA%D1%81%D0%B5%D1%81%D1%81%D1%83%D0%B0%D1%80%D1%8B/prodam-fotoapparat-zenit-e_i4.
Т.е. преобразование категорий(разделов) - в транслит не происходит. В других CMS есть поле (типа slug) куда можно ввести название для url.
В osclass я этого не нашел. При переименовании названия категории на латиницу (оно так же отображаеться и фронтенде - что не очень хорошо). Как побороть эту неприятность?
Я был не прав. Оказывается - пересохраните категории - это открыть и сохранить категорию, не делая с ней никаких манипуляций, кроме сохранения. Век живи - век учись. Хорошо знаком с joomla + wordpress, но в osclass пока дилетант.
« Последнее редактирование: 31 Декабрь 2016, 01:25:47 от Dis »

Оффлайн Dis
  • Admin
  • *****
  • Сообщений: 1745
    • Шаблоны и плагины Osclass
« Ответ #14 : 31 Декабрь 2016, 01:27:41 »
Спасибо за интересную и познавательную информацию. Неделю искал решение в интернете. ЧПУ были но в виде %b1%d1%83%d1%87%d0%b5%d0%bd%d0%b8%d0%b5/%d  Как это преобразовать в транслит (латиница) - нашел только здесь. Применил - все ID ссылки стали в транслите. Но возникла другая проблема - URL категорий (разделов). Они выводятся в виде кирилицы (именно буквами а не кодом), но как то не очень хорошо смотрится http://board.krognet.com/продажа/%D0%9A%D0%B0%D0%BC%D0%B5%D1%80%D1%8B-%D0%90%D0%BA%D1%81%D0%B5%D1%81%D1%81%D1%83%D0%B0%D1%80%D1%8B/prodam-fotoapparat-zenit-e_i4.
Т.е. преобразование категорий(разделов) - в транслит не происходит. В других CMS есть поле (типа slug) куда можно ввести название для url.
В osclass я этого не нашел. При переименовании названия категории на латиницу (оно так же отображаеться и фронтенде - что не очень хорошо). Как побороть эту неприятность?
Я был не прав. Оказывается - пересохраните категории - это открыть и сохранить категорию, не делая с ней никаких манипуляций, кроме сохранения. Век живи - век учись. Хорошо знаком с joomla + wordpress, но в osclass пока дилетант.
Я разделил и перенёс Ваши сообщения. Просьба не мешать всё в одну кучу. Пишите по конкретной теме. Если топика нет по интересующему Вас вопросу, то создайте новый.
Доработки любой сложности.
Задание присылайте в личку.

 


test