Как встроить две строчки кода в сайт?

Аватар пользователя Fannge Fannge 30 апреля в 14:21

Здравствуйте, никогда не работал с Drupal, но появилось следующее задание:

Необходимо создать модуль, который бы добавлял две строчки кода на все страницы сайта:

<script src='ссылка на мой скрипт'></script>
<script>функция_скрипта('ключ');</script>

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

Подскажите, как это сделать, направьте на документацию или если это просто - напишите готовое решение! Спасибо

Комментарии

Аватар пользователя artomas artomas 30 апреля в 15:01

Блок создайте и отображайте на всех страницах. Хотя, не понял, это: "чтобы я вводил ключ при подключении модуля в моей системе".

Аватар пользователя Fannge Fannge 30 апреля в 15:11

Для моего виджета, который реализован в скрипте, используются различные ключи, привязанные к личному кабинету. Возможно ли сделать так, чтобы админ сайта как-то указывал этот ключ?

Аватар пользователя artomas artomas 30 апреля в 15:14

А вот так: поле юзеру с этим ключом, а потом скриптом цеплять? Дальше скрывать версткой поле. Или уже кастом писать. Там вам ссылку дали на варианты. Полезная.

Аватар пользователя Fannge Fannge 30 апреля в 15:17

Мне и нужно написать свой модуль интеграции, который есть в одном из вариантов решения, но я не знаю как это делать

Аватар пользователя Fannge Fannge 30 апреля в 15:22

Написать базовые модули с выводом Hello World и форм различных я смог, не понимаю, как мне сделать, чтобы мои две строчки со скриптами добавлялись в head либо же body в разметке(

Аватар пользователя artomas artomas 30 апреля в 15:27

А написать в THEME.theme этот код, который обрабатывает добавленный в поле юзера ключ, поможет?

Аватар пользователя Fannge Fannge 30 апреля в 15:32

Я не знаю, что такое THEME.theme. Это будет осуществляться в модуле? А не на определенном сайте

Аватар пользователя artomas artomas 30 апреля в 15:35

Это файл в вашей теме, в котором можно выполнить нужный вам php. Это не понял: "Это будет осуществляться в модуле? А не на определенном сайте".

Аватар пользователя Fannge Fannge 30 апреля в 15:23

Я смог добавить первую строку в файле .info, но как добавить вторую строчку, хотя бы с фиксированным значением, я не понимаю

Аватар пользователя Fannge Fannge 30 апреля в 15:14

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

Аватар пользователя artomas artomas 30 апреля в 15:04

Можно еще в html.html.twig темы добавить тупо. Но тут уже нужно этот шаблон в свою тему скопировать.

Аватар пользователя artomas artomas 30 апреля в 15:47

Ребята, помогайте, с семеркой сто лет не работал. Освежать в памяти времени нет.

Аватар пользователя Fannge Fannge 30 апреля в 15:48

Поскольку с добавлением 1-й строки я справился. Осталась только вторая, суть которой заключается в вызове функции javascript'a. Можно ли как-то в модуле Drupal'a это сделать?

Аватар пользователя marassa marassa 30 апреля в 15:51

artomas wrote: Это не понял: "Это будет осуществляться в модуле? А не на определенном сайте".

Попробую перевести сокровенные мысли автора: ему нужно разработать модуль, которые разные люди будут ставить на свои сайты, и который будет запускать скрипт/виджет автора с разными индивидуальными ключами. О том, что введённый админом ключ ещё надо куда-то сохранить и потом оттуда извлекать, нам ещё предстоит услышать.

Аватар пользователя Fannge Fannge 1 мая в 18:38

Я сделал!!!!!!!! Спасибо вам за попытку мне помочь!
Я не знаю, насколько правильно я это сделал, но оно работает:

<?php
function test_module_page_build(&$page) {
  
$page['page_bottom']['devel'] = array( 
    
'#markup' => "<script src='ссылка'></script><script>функция(ключ);</script>",
  );
}
?>
Аватар пользователя Andruxa Andruxa 1 мая в 21:56

Все хорошо, только одно замечание: devel - это название модуля, и если он добавит что-то в page_bottom - то ваш модуль перезапишет это (ну или наоборот - devel перезапишет разметку вашего модуля, зависит от веса модулей = порядка выполнения хуков).
Лучше использовать уникальное значение, как правило - название своего модуля.

Аватар пользователя artomas artomas 30 апреля в 15:51

Так вам же дали ссылку на вариант с модулем. На все варианты. Или я чего-то не понимаю.

Аватар пользователя Fannge Fannge 30 апреля в 15:55

Ссылка, где указаны 5 способов? Мне нужен 3й способ, но для своего скрипта