Как создать пользовательский компонент для Joomla 3.3?

Я новичок в Joomla, и я запутался, поэтому мне нужен ваш совет по этому поводу. Мне нужно создать плагин, который подключается к API и отображает PDF в формате base64 на странице. Итак, я создал свой просмотрщик PDF, но не знаю, как его запаковать в Joomla. Это не просто «пользовательский HTML», это должен быть отдельный пакет, чтобы его можно было установить на другие сайты Joomla. Я предполагаю, что у него также должна быть база данных для хранения некоторых настроек (например, URL-адрес API). Я хочу, чтобы пользователи, установившие это расширение, могли перейти в раздел «Модули» > «Новый модуль» > «Просмотрщик PDF», а оттуда настроить URL-адрес API для этого модуля. Пользователи смогут создавать модули этого типа на нескольких страницах и устанавливать разные URL-адреса API для каждой страницы. Итак, что мне нужно? Расширение, компонент, модуль...? Я искал учебные пособия и читал документы Joomla, но я все еще в замешательстве. Пожалуйста, помогите мне, что делать, какое-то руководство, куда кидать файлы, куда их загружать и т. д. Спасибо


person demian    schedule 09.10.2014    source источник


Ответы (1)


На самом деле вы можете сделать это с помощью компонента, плагина или модуля:

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


Если бы вам нужно было создать плагин, вы могли бы создать короткий фрагмент кода на основе имени плагина, который затем можно было бы добавить в статью, которая затем отображала бы PDF-файл внутри статьи. Например:

{PDFgen=NAME_OF_PDF}

or

{PDF}name_of_file.pdf{/PDF}

Создать модуль, на мой взгляд, было бы проще всего. Как только вы добавили функциональность для рендеринга PDF, пользователь может либо отобразить его как модуль (например, виджет боковой панели), либо импортировать его в свою статью, используя встроенную функцию Joomla. Назначьте пользовательскую позицию модулю, а затем добавьте следующее в любом месте статьи: {loadposition XXX}, где XXX — это имя пользовательской позиции, которую вы назначили модулю.


Честно говоря, вы должны развивать его так, как вам удобнее. Просто убедитесь, что вы придерживаетесь стандартов кодирования Joomla.

Надеюсь это поможет

person Lodder    schedule 09.10.2014
comment
спасибо, но мне нужно использовать библиотеку PDFJS, поэтому у меня есть несколько файлов javascript, html и css, а также необходимо настроить URL-адрес API для каждого экземпляра этого модуля. как это все запаковать и настроить? какое-нибудь руководство? - person demian; 09.10.2014
comment
Ну, это все зависит от того, какой тип расширения вы используете. Один из выбранных, посмотрите документацию Joomla для импорта файлов JS и CSS. - person Lodder; 09.10.2014
comment
Я хочу создать модуль, упаковать его в ZIP-файл и иметь возможность импортировать его на несколько сайтов, а затем добавить его на несколько страниц из Модули › Создать › Просмотрщик PDF, а также я хочу иметь возможность устанавливать некоторую конфигурацию для каждого экземпляра. . Я ничего не нашел об этом в документации Joomla, я действительно не знаю, как это делается, пожалуйста, скажите мне, где я могу прочитать об этом - person demian; 09.10.2014
comment
Ознакомьтесь с документацией Разработка модулей. Для начала вам также может пригодиться мой генератор модулей. - person Lodder; 09.10.2014
comment
хорошо, я сгенерировал модуль с генератором, и он создал теги ‹config› в module.xml. Это как раз то, что мне нужно, но как получить доступ к этим параметрам из module.php? Я действительно, действительно не могу ничего найти в документах Google или Joomla. - person demian; 09.10.2014
comment
@demian - чтобы получить значение параметра, просто используйте $value = $params->get('param_name');. Вам, конечно, нужно изменить param_name на имя поля в вашем XML. - person Lodder; 09.10.2014