Как изменить стандартную транслитерацию буквы в drupal 8?

Аватар пользователя Maxim_web_developer

Стандартная траслитерация в url изменяет русскую "ш" на "s", я хочу изменить на правильное "sh".

Посдкажите как это сделать в друпал 8?

Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя Maxim_web_developer
Maxim_web_developer 5 месяцев назад

Этот хук в файле.theme переопределеить?

Аватар пользователя gun_dose
gun_dose 5 месяцев назад

Нет, такие хуки можно только в модулях писать.

Аватар пользователя Maxim_web_developer
Maxim_web_developer 5 месяцев назад

А как сделать так чтобы мой модуль переопределял этот стандартный, не понял

Аватар пользователя itcrowd72
itcrowd72 5 месяцев назад
function YOURMODULE_transliteration_overrides_alter(&$overrides, $langcode) {
  // ваш код
}
Аватар пользователя Maxim_web_developer
Maxim_web_developer 5 месяцев назад

Добавил в
changedtrans.module

<?php
 
function changedtrans_transliteration_overrides_alter(&$overrides$langcode) {
     echo(
$overrides);
     echo(
$langcode);
         echo (
"eweeq");
}

function 

changedtrans_preprocess_page(&$variables) {
    echo (
"dkahkld");
}

?>

в контроллер :


<?php

namespace Drupal\changedtrans\Controller;

class 

changedtransController {
 
     public function 
changedtrans() {
            return array(
                
'#title' => 'Hello World!',
                
'#markup' => 'Here is some content.',
            );
        }
}
?>
Аватар пользователя sas@drupal.org
sas@drupal.org 5 месяцев назад

1. changedtrans.info.yml & enabled ?
2. t() или $this.t()

Аватар пользователя Maxim_web_developer
Maxim_web_developer 5 месяцев назад

Да, есть, включил модуль,, препроцесс страницы выводит, а данные по алтеру нет

<?php
## YAML Template.
---
namechangedtrans
type
module
description
'Demo for creating Drupal 8 changedtrans'
packageCustom
core
8.x
hidden
false
?>
Аватар пользователя sas@drupal.org
sas@drupal.org 5 месяцев назад

Это не сработает = echo ("dkahkld");

Аватар пользователя Maxim_web_developer
Maxim_web_developer 5 месяцев назад

Да, я вижу, но в этом же модуле работает вывод препроцессинга пейджа

Аватар пользователя sas@drupal.org
sas@drupal.org 5 месяцев назад

Прочтите пожалуйста http://cgit.drupalcode.org/drupal/tree/core/lib/Drupal/Core/Language/lan...

...
* Here is a code snippet to transliterate some text:
* @code
* // Use the current default interface language.
* $langcode = \Drupal::languageManager()->getCurrentLanguage()->getId();
* // Instantiate the transliteration class.
* $trans = \Drupal::transliteration();
* // Use this to transliterate some text.
* $transformed = $trans->transliterate($string, $langcode);
* @endcode

Аватар пользователя Maxim_web_developer
Maxim_web_developer 5 месяцев назад

Прочитал, что то я туплю..Как переопределить?
Так?

<?php
 
function changedtrans_transliteration_overrides_alter(&$overrides$langcode) {
    
    
$overrides[0448] = 'sh';
    
$overrides[0428] = 'sh';
    
}

?>