Как клонировать тип контента? [закрыто]

13

Я хочу клонировать тип узла и добавить в него несколько полей. Я думаю, что самым простым будет продублировать его и начать работать над ним.

Кажется, в Drupal 7 нет официального способа клонировать тип контента. Возможности могут это позволить, но нет письменной процедуры относительно того, как это можно сделать.

Я даже попробовал модуль Bundle Copy .

Что будет лучшим способом клонировать любой тип контента в Drupal 7?

AGA
источник
Я только что заметил, что вы пытались копировать пачку ... Я использую это все время, что не работает?
Клайв
1
@NikhilM Добавление полей делает этот вопрос похожим, но не дуплом из 11645.
mpdonadio

Ответы:

12

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

Модуль управления конфигурацией позволяет отслеживать конкретные конфигурации на сайте Drupal, предоставляет возможность перемещать эти конфигурации между различными средами (локальная, dev, qa, prod), а также перемещать конфигурации между совершенно разными сайтами (переносить конфигурации). без использования модулей со всей конфигурацией, принадлежащей сайту.

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

Клайв
источник
Как использовать Bundle copy? Я экспортировал тип статьи - теперь, что мне сделать, чтобы изменить его имя перед импортом того же кода?
AgA
Просто запустите строку и замените ... замените «old_content_type» на «new_content_type», у меня никогда не было проблем с использованием этого метода раньше
Clive
Спасибо ... могу ли я заменить "article" для клонирования типа контента Article?
AgA
Да, но убедитесь, что замена строк чувствительна к регистру и включает апострофы (это не точная наука). Таким образом, PHP-код будет выглядеть так:str_replace("'article'", "'new_type'", $export_code);
Clive
Вы имеете в виду, что только имя машины необходимо заменить?
AgA
4

Я использую модуль Field Tools для D7; он делает именно то, что вам нужно.

elektrorl
источник
Помогает ли это перенести мультиполя, не знаете, как это использовать
pal4life
3

Я создал Content Type Clone, доступный здесь как проект песочницы:

https://www.drupal.org/sandbox/davidfiaty/2745827

Это позволяет вам клонировать тип контента в один клик, не обращая внимания на код PHP или выполнять сложные манипуляции.

Это все еще проект песочницы, но скоро он будет доступен в качестве официального модуля Drupal. Проверьте это!

Редактировать 1: Официальный релиз Content Type Clone для Drupal 7 уже здесь! https://www.drupal.org/project/content_type_clone Drupal 8 скоро будет доступна.

Редактировать 2: Официальный выпуск Content Type Clone для Drupal 8 доступен на той же странице.

Дэвид Фиати
источник
2

Функциональный модуль пока лучший вариант.

Вот что вам нужно сделать:

  • Экспортируйте тип контента, который вы хотите клонировать, как функцию.
  • Переименуйте тип контента (т.е. измените «имя машины») на вашем сайте Drupal.
  • Загрузите и включите вашу функцию

На этой странице может быть ваш ответ за «официальный способ клонирования типа контента в Drupal 7».

monymirza
источник
1
Не могу согласиться с этим извините. Пакетное копирование намного проще в использовании (и более легкое), чем функции. То же самое
Клайв
Подскажите, пожалуйста, какие поля нужно точно изменить в экспортированном модуле и ссылку на эту "официальную" информацию?
AgA
+1 @Clive - мы только что использовали Bundle Copy здесь - он предоставляет пункт меню «clone» в разделе «Structure» в меню администратора / конфигурации Drupal для клонирования типа контента. Именно на это мы и рассчитывали, рассматривая этот модуль. Вроде нормально работает.
therobyouknow
@monymirza это будет включать редактирование машинно-сгенерированного кода вручную для поиска / замены / переименования сгенерированного кода типа контента. Если кто-то не знает код модуля Feature, а также то, как он генерирует этот код, могут быть неизвестные / предположения относительно ручного кодирования таким образом и неудачные результаты. Используйте версию dev (на момент написания, в настоящее время 7.x-2.x-dev) Bundle Copy (исправил мой оригинальный комментарий, сделанный 1 октября 14 в 10:29, чтобы упомянуть функциональность, которая в настоящее время находится в версии dev), так как это обеспечивает пункт меню «клон» в меню «структура», из коробки, он был сделан для этой задачи.
therobyouknow