Привет друзья, подскажите горе друпалеру, как с помощью собственного модуля подключить стороннюю библиотеку?
С файлами всё понятно, в теле модуля можно сделать такой хук
<?phpdrupal_add_js(drupal_get_path('module', 'mymodule') . '/js/myscript.js');?>
Хотя есть вопросы к этому методу, файл подключается в <head>
а вот если я хочу до закрытия </body>
его поставить? Есть ли такой хук? С гуглом так и не нашёлся.
Собственно вопрос:
Как в <body>
после открытия или перед закрытием (а лучше оба примера) из модуля вставить произвольный jQuery скрипт типа:
$(function()
{
$('#edit-body-und-0-value').redactor({
imageUpload: '/sites/all/modules/mymodule/js/plugins/uploads/image_upload.php',
fileUpload: '/sites/all/modules/mymodule/js/upload/files/',
});
});
</script>
Кстати если кто знает толковые туториалы по написанию модулей (что бы базовые принципы были внятно разжёваны), порекомендуйте пожалуйста, буду бескрайне благодарна.
Решение и новые вопросы
Собственно нашла такое решение, для вставки перед закрытием BODY
<?php
function mymodule_page_build(&$page) {
$page['page_bottom']['devel'] = array(
'#weight' => 25,
'#markup' => '
<script language="javascript" type="text/javascript" src="/js/myjs.js"></script>
',
);
}
?>
Внимание вопрос:
Всё это прекрасно работает на на любых страницах, но вот беда, если открыть редактирование новы в слое Overlay там естественно ничего этого не добавиться, как же решить эту задачку?
Спасибо за любые подсказки!
Комментарии
Скрипты подключаются методом https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_... в том числе в любое место, в т.ч. произвольные см. параметры. Еще рекомендую посмотреть примеры из https://www.drupal.org/project/examples
Спасибо огромное, это именно то, что я искала
1. drupal_add_js - не хук.
2. Можно перенести скрипты в нужное место путем редактирования/добавления файла html.tpl.php в папке templates текущей темы.
(переменная $scripts).
Но перемещаются все скрипты, а не только Ваш.