#php #joomla #joomla-extensions
#php #joomla #joomla-расширения
Вопрос:
Я разрабатываю простой модуль Joomla для серверной части, и я пытаюсь сохранить его простым. Мне нужно создать какое-то всплывающее окно, либо с помощью всплывающего окна javascript, либо модального окна. Я хочу, чтобы во всплывающем окне отображался некоторый базовый контент с пользовательской проверкой Joomla, но без отображения шаблона Joomla. С помощью компонента я мог бы написать URL, подобный этому:
http://my-site.com/index.php?option=com_componentamp;tmpl=component
Этот URL-адрес будет отображать только содержимое компонента, при этом пользователь будет авторизован. Мне интересно, есть ли какой-либо способ сделать это для модуля. Вот несколько вариантов:
- Напишите URL, который будет выводить только содержимое модуля, и отключите шаблон Joomla.
- В настоящее время модальное окно использует iframe для включения в него другой страницы. Есть ли какой-либо способ заменить iframe содержимым?
- Создайте файл на сервере, который запрашивается напрямую, и добавьте проверку подлинности пользователя вверху. Есть ли какой-нибудь отдельный файл Joomla, который я мог бы включить, чтобы убедиться, что пользователь вошел в систему?
- Если все остальное не удается, я могу использовать
die();
, чтобы пропустить написание шаблона.
Я использую Joomla 1.5
Ответ №1:
Во-первых, Joomla имеет встроенное модальное поле, которое будет отображать содержимое либо в iFrame, либо в div. Единственным обязательным элементом является добавление класса «modal» к ссылке. Вы также можете передать несколько параметров для управления лайтбоксом, документацию по ним вы можете найти здесь —
http://digitarald.de/project/squeezebox/1-1/showcase/get-elements/
Далее, по умолчанию вы не можете отображать только содержимое позиции модуля. Параметр tmpl=component указывает joomla загружать только область компонентов сайта, игнорируя все позиции модуля, поэтому ваш модуль не будет отображаться на странице. Вам нужно будет либо загрузить модуль в статью, используя {loadposition}, либо найти какой-либо другой способ поместить содержимое в область компонентов сайта.
Было бы полезно иметь ссылки на реальный сайт и желаемый контент в лайтбоксе, обычно это довольно простая процедура, мы делаем это постоянно для всех видов контента.