Несколько вопросов про Localizator
        Всем привет. Не первый год работаю с modx но, к сожалению не с fenom и вообще не хардкорный программист.
В общем просмотрел всю тему modx.pro/components/12012/ но так и не понял как создавать дополнительные поля для перевода страниц и добавление в шаблон, а так же как сделать вывод блока по условию.
Или я не правильно понимаю идеологию компонента?
1. Как куда нибудь сюда take.ms/drgEi добавить свое поле? Или например, поле контент оно ведь у нас одинаковое для всех языков, как мне вписать контент для страницы на разных языках?
2. Как в шаблоне вывести блок в зависимости от активного языка? например [если активен английский то показывать блок1 или есть активен китайский то блок2]?
3. Можно ли переключить язык не меняя url страницы? То есть мы на русской странице site.ru/about.html, переключаем язык и остаемся на этой же странице site.ru/about.html только на английском, а не на site.ru/en/about.html
Вот такие основные вопросы на которые я за два дня не нашел ответа.
    
    
                                                                                
            В общем просмотрел всю тему modx.pro/components/12012/ но так и не понял как создавать дополнительные поля для перевода страниц и добавление в шаблон, а так же как сделать вывод блока по условию.
Или я не правильно понимаю идеологию компонента?
1. Как куда нибудь сюда take.ms/drgEi добавить свое поле? Или например, поле контент оно ведь у нас одинаковое для всех языков, как мне вписать контент для страницы на разных языках?
2. Как в шаблоне вывести блок в зависимости от активного языка? например [если активен английский то показывать блок1 или есть активен китайский то блок2]?
3. Можно ли переключить язык не меняя url страницы? То есть мы на русской странице site.ru/about.html, переключаем язык и остаемся на этой же странице site.ru/about.html только на английском, а не на site.ru/en/about.html
Вот такие основные вопросы на которые я за два дня не нашел ответа.
Комментарии: 10
                да и в догонку (чувствую себя совсем новичком), как вывести в шаблоне хедера, переведенный пейджтайтл? Вот отсюда например take.ms/OMtp7            
                    
                1) Какое еще поле вы хотите вывести? Если TV — то именно туда — никак. Если вы конечно не гуру extJS. Но вы вроде как обратное и говорите. А вообще если нужны переведенные TV, то придется создавать два TV, например tvname_ru и tvname_en и далее либо придется работать с условиями if/else и выводить нужные в чанках. Ну, типа такого: 
Если делать по-хорошему, то можно раскопать исходники Locaziator'a и там можно найти прикольную фишку в плагине с подменой плейсхолдеров.
И можно набросать свой плагин, который будет в зависимости от языка сайта подставлять в плейсхолдер tvname значение либо русского, либо английского языка. Сложновато объяснил, но если шарить в теме, то можно понять :)
Не понял про поле Content. Оно для каждого языка разное. Вы его заполняете как раз в этой вкладке.
2) Изи, изи. См. код выше. Подойдет отлично.
3) Вот это, насколько я знаю, уже нельзя. Нет, конечно, можно заморочиться с плагином маршрутизации для Localizator и отключить всю эту штуку и будет работать.
Но если нужно менять язык страницы без изменения адреса, то можно просто писать в куки текущий язык сайта и переключать его. Я писал об этом вот здесь. То решение далеко не идеальное, но отличное направление в нужную сторону.
4) [[+pagetitle]]. Или {$_modx->resource.pagetitle}. Ну или еще как-нибудь. Все поля в нужном языке подменяются в локализаторе, я написал об этом выше. Не подменяется только поле Content, оно выводится как localizator_content. То есть тут никакой магии. Если вы правильно установили компонент, то все должно работать.
                    {if ('localizator_key'|option)!='ru'}
	{var $tv = $_modx->resource.tvname_en}
	{else}
	{var $tv = $_modx->resource.tvname_ru}
{/if}
<p> {$tv} </p>Это такой, простой и костыльный вариант.Если делать по-хорошему, то можно раскопать исходники Locaziator'a и там можно найти прикольную фишку в плагине с подменой плейсхолдеров.
И можно набросать свой плагин, который будет в зависимости от языка сайта подставлять в плейсхолдер tvname значение либо русского, либо английского языка. Сложновато объяснил, но если шарить в теме, то можно понять :)
Не понял про поле Content. Оно для каждого языка разное. Вы его заполняете как раз в этой вкладке.
2) Изи, изи. См. код выше. Подойдет отлично.
3) Вот это, насколько я знаю, уже нельзя. Нет, конечно, можно заморочиться с плагином маршрутизации для Localizator и отключить всю эту штуку и будет работать.
Но если нужно менять язык страницы без изменения адреса, то можно просто писать в куки текущий язык сайта и переключать его. Я писал об этом вот здесь. То решение далеко не идеальное, но отличное направление в нужную сторону.
4) [[+pagetitle]]. Или {$_modx->resource.pagetitle}. Ну или еще как-нибудь. Все поля в нужном языке подменяются в локализаторе, я написал об этом выше. Не подменяется только поле Content, оно выводится как localizator_content. То есть тут никакой магии. Если вы правильно установили компонент, то все должно работать.
                Спасибо, Дмитрий, за подробный ответ, если есть минутка то надеюсь дополните немного 
