Jump to content


Photo
- - - - -

Изменить тип элемента

element

Best Answer mmth , 05 July 2017 - 17:33

Спасибо через импорт/экспорт и заменить поля, понятно. Есть ли другой способ заменить Select на Text и при этом избежать редактирования шаблонов.

это оптимальный способ с точки зрения влезания внутрь кода.

Есть еще один способ но он "на свой страх и риск" бекап нужно делать и пробовать!

есть папка с конфигурационными файлами:

media\zoo\applications\jbuniversal\types\тип_материала.config

структура следующая:

...
"elements": {
...
"b6171b0c-8758-4c39-84fe-ba796eff34e9": {
"name": "\u0422\u0435\u043a\u0441\u0442",
"description": "",
"access": "1",
"repeatable": "0",
"default": "",
"jplugins": "1",
"type": "textarea"
...
},

нам нужно заменить тип 

в примере он textarea. id  - b6171b0c-8758-4c39-84fe-ba796eff34e9 его оставляем тем же.

Как бы сделал я, сравнил параметры остальные элемента с типом textarea и select и изменил как нужно.

Затем залез в базу посмотрел как хранятся данные у элементов с этими id если одинаково то все удалось.

Если нет то кусать локти, и пытаться сделать изменения в базе, или вернуть файл конфига к первозданный вид)

Go to the full post


6 replies to this topic

#1 al2401

al2401
  • JBZoo User (rus)
  • User rate: 0.7
  • posts: 173
  • topics: 56

Posted 05 July 2017 - 15:52

Добрый день, рабочий сайт с материалами, изначально ряд элементов делали "Select", возникла необходимость заменить "Select" на "Text", есть ли способ выполнить преобразование,через конфигурацию, или другим способом, не меняя шаблоны.


  • 0

#2 mmth

mmth
  • JBZoo User (rus)
  • User rate: 22.3
  • posts: 546
  • topics: 8

Posted 05 July 2017 - 16:01

Добрый день, рабочий сайт с материалами, изначально ряд элементов делали "Select", возникла необходимость заменить "Select" на "Text", есть ли способ выполнить преобразование,через конфигурацию, или другим способом, не меняя шаблоны.

Доброго времени суток. Можно сделать через импорт/экспорт сначала выгрузить items, добавить новый элемент "текст" к типу и загрузить (обновить по id) items выставив соответствие элементов, чтобы то, что из селекта попало в текст. Затем удалить элемент селекта.

 

Если совет не помог, тогда опишите конкретней свою ситуацию, можете приложить скриншоты.


  • 0

#3 al2401

al2401
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.7
  • posts: 173
  • topics: 56

Posted 05 July 2017 - 16:19

Если добавлять новые элементы, изменятся ID элементов, на сайте некоторые значения получали в коде через ID, придется менять шаблоны, а этого как раз требуется избежать.


  • 0

#4 mmth

mmth
  • JBZoo User (rus)
  • User rate: 22.3
  • posts: 546
  • topics: 8

Posted 05 July 2017 - 16:37

Если добавлять новые элементы, изменятся ID элементов, на сайте некоторые значения получали в коде через ID, придется менять шаблоны, а этого как раз требуется избежать.

не качественная локализации приводит к путанице, element- единица контента, речь ведь про поле текстовое было это как раз оно, id у item не поменяется.  Если речь про id-именно element то дополнительно где select выбирался по id нужно будет изменить на id text.


Edited by mmth, 05 July 2017 - 16:40.

  • 0

#5 al2401

al2401
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.7
  • posts: 173
  • topics: 56

Posted 05 July 2017 - 17:09

Спасибо через импорт/экспорт и заменить поля, понятно. Есть ли другой способ заменить Select на Text и при этом избежать редактирования шаблонов.


  • 0

#6 mmth

mmth
  • JBZoo User (rus)
  • User rate: 22.3
  • posts: 546
  • topics: 8

Posted 05 July 2017 - 17:33   Best Answer

Спасибо через импорт/экспорт и заменить поля, понятно. Есть ли другой способ заменить Select на Text и при этом избежать редактирования шаблонов.

это оптимальный способ с точки зрения влезания внутрь кода.

Есть еще один способ но он "на свой страх и риск" бекап нужно делать и пробовать!

есть папка с конфигурационными файлами:

media\zoo\applications\jbuniversal\types\тип_материала.config

структура следующая:

...
"elements": {
...
"b6171b0c-8758-4c39-84fe-ba796eff34e9": {
"name": "\u0422\u0435\u043a\u0441\u0442",
"description": "",
"access": "1",
"repeatable": "0",
"default": "",
"jplugins": "1",
"type": "textarea"
...
},

нам нужно заменить тип 

в примере он textarea. id  - b6171b0c-8758-4c39-84fe-ba796eff34e9 его оставляем тем же.

Как бы сделал я, сравнил параметры остальные элемента с типом textarea и select и изменил как нужно.

Затем залез в базу посмотрел как хранятся данные у элементов с этими id если одинаково то все удалось.

Если нет то кусать локти, и пытаться сделать изменения в базе, или вернуть файл конфига к первозданный вид)


Edited by mmth, 05 July 2017 - 17:33.

  • 0

#7 al2401

al2401
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.7
  • posts: 173
  • topics: 56

Posted 06 July 2017 - 17:17

Спасибо этот метод работает, поля изменить можно, потом импортировать значения в text.


  • 0





Click to return to top of page in style!