Отключить шаблон Joomla внутри модального поля

#php #joomla #joomla-extensions

#php #joomla #joomla-расширения

Вопрос:

Я разрабатываю простой модуль Joomla для серверной части, и я пытаюсь сохранить его простым. Мне нужно создать какое-то всплывающее окно, либо с помощью всплывающего окна javascript, либо модального окна. Я хочу, чтобы во всплывающем окне отображался некоторый базовый контент с пользовательской проверкой Joomla, но без отображения шаблона Joomla. С помощью компонента я мог бы написать URL, подобный этому:

 http://my-site.com/index.php?option=com_componentamp;tmpl=component
  

Этот URL-адрес будет отображать только содержимое компонента, при этом пользователь будет авторизован. Мне интересно, есть ли какой-либо способ сделать это для модуля. Вот несколько вариантов:

  1. Напишите URL, который будет выводить только содержимое модуля, и отключите шаблон Joomla.
  2. В настоящее время модальное окно использует iframe для включения в него другой страницы. Есть ли какой-либо способ заменить iframe содержимым?
  3. Создайте файл на сервере, который запрашивается напрямую, и добавьте проверку подлинности пользователя вверху. Есть ли какой-нибудь отдельный файл Joomla, который я мог бы включить, чтобы убедиться, что пользователь вошел в систему?
  4. Если все остальное не удается, я могу использовать die(); , чтобы пропустить написание шаблона.

Я использую Joomla 1.5

Ответ №1:

Во-первых, Joomla имеет встроенное модальное поле, которое будет отображать содержимое либо в iFrame, либо в div. Единственным обязательным элементом является добавление класса «modal» к ссылке. Вы также можете передать несколько параметров для управления лайтбоксом, документацию по ним вы можете найти здесь —

http://digitarald.de/project/squeezebox/1-1/showcase/get-elements/

Далее, по умолчанию вы не можете отображать только содержимое позиции модуля. Параметр tmpl=component указывает joomla загружать только область компонентов сайта, игнорируя все позиции модуля, поэтому ваш модуль не будет отображаться на странице. Вам нужно будет либо загрузить модуль в статью, используя {loadposition}, либо найти какой-либо другой способ поместить содержимое в область компонентов сайта.

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