Вот например, как быть с такой ситуацией: есть главная станица. На ней слоган, небольшой текст (который надо править в админке в визуальном редакторе) + набор характеристик типа цвет — красный, район — северный, краткое описание.
Получается что для того же текста с визуальным редактором, мне надо ресурсу создать аж 3 тв (для трех языков) и потом разруливать уже не средствами не средствами локализатора а кодом if который вы привели? Для для характеристик тоже по 3 тв на каждое поле? Тогда через контексты все же удобней, по крайней мере не нужно валить все в кучу на одну страницу доп полей, открыл ресурс по нужному языку и все заполнил.
Я просто пытаюсь понять почему локализатор так хвалят в комментариях, и думаю что я просто не умея с ним работать, не понимаю преимуществ.
                    Какое еще поле вы хотите вывести? Если TV — то именно туда — никак.Что то я не пойму тогда в чем преимущество перед настройки через контексты + бабель, кроме как более простой установки?
Вот например, как быть с такой ситуацией: есть главная станица. На ней слоган, небольшой текст (который надо править в админке в визуальном редакторе) + набор характеристик типа цвет — красный, район — северный, краткое описание.
Получается что для того же текста с визуальным редактором, мне надо ресурсу создать аж 3 тв (для трех языков) и потом разруливать уже не средствами не средствами локализатора а кодом if который вы привели? Для для характеристик тоже по 3 тв на каждое поле? Тогда через контексты все же удобней, по крайней мере не нужно валить все в кучу на одну страницу доп полей, открыл ресурс по нужному языку и все заполнил.
Я просто пытаюсь понять почему локализатор так хвалят в комментариях, и думаю что я просто не умея с ним работать, не понимаю преимуществ.
[[+pagetitle]]. Или {$_modx->resource.pagetitle}. Ну или еще как-нибудь. Все поля в нужном языке подменяются в локализаторе, я написал об этом выше.Подскажите еще пожалуйста, а как если мне в шаблоне надо вывести [[+pagetitle]] на выбранном языке не текущего ресурса, а другого, как getfield?
Вот тут нашел ответ modx.pro/components/12012/#comment-86575 работает :)[[+pagetitle]]. Или {$_modx->resource.pagetitle}. Ну или еще как-нибудь. Все поля в нужном языке подменяются в локализаторе, я написал об этом выше.Подскажите еще пожалуйста, а как если мне в шаблоне надо вывести [[+pagetitle]] на выбранном языке не текущего ресурса, а другого, как getfield?
                Ну, знаете, бывают случаи, когда ТВ на сайтах вообще не используются. Я собрал с пяток магазинов, где у меня нет ни одного ТВ. На двух из них стоит Localizator и все всем довольны.            
                    
                Если не минишоп, то там понято как без полей, а если нет, то как вы характеристики товара тогда храните?            
                    
                а зачем интернет-магазин без минишопа? :)            
                    
                ))) ну мало ли… может это какой нибудь очень маленький интернет магазин на 5 товаров. В общем других вариантов как куча тв для всех языков получается нет?            
                    Подскажите еще пожалуйста, а как если мне в шаблоне надо вывести [[+pagetitle]] на выбранном языке не текущего ресурса, а другого, как getfield?Ну тут только сниппет писать. Где-то там же в комментах в основной теме что-то было похожее.
                3. Якщо ти хочеш не міняючи ULR сторінки переключити мову, то тобі краще використовувати компонент Xlexicon            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.