সমস্যা
কোনও বৈশিষ্ট্য আনইনস্টল করা যা একটি সামগ্রী প্রকার তৈরি করে তাতে "মুছুন" লিঙ্কটি লুকিয়ে রাখে admin/structure/types
।
কোনও বৈশিষ্ট্য আনইনস্টল করা যা একটি সামগ্রী প্রকার তৈরি করে তাতে "মুছুন" লিঙ্কটি লুকিয়ে রাখে admin/structure/types
।
উত্তর:
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();
}
এটি সেই বিষয়বস্তুর জন্য "মুছুন" বোতামটি উপস্থিত করবে, যাতে আপনি এটি প্রশাসক থেকে মুছতে পারেন।
আশা করি এটি কাউকে সাহায্য করবে!
node_type_delete($ctype);
জন্য লুপের জন্য ক্যোয়ারির পরে যুক্ত করুন ।
mysql> UPDATE node_type SET custom = 1, locked = 0 WHERE type = '<content type machine name>';
আমার জন্য, সমাধানটি হ'ল মুছে ফেলা পৃষ্ঠাটি ম্যানুয়ালি লোড করা ছিল কারণ সামগ্রীর ধরণের পৃষ্ঠায় কোনও "মুছুন" লিঙ্ক নেই। এটি করার জন্য, আপনাকে কেবল অন্য সামগ্রীগুলির ধরণের জন্য মুছুন পৃষ্ঠার মতো একই ইউআরএল কাঠামো অনুসরণ করে নিজেই ইউআরএলটি তৈরি করতে হবে:
অ্যাডমিন / কাঠামো / ধরনের / পরিচালনা / YOUR_CONTENT_TYPE_MACHINE_NAME / মুছুন
এটি সামগ্রীর ধরণের মুছুন নিশ্চিতকরণ পৃষ্ঠাটি নিয়ে আসে, যা পরে আমাকে সামগ্রীর ধরণ মুছতে দেয়।
রেফারেন্সের জন্য, এই থ্রেডটি দ্রুপাল.অর্গ এ দেখুন:
https://drupal.org/node/1055460#comment-7297680
শুভেচ্ছা সহ,
@cmsdave
.info
ফাইলটি সম্পাদনা করতে হবে এবং সামগ্রীটির ধরণটি সরিয়ে ফেলতে হবে, তবে এটি আসলে মুছবে।
উপরের পদ্ধতিটি ট্যাক্সনোমিকে মুছে দেয় না, তবে মডিউলটি অক্ষম ও আনইনস্টল করার পরে নিম্নলিখিতটি যুক্ত করে এটি অর্জন করা যেতে পারে:
// 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);
}
আর একটি সমাধান যা আমার জন্য সরাসরি আমার ডেভেলপমেন্ট সাইটের ডাটাবেসে সরাসরি কাজ করে। সর্বদা আপনার ডাটাবেস ব্যাকআপ করতে ভুলবেন না।
ম্যানুয়ালি একটি সামগ্রী টাইপ মুছে ফেলার জন্য যা কোনও বৈশিষ্ট্য # 16 দ্বারা তৈরি করা হয়েছিল যা নেডজো যা পরামর্শ দেয় তা নিম্নলিখিত:
- বৈশিষ্ট্যটি অক্ষম করুন। আমি মাঝে মাঝে এটি নিয়ে সমস্যায় পড়েছি - কোনও বৈশিষ্ট্য অক্ষম হবে না। এই ক্ষেত্রে, বৈশিষ্ট্য মডিউল কোড সরান।
- মোছার জন্য সামগ্রী ধরণের মেশিনের নাম নির্ধারণ করুন, যেমন, 'মাইটাইপ'।
- ডাটাবেসে নোড_ টাইপ সারণির মানগুলি ডিফল্টগুলিতে ফিরিয়ে দিন যেন বিষয়বস্তুর ধরণটি ইউআইয়ের মাধ্যমে ম্যানুয়ালি তৈরি করা হয়েছিল:
mysql> UPDATE node_type SET module = 'node', custom = 1, modified = 1, locked = 0 WHERE type = 'mytype';
- সামগ্রীর ধরণের পরিবর্তন উপলব্ধ কিনা তা নিশ্চিত করতে ক্যাশে সাফ করুন।
- প্রশাসক / কাঠামো / প্রকারভেদে ইউআইয়ের মাধ্যমে সামগ্রীর প্রকারটি মুছুন।
আপনি যদি অ্যাডমিন_মেনু মডিউল ব্যবহার করেন তবে আপনি টানা ডাউন মেনুতে মুছে ফেলা লিঙ্কগুলি স্ট্রাকচার / বিষয়বস্তুর ধরণ / [সামগ্রীর ধরণের নাম] / মুছতে দেখতে পাবেন এমনকি সেগুলি সামগ্রীর ধরণের পৃষ্ঠায় প্রদর্শিত না হলেও।
আমি বলব এটি মুছে ফেলা লিঙ্কটি ব্যবহার করা বেশ নিরাপদ যদি আপনি আশ্বাস দেন যে এই বিষয়বস্তুর ধরণের আর কোনও উল্লেখ নেই।