Как удалить тип контента, созданный с помощью функций


Я пытался использовать функцию проекта из дистрибутива на основе функций openAid. Поэтому я скопировал все функции из этого дистрибутива и потребовал дополнительных и пользовательских модулей в своей установке drupal.

Затем я включаю функцию проекта от администратора/структуры/функций, которая включает несколько других функций, таких как ресурсы и партнеры.

Каким-либо образом я не смог заставить его работать в соответствии с моими требованиями, поэтому я удалил все три папки, включая функции, дополнительные и пользовательские модули.

Но проблема в том, что он создал три типа контента: Проект, Партнеры и нет возможности их удалить.

Пожалуйста, дайте мне знать, есть ли способ удалить те типы контента, которые были созданы с помощью функций, которые я уже удалил.

Author: arpitr, 2013-10-08

5 answers

Вы можете попробовать следующий код для получения ссылки на удаление (как мы получаем ссылку на удаление для созданных вручную типов контента) для типов контента, созданных модулем функций:

<?php
/**
 * Implements hook_uninstall().
 */
function FEATURE_NAME_uninstall() {

  // List custom content types added by this feature.
  $custom_ctypes = array(
    'CONTENT_TYPE1',
    'CONTENT_TYPE2',
  );

  // Loop through each and unlock the content type.
  foreach ($custom_ctypes as $ctype) {
    db_query("UPDATE {node_type} SET `custom` = 1, `locked` = 0 WHERE `type` = :ctype", array(':ctype' => $ctype));
  }

  // Clean Drupal cache; this is necessary for the "Delete" link to appear
  // next to the content type created by the feature.
  drupal_flush_all_caches();
}
?>

После выполнения описанного выше сценария вы получите ссылку "удалить", как мы получаем для созданного вручную типа контента, и затем вы можете удалить тип контента (созданный модулем функций) из самого пользовательского интерфейса.


Еще один простой способ удалить тип контента: вручную перейдите к /admin/structure/types/manage/"CONTENT_TYPE_NAME"/delete, он будет удалите его

Ссылка: https://drupal.org/node/1055460

 2
Author: Ankit Agrawal, 2013-10-08 15:49:47

Откройте тип контента (например: статья) для редактирования, который должен привести вас к URL-адресу:

Администратор/структура/типы/управление/статья

Затем вы можете добавить "/удалить" в URL-адрес следующим образом:

Администратор/структура/типы/управление/статья/удалить

, который должен открыть форму, которая позволит вам удалить тип контента. Я не знаю, позволяет ли это удалять те, которые поступают из пакета активных функций, но это определенно поможет вам удалите устаревшие типы контента из неактивных пакетов функций. Так что будьте осторожны


К вашему сведению, если вы делаете это для нескольких типов контента, не открывайте все формы удаления на нескольких вкладках и старайтесь быть умным, удаляя несколько типов одновременно. Будут происходить плохие вещи: - p Создавайте резервную копию и удаляйте по одному типу контента за раз.

 7
Author: Beebee, 2015-02-24 14:30:14

Если у вас установлен devel, перейдите в /devel/php, а затем node_type_delete($type), где $type - имя компьютера для типа контента.

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

 0
Author: arpitr, 2013-10-08 14:53:16

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

Имя модуля Drush dis

, А затем удалите модуль с помощью

Drush pm-имя модуля удаления

Это поможет вам удалить все записи, созданные модулем функций в вашей базе данных.

 0
Author: Nitesh Sethia, 2013-10-08 15:48:52

Самое простое, что можно сделать (я думаю), это использовать модуль admin_menu (https://www.drupal.org/project/admin_menu ). Я уже использую это на большинстве своих сайтов, так что для меня это не дополнительный шаг.

С включенным admin_menu вы можете просто навести курсор на структуру > типы контента> любой тип, и появится ссылка удалить.

Я только что проверил это, переместив тип контента и представление с одного сайта на другой с помощью функций. Отключил функцию, но тип контента был все еще там, без ссылки на удаление. Использовал меню администратора для удаления типа контента. Сработало отлично.

 0
Author: knowledges33ker, 2015-03-07 16:48:04