Oleg

Oleg

С нами с 16 мая 2018; Место в рейтинге пользователей: #397
Oleg
16 мая 2018, 10:52
0
И на этом спасибо)
Oleg
16 мая 2018, 10:51
0
У меня просто локаль на русском без подставки /ru/
может быть из-за этого я не дружу с ними?
Oleg
16 мая 2018, 10:46
0
Я вроде как понял как можно перевести все, кроме значений дополнительных полей и тп.

Кстати, у меня вопрос насчет доп полей.
Их как лучше переводить?
По аналогии с вашим меню с языками?
Migx(ключи) в migx(значения) и из него декодировать массив?
Oleg
16 мая 2018, 10:43
0
Спасибо)
Вы меня явно спасли)

Проблема локализатора в том, что у него нет документации, кроме:
1. Ссылки на гит.
2. Кучи тикетов в разных форумах, и комментов под основным его постом.
Если есть что-то еще, более структурированное, то я буду только рад почитать.

Вообще с помощью PDOTools Localizator очень неплохо генерит URL, вы, видимо, не разобрались с компонентом до конца.
Можете объяснить? Если не сложно.
Oleg
16 мая 2018, 09:26
0
Как вывожу topmenu:
{'pdoMenu' | snippet : [
	'parents' => 0,
	'level' => 3,
	'templates'=>-6,
	'tplOuter'=>'@INLINE <ul>{$wrapper}</ul>',
	'tpl'=>'@INLINE <li><a href="{$link}">{$menutitle}</a>{$wrapper}</li> ',
	'tplParentRow'=>'@INLINE <li class="main_menu__parent"><a href="{$link}">{$menutitle}</a>{$wrapper}</li>',
	'where' => '{ "localizator.key" : "' ~ ('localizator_key' | option) ~ '"}',
	'select' => '{ "localizator" : "modResource.*, localizator.*, modResource.id" }',
	'leftJoin' => '{
		"localizator" : {
			"class" : "localizatorContent",
			"alias" : "localizator",
			"on" : "localizator.resource_id = modResource.id"
			}
	}']}
Oleg
16 мая 2018, 09:25
0
Сниппет вывода, панельки переключения языков.
<?php
$output = "";

// определяем есть ли языки через "папки"
$uri = $_SERVER['REQUEST_URI'];
if(substr($uri, 0, 1)) {
    $uri = mb_substr($uri, 1);
    $tmp = explode('/', $uri);
    if($path = $tmp[0]) {
        $tmp = $modx->getObject('localizatorLanguage', array('http_host:LIKE' => "%/{$path}/"));
        if($tmp) {
            $uri = str_replace("{$path}/", "", $uri);
        }
    }
}

$languages = $modx->getIterator('localizatorLanguage');
foreach($languages as $language) {
    if(mb_substr($language->http_host, -1) == '/') {
        $link = $language->http_host . $uri;
    } else {
        $link = $language->http_host . '/' . $uri;
    }
    $langIMG = array(
        'rus' =>'assets/templates/UZVALVE/img/ru_flag.png',
        'eng' =>'assets/templates/UZVALVE/img/en_flag.jpeg',
        'uzb' =>'assets/templates/UZVALVE/img/uz_leng.png'
    );
    $lang = explode("/", $link);
    if($lang[1] == 'uz'){
        $image = $langIMG['uzb'];
    }
    elseif($lang[1] =='en'){
        $image = $langIMG['eng'];
    }
    else{
        $image = $langIMG['rus'];
    }
    $output .= "<li><a href=\"http://{$link}\"><img src=\"{$image}\" alt=\"russian_language\" title=\"{$language->name}\"></a></li>";
}

return $output;