Добавить javascript шаблону при нсталляции компонента

  • 11 Ответов
  • 286 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Protey

  • *
  • 4
  • 0
Написал свой компонент. Инсталлируется/Удаляется все ок.
Задача: добавить javascript в шаблон(ы) сайта. javascript должен быть подключен для всех страниц сайта, а не только для страницы компонента.

Как можно прописать это в скрипт установки компонента?


Пример подключения типа:
$document = JFactory::getDocument();
$document->addScript('/media/system/js/sample.js');

уже видел. Но надо сделать для ВСЕХ страниц сайта!

*

Taatshi

  • *****
  • 4779
  • 452
А зачем для всех? Что он должен делать?
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

*

dmitry_stas

  • ********
  • 9651
  • 929
на всех страницах - это плагин группы system. или модуль, который опубликован на всех страницах. но проще плагин.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Taatshi

  • *****
  • 4779
  • 452
dmitry_stas, блин, надо было дождаться ответа гражданина.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

*

Protey

  • *
  • 4
  • 0
на всех страницах - это плагин группы system. или модуль, который опубликован на всех страницах. но проще плагин.
Про модуль на всех страницах понятно: в код модуля добавляем указанные выше две строки и скрипт на всех страницах.
Поясните про плагин, пожалуйста. Я могу его добавить в инсталлятор компонента? И если да, то можно пример?

А зачем для всех? Что он должен делать?
На любой странице сайта (статья, описание и т.д.) может быть вставлено поле для ввода с определенным маркером. Я должен по вводу данных делать AJAX запрос на сервер, получить некие данные и отобразить рядом с этим полем. Все события для этого поля будут в javascript файле.

*

dmitry_stas

  • ********
  • 9651
  • 929
dmitry_stas, блин, надо было дождаться ответа гражданина.
тебе что-то показалось? :) мне сначала тоже, но потом подумал, что навряд ли вопрос звучал именно так :)

Цитировать
На любой странице сайта (статья, описание и т.д.) может быть вставлено поле для ввода с определенным маркером. Я должен по вводу данных делать AJAX запрос на сервер, получить некие данные и отобразить рядом с этим полем. Все события для этого поля будут в javascript файле.
нет смысла делать это плагином, для этого придуманы модули. вебмастер публикует модуль в том блоке, который подходит по его мнению для этого, и вопрос решен. как пример - модуль, который выводит статус заказа в интернет магазине по его номеру. клиент вводит номер своего заказа - видит статус. но позицию вывода модуля определяет разработчик интернет-магазина. зависит от шаблона, и т.д.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Taatshi

  • *****
  • 4779
  • 452
На любой странице сайта (статья, описание и т.д.) может быть вставлено поле для ввода с определенным маркером. Я должен по вводу данных делать AJAX запрос на сервер, получить некие данные и отобразить рядом с этим полем. Все события для этого поля будут в javascript файле.

Согласна с Дмитрием, при таком раскладе - именно модуль.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

*

Protey

  • *
  • 4
  • 0
Я прошу прощения за отсутствие базовых знаний, только вчера познакомился с Joomla.

Вероятно я с самого начала ошибся с выбором "компонента" вместо модуля.
Из всего предложенного Joomla я выбрал "компонент" т.к. он имеет удобный интерфейс инсталляции с развертыванием таблиц БД, которые потом в админке набиваются данными.

Однако мое решение мне казалось наиболее эффективным.
Контентмастеру не надо объяснять, что на каждую страницу, где есть поле для ввода кода, надо добавлять модуль.
Достаточно загрузить скрипт и неважно где разместит элемент ввода контентмастер (заголовок, футер, рекламный блок и пр.).

Сейчас просто добавил в темплейт в файл index.php загрузку js и все уже работает.
Но хотелось бы, что бы со сменой темплейта этот скрипт подгружался и туда.

*

Taatshi

  • *****
  • 4779
  • 452
Дык, с модулем так оно и будет. Если Вы подключаете скрипт посредством API Joomla, а, похоже, Вы именно так и собираетесь сделать - его подключение выведется в header страницы.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

*

dmitry_stas

  • ********
  • 9651
  • 929
Вероятно я с самого начала ошибся с выбором "компонента" вместо модуля.
Из всего предложенного Joomla я выбрал "компонент" т.к. он имеет удобный интерфейс инсталляции с развертыванием таблиц БД, которые потом в админке набиваются данными.
нет, не ошиблись. для этого и создан компонент.

Цитировать
Контентмастеру не надо объяснять, что на каждую страницу, где есть поле для ввода кода, надо добавлять модуль.
ему и так не надо ничего объяснять. модуль создается 1, а не на каждую страницу. вебмастер может легко выбрать, где ему удобно разместить модуль. модуль работает в связке с компонентом.

Цитировать
Сейчас просто добавил в темплейт в файл index.php загрузку js и все уже работает.
т.е. это какой то виджет, который сам выбирает где ему появится? типа плавающей кнопки чата?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

Protey

  • *
  • 4
  • 0
т.е. это какой то виджет, который сам выбирает где ему появится? типа плавающей кнопки чата?
выбирает место контент мастер - ставит поле для ввода.
В поле ввода вбивают код из 3х цифр, я показываю ответ из БД.
Что там, без понятия - язык не англ. и не немецкий...
« Последнее редактирование: 09.05.2017, 01:11:02 от Protey »

*

dmitry_stas

  • ********
  • 9651
  • 929
выбирает место контент мастер - ставит поле для ввода.
В поле ввода вбивают код из 3х цифр, я показываю ответ из БД.
тогда это должен быть модуль.

Что там, без понятия - язык не англ. и не немецкий...
это как? :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций