تقييد وظائف المسطحة إلى أجزاء معينة من الموقع

StackOverflow https://stackoverflow.com/questions/5480943

  •  14-11-2019
  •  | 
  •  

سؤال

لدينا القضية حيث يستخدم استخدام المنتجات.PloneSlossary glossaryيقتصر بواسطة نوع المحتوى (الذي يعمل خارج الصندوق) وبمسار (يجب استخدام المسرد فقط مقابل / جزء / جزء / بلدي / My / Plone).هل هناك طريقة للقيام بذلك؟

هل كانت مفيدة؟

المحلول

يبدو هذا شكلي من المربع.في التكوين تأكد من "استخدام اللمعان على مستوى العالم لجميع المحتويات؟"غير مقطوع: ثم ضع مسردك في المسار الذي تريده فيه استخدامه، ووضع مسرد فارغ في جذر الموقع.

نصائح أخرى

حسنا، يمكنك استنساخ أنواع المحتوى، ثم استخدم أنواع المحتوى هذه فقط في القسم الذي تريده تمكينه المسرد.ولكن هذا غير مقبول جدا، أعترف.قد يكون لدى شخص آخر فكرة أفضل حول كيفية تعديل PloneGlossary "بالذين" مثل هذا.

إذا كنت في Plone 4، فسيكون لديك فئة نصية "portaltype-xxx".ربما يمكنك تخصيص القليل من جافا سكريبت القليل من جافا سكريبت، لتشغيل فقط إذا كانت هذه الفئة في إرفاق عنصر الجسم، خطوط قليلة من JQuery:

إذا (JQ ('الجسم'). hasclass ('portaltype-xxx')) { ... }

أو يمكنك تغيير حالة Glossay JavaScript في أداة Portal_javaScript لتظهر فقط إذا كان Object.portal_type== 'XXX'.

حظا سعيدا

غير متأكد من كيفية عمل PloneGlossary، ولكن هل حاولت تقييد هذا بالأذونات؟استخدم علامة التبويب "مشاركة" لتعيين الأدوار المحلية التي تسمح ب PloneGlossary في بعض المجلد ...

أعتقد أن الحل الأكثر سهولة هو تخصيص "حالة" تسجيل ملف Ploneglossary.js لاحتياجاتي الخاصة.سأقوم بتمديد مخطط أنواع المحتويات ذات الصلة وإعطائها حقل جديد 'ShowLESSARY'.الحالة يمكن التحقق من قيمة الكائن.

هذا النهج لا يتطلب أي تخصيصات من ploneglossary ويمكن أن يتحمل مباشرة داخل حزمة سياسةي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top