Перейти к содержимому


Фотография
- - - - -

Перенос элементов с одного типа на другой.


  • Закрытая тема Тема закрыта
Сообщений в теме: 19

#1 Save Tibet

Save Tibet

Отправлено 20 February 2013 - 11:12

До недавнего времени все элементы каталога имели один тип и принадлежали к разным категориям.
Сейчас возникла необходимость вместо категорий сделать отдельные типы. В каталоге уже более 1600 наименований. Можно ли каким то образом поменять у элементов тип?
  • 0

#2 RomanL

RomanL

Отправлено 20 February 2013 - 11:56

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

не знаю, может способ и деревянный, но я делал так:

Есть элементы с типом Х, их надо разделить на Х и Y:
- Делаете тип Y и настраиваете его так же как и Х.
- Делаете экспорт в JSON.
- Удаляете элементы из каталога, которые должны стать Y. 
- делаете импорт из JSON в тип Y.  JSON не обновляет, а добавляет, поэтому те которые вы удалили из типа Х добавятся в Y и там же продублируется Х.
- удаляете из Y дубликаты Х

не забудьте сделать общий бекап сайта.
  • 0
[color=#aa0000]Не забывайте нажимать кнопку «Вопрос Решён» и «+1» под сообщением, которое Вам помогло[/color]

#3 Save Tibet

Save Tibet

Отправлено 20 February 2013 - 13:01

Можно на моем примере пояснить? Для наглядности.

Есть 7 категорий ювелирных изделий. у всех один тип — "ювелирные изделия". для категории "браслеты" понадобился отдельный тип "браслеты",  я его сделал. теперь я бы хотел элементы с типом "ювелирные изделия" и категорией "браслеты" превратить в элементы с типом "браслеты" и категорией (если вообще нужно теперь указывать категорию) "браслеты".
надеюсь, я не слишком вас запутал.

Вот сайт http://remtochmehani...dex.php/catalog
  • 0

#4 Save Tibet

Save Tibet

Отправлено 20 February 2013 - 16:50

да, и как быть, если элементов сотни? я не вижу опции включения отображения всех элементов.
  • 0

#5 SmetDenis

SmetDenis

Отправлено 21 February 2013 - 06:15

После изменения типа материала скорее всего сломается вывод.
Причина простая. Каждое поле имеет свой уникальный системный идентификатор. Он довольно жестко привязан к типу материала. Такая привязка идет по всей базе данных а так же в настройках шаблонов. Сделать одинаковый идентификатор поля для разных типов не получится - нарушится целостность базы данных, в итоге сам Zoo этого не даст сделать. Так уж устроен сам Zoo.

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

Может стоит рассмотреть вариант наполнить каталог заново. Вы же скорее всего 1600 элементов добавляли через импорт?

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#6 Save Tibet

Save Tibet

Отправлено 21 February 2013 - 09:47

каталог наполняют сотрудники клиента. наполняют вручную через форму подачи материала на сайте. поэтому я не могу их "обрадовать" и сказать, что надо снова наполнять каталог )). я бы попробовал способ выше, но вопрос с удалением старых элементов остается открытым — я не могу вручную удалять по 20 элементов, нужно какое-то автоматизированное решение.
  • 0

#7 RomanL

RomanL

Отправлено 21 February 2013 - 10:54

Добавьте в адресной строке:  &limit=0  и покажутся все элементы

  • 0
[color=#aa0000]Не забывайте нажимать кнопку «Вопрос Решён» и «+1» под сообщением, которое Вам помогло[/color]

#8 Save Tibet

Save Tibet

Отправлено 21 February 2013 - 15:07

спасибо! это решило проблему.
  • 0

#9 SmetDenis

SmetDenis

Отправлено 21 February 2013 - 20:32

спасибо! это решило проблему.

Расскажите потом, получилось ли изменить тип материала?
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#10 Save Tibet

Save Tibet

Отправлено 21 February 2013 - 23:00

рассказываю. не получилось. потому что теперь не могу удалить элементы. то есть я включаю отображение всех элементов с помощью  &limit=0, выделяю их все, нажимаю "удалить" и грузится та же страница с теми же элементами. смотрю количество на странице импорта/экспорта, там число не меняется.
  • 0




Click to return to top of page in style!