Трансктрипция ЧПУ

InstantCMS 2.X

Трансктрипция ЧПУ

#1 3 марта 2017 в 15:01
В каком файле можно изменить трансктрипцию ЧПУ?
Чтобы вместо nizhnii писалось nizhniy, и вместо ja было ya.
#2 3 марта 2017 в 15:23
instantcms_20160418_v2.5.1\system\languages\ru\functions.php
  1. $ru_en = array(
  2. 'а'=>'a','б'=>'b','в'=>'v','г'=>'g','д'=>'d',
  3. 'е'=>'e','ё'=>'yo','ж'=>'zh','з'=>'z',
  4. 'и'=>'i','й'=>'i','к'=>'k','л'=>'l','м'=>'m',
  5. 'н'=>'n','о'=>'o','п'=>'p','р'=>'r','с'=>'s',
  6. 'т'=>'t','у'=>'u','ф'=>'f','х'=>'h','ц'=>'c',
  7. 'ч'=>'ch','ш'=>'sh','щ'=>'sch','ъ'=>'','ы'=>'y',
  8. 'ь'=>'','э'=>'e','ю'=>'yu','я'=>'ja'
  9. );
#3 3 марта 2017 в 15:24
\system\languages\ru\functions.php

  1. function lang_slug($string){
  2.  
  3. $string = strip_tags(trim($string));
  4. $string = mb_strtolower($string, 'utf-8');
  5. $string = str_replace(' ', '-', $string);
  6.  
  7. $slug = preg_replace ('/[^a-zа-яё0-9\-\/]/u', '-', $string);
  8. $slug = preg_replace('/([-]+)/i', '-', $slug);
  9. $slug = trim($slug, '-');
  10.  
  11. $ru_en = array(
  12. 'а'=>'a','б'=>'b','в'=>'v','г'=>'g','д'=>'d',
  13. 'е'=>'e','ё'=>'yo','ж'=>'zh','з'=>'z',
  14. 'и'=>'i','й'=>'i','к'=>'k','л'=>'l','м'=>'m',
  15. 'н'=>'n','о'=>'o','п'=>'p','р'=>'r','с'=>'s',
  16. 'т'=>'t','у'=>'u','ф'=>'f','х'=>'h','ц'=>'c',
  17. 'ч'=>'ch','ш'=>'sh','щ'=>'sch','ъ'=>'','ы'=>'y',
  18. 'ь'=>'','э'=>'e','ю'=>'yu','я'=>'ja'
  19. );
  20.  
  21. foreach($ru_en as $ru=>$en){
  22. $slug = str_replace($ru, $en, $slug);
  23. }
  24.  
  25. if (!$slug){ $slug = 'untitled'; }
  26. if (is_numeric($slug)){ $slug .= strtolower(date('F')); }
  27.  
  28. return $slug;
  29.  
  30. }
#4 3 марта 2017 в 15:25
@keks, Это называется транслитерация.
Ris, Приветствую))
#5 3 марта 2017 в 16:12
В украинской локализации как раз поменял транслитерацию. Действительно не логично когда 'ю'=>'yu' а 'я'=>'ja' например.
Настроил чтобы была транслитерация по гуглу.
Иллюстрация
#6 4 марта 2017 в 10:40
Заменил пару букв и закачал обратно — сайт выдал ошибку 500. Файл был в UTF-8 без BOM.
#7 4 марта 2017 в 10:46

сайт выдал ошибку 500

@keks
Значит "кривые ручки" использовали когда

Заменил пару букв и закачал обратно

@keks
smile
#8 4 марта 2017 в 11:03
Loadырь, Вносил изменения, но строго по советам форумчан :)
И что теперь можно сделать?
#9 4 марта 2017 в 11:12

И что теперь можно сделать?

@keks
Строго по советам форумчан внести изменения в обратном порядке.
Но для начала можно включить отладку в админке или в файле конфигурации, тогда вам будет показана конкретная ошибка, вместо 500.
#10 4 марта 2017 в 12:26
Это наверное из-за того что я вывел поле УРЛ для правки на странице.
Если его удалить — это спасёт ситуацию?
#11 4 марта 2017 в 13:10

Если его удалить — это спасёт ситуацию?

@keks
Спасёт ситуацию только откат до предыдущего рабочего состояния или устранение ошибки, приводящей к отображению на экране ошибки 500.
#12 11 марта 2017 в 18:25
Включил отладку, закачал измененный файл — опять ошибка 500, восстановил прежний файл. Внизу появилось SQL 39 зашел туда и там отчеты которые ведут в папки system/core/ и system/controllers/ но про файл functions.php ничего не сказано.
Может где еще нужно посмотреть про эту ошибку? Например на фтп в error logs.
#13 11 марта 2017 в 18:36
Смотреть внимательно, что где вносили. Возможно, кавычку или запятую затёрли, или добавили.
#14 11 марта 2017 в 20:36

Настроил чтобы была транслитерация по гуглу

BoAnRo
Для нас актуальнее по яндексу, если мы говорим о ЧПУ.
й — j
я — ya
щ — shch
э — eh
x — kh после букв c,s,e,h, в остальных случаях — h
#15 12 марта 2017 в 14:21
Loadырь, Кстати, а обновление кмс на новую версию может исправить этот глюк?

Еще хотел сделать чтобы была замена (ия — ia — Rossia) и (ья — ia — Toliatti). Это просто дописать нужно в файл?

Pocus,
1. (щ — shch) — это жесть, зачем заменять 3 буквы на 4 :)
2. Яндекс сам себе противоречит наберите "город Бийск" и посмотрите как Ян пишет ЧПУ в своих Картах :)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.