Собственный модуль, вставка данных на страницу

Главные вкладки

Аватар пользователя Наденька Наденька 17 января 2016 в 23:06

Привет друзья, подскажите горе друпалеру, как с помощью собственного модуля подключить стороннюю библиотеку?

С файлами всё понятно, в теле модуля можно сделать такой хук

<?phpdrupal_add_js(drupal_get_path('module', 'mymodule') . '/js/myscript.js');?>

Хотя есть вопросы к этому методу, файл подключается в <head> а вот если я хочу до закрытия </body> его поставить? Есть ли такой хук? С гуглом так и не нашёлся.

Собственно вопрос:

Как в <body> после открытия или перед закрытием (а лучше оба примера) из модуля вставить произвольный jQuery скрипт типа:

<script>
$(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 там естественно ничего этого не добавиться, как же решить эту задачку?

Спасибо за любые подсказки!

Лучший ответ

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 18 января 2016 в 8:15

Скрипты подключаются методом https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_... в том числе в любое место, в т.ч. произвольные см. параметры. Еще рекомендую посмотреть примеры из https://www.drupal.org/project/examples

Аватар пользователя bumble bumble 18 января 2016 в 15:58

1. drupal_add_js - не хук.
2. Можно перенести скрипты в нужное место путем редактирования/добавления файла html.tpl.php в папке templates текущей темы.
(переменная $scripts).

Но перемещаются все скрипты, а не только Ваш.