it-swarm.dev

기능을 제거한 후 기능 컨텐츠 유형을 삭제할 수 없습니다

발행물

콘텐츠 유형을 생성하는 기능을 제거하면 admin/structure/types.

Drupal.org에서 발행

23
Aram Boyajyan

해결책

FEATURE_NAME.install 파일에서 hook_uninstall()을 사용하고 컨텐츠 유형의 상태를 변경하여 시스템은 잠금이 해제 된 사용자 정의 컨텐츠 유형이라고 생각합니다.

나는 이것을 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();

}

그러면 해당 컨텐츠 유형에 대해 "삭제"버튼이 나타나므로 관리자에서 삭제할 수 있습니다.

이것이 누군가를 돕기를 바랍니다!

15
Aram Boyajyan

나에게 해결책은 콘텐츠 유형 페이지에 "삭제"링크가 없기 때문에 삭제 페이지를 수동으로로드하는 것이 었습니다. 이렇게하려면 다른 컨텐츠 유형의 삭제 페이지와 동일한 URL 구조를 따라 URL을 직접 구성하면됩니다.

관리자/구조/유형/관리/YOUR_CONTENT_TYPE_MACHINE_NAME/삭제

그러면 컨텐츠 유형 삭제 확인 페이지가 표시되어 컨텐츠 유형을 삭제할 수있었습니다.

참고로 Drupal.org에서이 스레드를 참조하십시오.

https://drupal.org/node/1055460#comment-729768

문안 인사,

cm

11
cmsdave

위의 방법은 분류법을 삭제하지는 않지만 모듈을 비활성화 및 제거한 후 다음을 추가하여 얻을 수 있습니다.

// Delete taxonomies.
$machine_names = array('taxonomy_a', 'taxonomy_b');
foreach ($machine_names as $machine_name) {
  $taxonomy = taxonomy_vocabulary_machine_name_load($machine_name);
  taxonomy_vocabulary_delete($taxonomy->vid);
}
3
Juampy NR

개발 사이트의 데이터베이스에 직접 도움이되는 또 다른 솔루션입니다. 항상 데이터베이스를 백업하십시오.

기능에 의해 생성 된 컨텐트 유형을 수동으로 삭제하려면 # 16 Nedjo 제안하는 내용은 다음과 같습니다.

  • 기능을 비활성화하십시오. 때때로이 문제가 발생하여 기능이 비활성화되지 않습니다. 이 경우 기능 모듈 코드를 제거하십시오.
  • 삭제할 컨텐츠 유형의 기계 이름을 결정하십시오 (예 : 'mytype').
  • 데이터베이스에서 컨텐츠 유형이 UI를 통해 수동으로 작성된 것처럼 node_type 테이블 값을 기본값으로 되 돌리십시오.

mysql> UPDATE node_type SET module = 'node', custom = 1, modified = 1, locked = 0 WHERE type = 'mytype';

  • 컨텐츠 유형 변경이 가능하도록 캐시를 지우십시오.
  • Admin/structure/types의 UI를 통해 컨텐츠 유형을 삭제하십시오.
1
cayerdis

admin_menu module 을 사용하는 경우 컨텐츠 유형 페이지에 표시되지 않더라도 풀다운 메뉴 구조/콘텐츠 유형/[콘텐츠 유형 이름]/삭제에 삭제 링크가 계속 표시됩니다.

더 이상이 콘텐츠 유형에 대한 다른 참조가없는 경우이 삭제 링크를 사용하는 것이 안전하다고 말하고 싶습니다.

0
Mirsoft