it-swarm.asia

هل هناك طريقة لتعيين رؤية كتلة برمجيا دون استخدام PHP وحدة التصفية؟

من خلال تمكين الأساسية PHP وحدة التصفية ، يمكنني استخدام PHP كود لتعيين رؤية كتلة في صفحة تكوين الكتلة.

ولكن لا أريد تمكين PHP وحدة التصفية لقياس الأمان. لذا هل هناك طريقة للقيام بذلك في الوحدة المخصصة؟ لا يمكنني العثور على القيام بذلك. وخطاف وثيق hook_block_view_alter يمكن فقط تغيير محتوى المنع.

11
gilzero

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

$block['content'] = _my_module_custom_block();

...

function _my_module_custom_block(){
    if( HIDE_CONDITION )
        return false;
}
13
Sam152

رؤية كتلة القواعد الوحدة هي بديل آخر متاح ... التي لا تتطلب PHP مرشح إلى يتم تمكين. هنا اقتباس من صفحة مشروعها:

تسمح وحدة رؤية كتلة القواعد القواعد باستخدام المكونات للتحكم في رؤية الكتلة. يوفر هذا Drupal يتمتع المسؤولون والمطورون بمرونة شديدة في التحكم في وقت عرض الكتل على مواقعهم الإلكترونية ، بالإضافة إلى خيارات الرؤية الافتراضية التي توفرها Drupal.

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

هل تريد إظهار كتلة فقط للمستخدمين المسجلين منذ أكثر من شهر؟

ربما لديك كتلة يجب أن تظهر فقط بين الساعة 8 صباحًا و 5 مساءً في أيام الأسبوع؟

ماذا عن عرض أو إخفاء كتلة بناءً على الظروف الجوية الحالية؟

كل هذا يمكن القيام به باستخدام رؤية كتلة القواعد.

علاوة على ذلك ، وفقًا لـ " إذا كان بإمكانك فعل ذلك باستخدام القواعد ، يمكنك استخدامه للتحكم في رؤية الحظر" أعلاه ، لديك القدرة على القواعد المتاحة للتنفيذ جميع أنواع المنطق المخصص (cfr. الجزء "برمجيًا/وحدة مخصصة" من سؤالك).

للحصول على توضيح لكيفية استخدام هذه الوحدة ، راجع إجابتي على " كيفية إيقاف عرض كتلة طرق العرض للمسؤولين ، مثل user/1؟ ".

1
Pierre.Vriens