Localizator - поддержка TV параметров

1. Изменены окна редактирования локализаций, добавлена возможность редактирования TV-параметров

Для вывода на редактирование определенных TV-параметров добавлена настройка локализатора localizator_tv_fields

2. Сделан сниппет Localizator
{'Localizator' | snippet : [
    'snippet' => 'pdoMenu',
    'includeTVs' => 'img',
    'processTVs' => 'img',
    'parents' => 0,
    'level' => 1,
]}
TV-параметры будут заменяться на параметры из локализации.
Для этого нужно изменить настройку pdoFetch.class на pdotools.pdofetchlocalizator


Компонент по прежнему бесплатный и доступен на modstore.pro

Исходники на https://github.com/but1head/localizator

Отправить спасибо можете на Яндекс-кошелек 410015133943061
Артем
23 октября 2018, 18:51
10
346
+18

Комментарии: 38

Aleksandr Huz
23 октября 2018, 19:15
0
Вот это работа! Очень круто!
Hiddenski
23 октября 2018, 20:35
0
На первом скриншоте: что это за вкладки с «добавить элемент»?
    Артем
    23 октября 2018, 20:39
    +2
    Это TV-параметр migx.
    Стрелками отмечены категории, доп.параметры распределены по категориям — вкладкам, как и при редактировании самого ресурса.
      Hiddenski
      23 октября 2018, 20:47
      0
      Получается можно использовать не просто TV, а сразу MIGX?

      Извините за немного глупые вопросы :)
        Артем
        23 октября 2018, 20:49
        0
        Да, можно)
      Hiddenski
      24 октября 2018, 15:14
      0
      Поля доступны только для редактирования но не автоперевода?
        Артем
        24 октября 2018, 15:20
        0
        укажи в настройке localizator_translate_fields tv параметры без префикса
        должно перевести, если это не migx
        для перевода migx допилить еще надо
          Hiddenski
          24 октября 2018, 15:24
          0
          В том то и дело — MIGX :/

          Сколько возьмете за допил? Штука must have, очень круто дополнила localizator. Буквально автоперевода для MIGX не хватает.
            Артем
            24 октября 2018, 15:27
            0
            На рабочем проекте возможно допилю
              Hiddenski
              24 октября 2018, 15:31
              0
              Как будете выкладывать решение, прикрепите к посту кошелек для «спасибо/на кофе»
                Артем
                01 ноября 2018, 15:12
                0
                Сделал PR на реп Локализатора, Никита думаю скоро выложит новую версию на модстор.
                Либо пока что можете скачать из моего репозитория.
                Баг поправил. Для перевода тв параметров (в том числе и migx) -их нужно также внести в системную настройку.
Рамис Хамидуллин
24 октября 2018, 00:25
0
Отлично. Теперь можно работать с migx без костылей!
Hiddenski
29 октября 2018, 07:51
0
Обнаружил 2 бага.
1. Через раз срабатывает визуальный редактор во вкладках (Firefox точно)
2. При выводе pdoCrumbs не показывает родителя. Только Главная и Текущая страница
    Артем
    29 октября 2018, 10:10
    0
    1. какой редактор используете?
    2. а родительские переведены? у меня нормально выводится
      Hiddenski
      29 октября 2018, 10:17
      0
      1. TinyMCE Rich Text Editor (название пакета)
      2. Да. Причем в одном месте всё ок, в другом нет. На днях попробую повторить баг пошагово, или отпишусь в чем было дело.
        Артем
        29 октября 2018, 11:47
        +2
        по первому пункту нашел ошибку
        также автоперевод migx допилил
        позже выложу
          MrKarandash
          30 октября 2018, 20:10
          0
          del
          Hiddenski
          31 октября 2018, 20:26
          0
          Бага нет, всё таки я заработался.

          Забыл добавить перевод родителю, отсюда и пустота.
MrKarandash
30 октября 2018, 20:03
0
Все очень круто! Но возник вопрос, почему не брать поля для перевода из вкладки Документ? Или есть какие то трудности с такой реализацией?

Кстати, так же если изменить текст в полях главной локализации и нажать на Автоматический перевод, то в тех локах, которые являются сторонними переводами, ничего не меняется. То есть по нажатии на кнопку они не обновляются. Нужно сперва удалять их после этого нажимать. Это так задумано или баг?
    Артем
    30 октября 2018, 20:10
    +1
    Не понял про поля из вкладки документ.
    Ещё в первой версии нужно было указать в системных настройках какие поля переводить.
    По второму вопросу — также, в системных настройках есть параметр, переводить уже переведенные языки.
      MrKarandash
      30 октября 2018, 20:13
      0
      Ну вот у меня основная версия — русская и я заполнял поля стандартные при редактировании ресурса на вкладке Докумен. А, как я понял, для работы дополнения нужно заполнять русскую локаль во вкладке Локализация, которая и будет потом переводиться на все остальные языки
        Артем
        30 октября 2018, 20:15
        +1
        Если указать язык по умолчанию, то при сохранении нового ресурса создаётся запись в локализаторе. Но это только для новых ресурсов.
