Problème
La désinstallation d'une fonctionnalité qui crée un type de contenu masque le lien "Supprimer" sur le admin/structure/types
.
La désinstallation d'une fonctionnalité qui crée un type de contenu masque le lien "Supprimer" sur le admin/structure/types
.
L'utilisation d'un hook_uninstall()
fichier dans FEATURE_NAME.install et la modification de l'état du type de contenu, de sorte que le système pense qu'il s'agit d'un type de contenu personnalisé déverrouillé.
J'ai également posté cela sur d.org .
<?php
/**
* Implements hook_uninstall().
*/
function FEATURE_NAME_uninstall() {
// List custom content types added by this feature
$custom_ctypes = array(
'blog',
);
// Go 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();
}
Cela fera apparaître le bouton "Supprimer" pour ce type de contenu, vous pouvez donc le supprimer de l'administrateur.
J'espère que cela aide quelqu'un!
node_type_delete($ctype);
après la requête dans la boucle for.mysql> UPDATE node_type SET custom = 1, locked = 0 WHERE type = '<content type machine name>';
Pour moi, la solution était de charger la page de suppression manuellement car il n'y a pas de lien "supprimer" sur la page des types de contenu. Pour ce faire, il vous suffit de créer l'URL vous-même en suivant la même structure d'URL que la page de suppression pour les autres types de contenu:
admin / structure / types / manage / YOUR_CONTENT_TYPE_MACHINE_NAME / delete
Cela a fait apparaître la page de confirmation de suppression du type de contenu, ce qui m'a ensuite permis de supprimer le type de contenu.
Pour référence, voir ce fil sur Drupal.org:
https://drupal.org/node/1055460#comment-7297680
Cordialement,
@cmsdave
la source
.info
fichier de la fonctionnalité et supprimer le type de contenu, puis il serait effectivement supprimé.La méthode ci-dessus ne supprime pas les taxonomies, mais cela peut être réalisé en ajoutant les éléments suivants après avoir désactivé et désinstallé le module:
la source
Une autre solution qui a fonctionné pour moi directement dans la base de données de mon site de développement. N'oubliez pas de toujours sauvegarder votre base de données.
Pour supprimer manuellement un type de contenu créé par une fonctionnalité # 16, Nedjo suggère ce qui suit:
la source
Si vous utilisez le module admin_menu , vous verrez toujours les liens de suppression dans le menu déroulant Structure / Types de contenu / [nom du type de contenu] / Supprimer, même s'ils ne sont pas affichés sur la page des types de contenu.
Je dirais qu'il est assez sûr d'utiliser ce lien de suppression si vous vous assurez qu'il n'y a plus d'autres références à ce type de contenu.
la source