سؤال

أرغب في إزالة ملف JavaScript من موقع Drupal الخاص بي ، وإضافة ملف مخصص. هذا هو الرمز الذي أستخدمه في ملف template.php الخاص بي ، لكنه لا يعمل (لا يزال ملف JS القديم محملاً). (لقد قمت بمسح ذاكرة التخزين المؤقت)

دالة zen_preprocess_page (& $ vars ، $ hook) {

/*update js file*/
$scripts = drupal_add_js();
unset($scripts['module']['sites/all/modules/lightbox2/js/lightbox.js']);
$scripts['module']['sites/all/themes/zen/zen/myjs/lightbox.js'] = array('preprocess' => 1, 'cache' => 1);
$variables['scripts'] = drupal_get_js('header', $scripts);
هل كانت مفيدة؟

المحلول

لقد اختبرت الكود الخاص بك ، وهو يعمل بالفعل ، إذا وضعته في hook_preprocess_page(). ربما تكون مشكلتك هي استخدام وظيفة proprocess الخاطئة ، بحيث لا تؤثر على متغير البرامج النصية $ التي تستخدمها في قالب صفحتك ، أو أنه يتم تجاوزه في مكان ما في وقت لاحق من العملية.

يحرر

  • يجب ألا تقوم بتحرير موضوع Zen مباشرة ، ولكن الموضوع الفرعي بدلاً من ذلك.
  • هل حاولت إضافة ملف JavaScript drupal_add_js()?
  • هل قمت بالتفتيش $variables['scripts'] بعد تغييره لمعرفة ما إذا كان كما هو متوقع؟
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top