Андрей Розум
01 ноября 2018, 15:38
0
Есть вывод новостей:
[[!pdoPage? 
  &parents=`29` 
  &limit=`6` 
  &depth=`0` 
  &tpl=`News.main.ru` 
]]
[[!+page.nav]]
в tpl выводятся [[+longtitle]] и [[+introtext]], но они подхватываются из свойств документа. Каким должен быть вызов, чтобы они были из локализатора?
    Артем
    01 ноября 2018, 16:18
    0
    обновите модуль
    [[!Localizator? 
      &snippet=`pdoPage`
      &parents=`29` 
      &limit=`6` 
      &depth=`0` 
      &tpl=`News.main.ru` 
    ]]
    [[!+page.nav]]
      Андрей Розум
      01 ноября 2018, 16:58
      0
      Обновил, но вызов в таком виде ничего не выводит.
      И среди сниппетов не вижу чтобы появился сниппет Localizator.
        Андрей Розум
        01 ноября 2018, 17:05
        0
        Похоже что после обновления модуля у меня в локализаторе вообще пропал блок «содержимое», а вызов шел из него. Сейчас попробую переустановить модуль.
          Андрей Розум
          01 ноября 2018, 17:10
          0

          Вот так теперь выглядит.
            Артем
            01 ноября 2018, 18:06
            0
            Отправьте доступы на почту
            nizart91@mail.ru
              Андрей Розум
              01 ноября 2018, 20:55
              0
              Сайт не мой, владелец слегка параноик, без его согласия не могу. ((

              С содержимым сам разобрался. На сайте не было визуального редактора. Поставил TinyMCE, содержимое в локализаторе появилось.

              Но вот вызов сниппета !Localizator все равно не отрабатывает. Сейчас попробую на другом сайте.
    Артем
    01 ноября 2018, 22:45
    0
    немного по-другому
    [[!pdoPage?
    &element=`Localizator`
    &parents=`1` 
    &limit=`2` 
    &depth=`1` 
    &tpl=`News.main.ru`  ]] 
    [[!+page.nav]]
      Андрей Розум
      02 ноября 2018, 11:28
      0
      Спасибо!
      В таком виде и после того как скопировал сниппет Localizator все заработало.
Hiddenski
05 ноября 2018, 00:31
0
Поставил 1.0.2-beta1 из modstore.

При установке почему-то обязательно тянется MIGX
    Артем
    05 ноября 2018, 07:24
    0
    Да, я за основу брал migx. Нужен как раз для рендеринга редактора текста. Зачем копировать тоже самое, если можно просто его установить)
      Hiddenski
      06 ноября 2018, 14:56
      0
      То ли я дурак, то ли лыжи не едут. MIGX-поля не переводятся.

      И поля отключал, и настройки форм, и переустановку локализатора делал. Можете помочь?
        Артем
        06 ноября 2018, 14:58
        0
        напишите доступ на nizart91@mail.ru
MrKarandash
2 часа назад
0
Прикрутил MIGX к документу, добавил в настройках локализатора это поле. При нажатии поляи из MIGX успешно переводятся. А вот как вывести их в документе?

[[!Localizator? 
    &snippet=`getImageList`
    &tvname=`blocks`
	&tpl=`blocks_tpl`
	&docid=`[[*id]]`
	&limit=`999`
]]
отдает 500 ошибку
    MrKarandash
    55 минут назад
    0
    Вообще я так понял какая то неполадка с 1.0.2
    Следующий код из примера тоже не работает и крашит все после себя
    {'!Localizator' | snippet : [
            'snippet' => 'pdoMenu',
            'parents' => 0,
            'includeTVs'     => 'img',
            'processTVs' => 'img',
            'parents' => 0,
            'level' => 1,
    ]}
    Так же ошибка в консоли
    [2018-11-13 18:00:46] (ERROR @ /public_html/core/xpdo/om/xpdoquery.class.php : 764) Encountered empty IN condition with key contentid
    [2018-11-13 18:00:46] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 988) xPDO->removeCollection - Error deleting modTemplateVarResource instances using query DELETE FROM `modx_site_tmplvar_contentvalues` WHERE `modx_site_tmplvar_contentvalues`.`contentid` IN () 
    [2018-11-13 18:15:33] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
    [2018-11-13 18:15:37] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
    [2018-11-13 18:15:37] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
    [2018-11-13 18:15:37] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
    [2018-11-13 18:15:38] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
    [2018-11-13 18:15:38] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
    [2018-11-13 18:15:38] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.
    [2018-11-13 18:15:38] (ERROR @ /public_html/core/xpdo/xpdo.class.php : 644) Could not load class: pdofetchlocalizator from pdotools.pdofetchlocalizator.