it-swarm.asia

لماذا لا يمكنني حذف أنواع معينة من المحتوى؟

لدي Drupal 7 ، وتحت قائمة أنواع المحتوى ، هناك أنواع معينة فقط لها ارتباط "حذف" ضمن عمود "العمليات".

تحتوي جميع أنواع المحتوى على روابط "تحرير" ، و "إدارة الحقول" ، و "إدارة العرض" ، ولكن البعض الآخر فقط يحتوي على "حذف" ، بينما لا يمتلك البعض الآخر.

لقد راجعت أذونات المستخدم ، ولدي Administer content types - ولكن يبدو أن هذا إذن عالمي واحد لجميع أنواع المحتوى ، لذلك ما زلت لا أفهم لماذا يمكن حذف بعضها بينما البعض الآخر لا.

لماذا تحتوي أنواع معينة فقط من المحتوى على عملية حذف؟

18
user1359

يمكنك فقط حذف أنواع المحتوى التي يتم إنشاؤها يدويًا (عبر admin/structure/types/add).

يتم إنشاء أنواع المحتوى التي لا تحتوي على رابط حذف برمجيًا بواسطة مثبت وحدات وسيتم حذفها بعد إلغاء التثبيت.

15
hpn

احذفها بالذهاب إلى عنوان url /admin/structure/types/manage/content-machine-name/delete

content-machine-name هو اسم الجهاز لنوع المحتوى الذي تريد حذفه. تأكد أيضًا من استخدام الشرطات في اسم الجهاز بدلاً من التسطير السفلي.

30
Brian Reeves

كما ذكر hpn يمكنك فقط حذف أنواع المحتوى التي تم إنشاؤها يدويًا.

لكن في بعض الأحيان لا تسير الأمور بسلاسة. ساعدت الخطوات التالية على حذف أنواع المحتوى. تحتاج إلى نسخ قاعدة البيانات احتياطيًا قبل تجربة ذلك.

[لحذف نوع المحتوى الذي تم إنشاؤه يدويًا 1 # 16 Nedjo يقترح في drupal.org:

  • تعطيل الميزة. أواجه أحيانًا مشكلات في هذا الأمر - لن يتم تعطيل الميزة. في هذه الحالة ، قم بإزالة رمز وحدة الميزة.
  • حدد اسم الجهاز لنوع المحتوى المراد حذفه ، على سبيل المثال ، "mytype".
  • في قاعدة البيانات ، قم بإعادة قيم الجدول node_type إلى الإعدادات الافتراضية كما لو تم إنشاء نوع المحتوى يدويًا من خلال واجهة المستخدم:

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

  • امسح ذاكرة التخزين المؤقت لضمان تغيير نوع المحتوى.
  • من خلال واجهة المستخدم في المشرف/الهيكل/الأنواع ، احذف نوع المحتوى.

الخطوات المذكورة أعلاه هي ما ساعدني من قبل عندما وجدت هذه المشاكل.

2
cayerdis

يجب أن يكون تعطيل الوحدة التي تقدم نوع المحتوى هو الخطوة الأولى. إذا تم توفير نوع المحتوى بواسطة ميزة ، فستظل بحاجة إلى حذف نوع المحتوى.

للحصول على ميزة جيدة الصنع ، ستأتي القدرة على حذف نوع المحتوى بعد تعطيل الميزة التي توفرها. يُفضل ذلك على حذف نوع المحتوى من تحت ميزة ، لأن الوظيفة الحالية أو التحديثات المستقبلية لهذه الميزة قد تتطلب نوع المحتوى.

لاحظ أنه يمكنك تعطيل وحدات الميزات (المشرف/الوحدات النمطية) حتى عندما تدعي واجهة الميزات (بشكل أحمق) أنها لا تستطيع تعطيل وحدة نمطية بسبب التعارضات.

وإذا كنت لا ترغب في القيام بأي شيء من خلال الواجهة ، وتريد فقط عمل التعليمات البرمجية ، فإليك مثال على ربط التحديث الذي سيعطل ميزات كومنز ويكي والمقالات ، ثم يحذف أنواع المحتوى التي يوفرها.

<?php
/**
 * Remove unused features and content types.
 */
function example_update_7001() {
  // Delete one (spam) piece of wiki content.
  node_delete(2731);
  // Disable Feature modules.
  module_disable(array('commons_wikis_pages', 'commons_wikis', 'commons_posts'));
  // Delete content types.
  node_type_delete('wiki');
  node_type_delete('post');
}
?>
1
mlncn

لقد فعلت ذلك ولكن ظهرت لي رسالة الخطأ هذه: إشعار: فهرس غير محدد [نوع المحتوى] في node_filter_form () هل لديك أي فكرة عن كيفية إصلاح ذلك؟

0
PatriciaW