বৈশিষ্ট্য আনইনস্টল করার পরে বৈশিষ্ট্য সামগ্রী প্রকার মুছতে অক্ষম


উত্তর:


15

সমাধান

hook_uninstall()FEATURE_NAME.in ইনস্টল করা ফাইলটিতে একটি ব্যবহার করে এবং সামগ্রীর ধরণের স্থিতি পরিবর্তন করা হয়, সুতরাং সিস্টেমটি এটি একটি আনলক করা, কাস্টম সামগ্রীর ধরণ বলে মনে করে।

আমি 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();

}

এটি সেই বিষয়বস্তুর জন্য "মুছুন" বোতামটি উপস্থিত করবে, যাতে আপনি এটি প্রশাসক থেকে মুছতে পারেন।

আশা করি এটি কাউকে সাহায্য করবে!


1
স্পষ্ট করার জন্য, এটি সামগ্রীর ধরণের মুছবে না; এটি সামগ্রীর ধরণের তালিকা পৃষ্ঠায় 'মুছুন' লিঙ্কটি উপলব্ধ করে। ধন্যবাদ @ ইভানহোই 123!
two1ejack

1
এছাড়াও, আমার বৈশিষ্ট্যগুলি মডিউল সক্ষম করার সময় আমি এটি করতে সক্ষম হয়েছি না, তবে অক্ষম করে এবং আনইনস্টল করার পরে (আমি ড্রশ ব্যবহার করেছি) এটি সুন্দরভাবে কাজ করেছে। শর্টকাট: এই ফাংশনটির বিষয়বস্তুগুলিকে / ডিভেল / পিএইচপি-তে ফেলে দিয়ে ডিভেল মডিউলটি ব্যবহার করুন। প্রোগ্রামগতভাবে সামগ্রী মোছার node_type_delete($ctype); জন্য লুপের জন্য ক্যোয়ারির পরে যুক্ত করুন ।
two1ejack

কোডের জন্য ধন্যবাদ। এই কোডটি দেখার পরে আমি phpMyAdmin ব্যবহার করে আমার ডাটাবেস সম্পাদনা করেছি এবং "নোড_প্রকার" সারণি সম্পাদনা করেছি। তারপরে আমি যে প্রসঙ্গের প্রকারটি আমি মুছে ফেলতে এবং "কাস্টম" মানটি "1" তে সেট করতে চেয়েছি তা পেয়েছি। এবং ফিনলে আমি ড্রুপাল প্রশাসন থেকে এটি মুছে ফেলেছি।
AndiTKO

2
mysql> UPDATE node_type SET custom = 1, locked = 0 WHERE type = '<content type machine name>';
মার্কো লাজেরি

@ মার্কো লাজেরির সমাধানটি আমার জন্য নিখুঁতভাবে কাজ করেছে এবং এটি কেবল আনইনস্টল করার জন্য আমার বৈশিষ্ট্য মডিউলটি আপডেট করার চেয়ে অনেক ভাল ছিল।
ডোনাট

11

আমার জন্য, সমাধানটি হ'ল মুছে ফেলা পৃষ্ঠাটি ম্যানুয়ালি লোড করা ছিল কারণ সামগ্রীর ধরণের পৃষ্ঠায় কোনও "মুছুন" লিঙ্ক নেই। এটি করার জন্য, আপনাকে কেবল অন্য সামগ্রীগুলির ধরণের জন্য মুছুন পৃষ্ঠার মতো একই ইউআরএল কাঠামো অনুসরণ করে নিজেই ইউআরএলটি তৈরি করতে হবে:

অ্যাডমিন / কাঠামো / ধরনের / পরিচালনা / YOUR_CONTENT_TYPE_MACHINE_NAME / মুছুন

এটি সামগ্রীর ধরণের মুছুন নিশ্চিতকরণ পৃষ্ঠাটি নিয়ে আসে, যা পরে আমাকে সামগ্রীর ধরণ মুছতে দেয়।

রেফারেন্সের জন্য, এই থ্রেডটি দ্রুপাল.অর্গ এ দেখুন:

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

শুভেচ্ছা সহ,

@cmsdave


আমি মুছে ফেলার জন্য শেষ পর্যন্ত প্রদর্শন সামগ্রীর ধরণের লিঙ্কটি পরিবর্তন করেছি এবং কোনও সমস্যা ছাড়াই সামগ্রীর প্রকারটি মুছে ফেলতে পারি। এই সমাধান কাজ করে!
কেটেয়

দ্রষ্টব্য : এটি কাজ করার আগে আমাকে বৈশিষ্ট্যের .infoফাইলটি সম্পাদনা করতে হবে এবং সামগ্রীটির ধরণটি সরিয়ে ফেলতে হবে, তবে এটি আসলে মুছবে।
ডানকানমু

3

উপরের পদ্ধতিটি ট্যাক্সনোমিকে মুছে দেয় না, তবে মডিউলটি অক্ষম ও আনইনস্টল করার পরে নিম্নলিখিতটি যুক্ত করে এটি অর্জন করা যেতে পারে:

// 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);
}

1

আর একটি সমাধান যা আমার জন্য সরাসরি আমার ডেভেলপমেন্ট সাইটের ডাটাবেসে সরাসরি কাজ করে। সর্বদা আপনার ডাটাবেস ব্যাকআপ করতে ভুলবেন না।

ম্যানুয়ালি একটি সামগ্রী টাইপ মুছে ফেলার জন্য যা কোনও বৈশিষ্ট্য # 16 দ্বারা তৈরি করা হয়েছিল যা নেডজো যা পরামর্শ দেয় তা নিম্নলিখিত:

  • বৈশিষ্ট্যটি অক্ষম করুন। আমি মাঝে মাঝে এটি নিয়ে সমস্যায় পড়েছি - কোনও বৈশিষ্ট্য অক্ষম হবে না। এই ক্ষেত্রে, বৈশিষ্ট্য মডিউল কোড সরান।
  • মোছার জন্য সামগ্রী ধরণের মেশিনের নাম নির্ধারণ করুন, যেমন, 'মাইটাইপ'।
  • ডাটাবেসে নোড_ টাইপ সারণির মানগুলি ডিফল্টগুলিতে ফিরিয়ে দিন যেন বিষয়বস্তুর ধরণটি ইউআইয়ের মাধ্যমে ম্যানুয়ালি তৈরি করা হয়েছিল:

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

  • সামগ্রীর ধরণের পরিবর্তন উপলব্ধ কিনা তা নিশ্চিত করতে ক্যাশে সাফ করুন।
  • প্রশাসক / কাঠামো / প্রকারভেদে ইউআইয়ের মাধ্যমে সামগ্রীর প্রকারটি মুছুন।

0

আপনি যদি অ্যাডমিন_মেনু মডিউল ব্যবহার করেন তবে আপনি টানা ডাউন মেনুতে মুছে ফেলা লিঙ্কগুলি স্ট্রাকচার / বিষয়বস্তুর ধরণ / [সামগ্রীর ধরণের নাম] / মুছতে দেখতে পাবেন এমনকি সেগুলি সামগ্রীর ধরণের পৃষ্ঠায় প্রদর্শিত না হলেও।

আমি বলব এটি মুছে ফেলা লিঙ্কটি ব্যবহার করা বেশ নিরাপদ যদি আপনি আশ্বাস দেন যে এই বিষয়বস্তুর ধরণের আর কোনও উল্লেখ নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.