Удалить компоненты из функции, используя Drush

7

Использование функций пользовательского интерфейса для управления большими компонентами является трудоемкой задачей.

Поэтому для добавления нового компонента я использую

drush fe myfeature views_view:myview1

Теперь, как мне удалить ненужный компонент myview2?

Из пользовательского интерфейса эта операция показана ниже: я хочу удалить конфликтующий параметр community_content с помощью clone_of_community_content:

Вид:

введите описание изображения здесь

drupal_stuff_alter
источник
Если вы считаете, что мой ответ был правильным, отметьте его как правильный ответ.
JIV-E

Ответы:

8

Удалите компонент, удалив соответствующую строку в файле .info вашей функции. Затем запустите:

$ drush fu <feature_name>

В твоем случае:

  1. Откройте файл /sites/all/<features_folder>/myfeature/myfeature.info.
  2. Удалить следующую строку.

    features[views_view][] = myview2

  3. Сохраните файл.

  4. Запустите $ drush fu myfeatureв папке вашего сайта.
джайв
источник
это не похоже на правила. Я удалил файл, features[rules_config]и он не удалил .rules_defaults.incфайл.
cdmo
Вам также может понадобиться вручную удалить эти файлы.
JIV-E
Я пробовал это для переменной / сильного оружия. Я удалил все следы переменных. Но на drush cc all; drush fu -y FEATURENAMEвсе вещи были повторно добавлены.
Donquixote
2

Нет прямой команды drush (Drupal 7.31 и Drush версии 6.3.0 и никогда не слышал ничего подобного для drush verson 7.x) для отключения / удаления компонента. Если вы хотите удалить только компонент, вы должны сделать это с помощью пользовательского интерфейса.

Но если вы хотите удалить поле (например), вот как я делаю с drush:

  1. Сначала убедитесь, что ваше поле не используется в пользовательском модуле. (При необходимости вам придется корректировать свой код)
  2. Тогда давайте попросим drush удалить поле: drush field-delete field_website
  3. Небольшая проверка, действительно ли поле было удалено: drush field-info fields | grep field_website
  4. И просто воссоздайте функции, в которые вы включили поле: drush fu myfeature
  5. Если вы используете git, вы также можете проверить, что ваши изменения имеют смысл (я полагаю, что вы знаете, как использовать cdили относительный / абсолютный путь):git diff myfeature

Надеюсь, что это поможет.

JudaPriest
источник