Форум русской поддержки Joomla!® CMS
04.12.2016, 10:07:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Выбор типа расширения

 (Прочитано 155 раз)
0 Пользователей и 1 Гость смотрят эту тему.
lculver
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 6


« : 28.09.2016, 12:14:23 »

Здравствуйте.
Я программист PHP но с Joomla только знакомлюсь. Мне нужно на определённой странице сайта вывести информацию сформированную из данных из базы (данные пользователя) и из json файла.  Причём страница должна отображаться только зарегистрированным пользователям. Планирую создать отдельный пункт меню, отдельный материал. И в этом материале уже отображать информацию. Причём все остальные атрибуты сайта, например, хлебные крошки, должны также присутствовать на этой странице.
Подскажите пожалуйста, что мне нужно создать: модуль, плагин или компонент? И как правильно вставить на него ссылку в материал?.     
Записан
Septdir
Живу я здесь
******

Репутация: +31/-3
Offline Offline

Пол: Мужской
Сообщений: 817


Skype: septdir


« Ответ #1 : 28.09.2016, 12:58:51 »

Если в материал, то либо плагин (сиситемный если хотите юзать его везде или контентный), либо модуль (можно вставить в материал через плагин "загрузка модулей"). Хотя если все что будет делать материал это выводить модуль или плагин. Наиболее верным решением будет компонент. Та больше возможностей. хотя и время затрат немного побольше.
Записан
beliyadm
Профи
********

Репутация: +1566/-61
Offline Offline

Пол: Мужской
Сообщений: 8110


Севастополь == Россия


« Ответ #2 : 28.09.2016, 13:02:50 »

Я бы сделал банальным модулем (копируете любой стандартный, меняете имена файлов и подключений хелперов, в админке в установке расширений ставите его через поиск) и как писали выше - публикуете модуль в материале путем плагина "загрузка модулей"
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7738



« Ответ #3 : 28.09.2016, 13:10:08 »

в XML не забыть поменять название файла модуля
Записан
beliyadm
Профи
********

Репутация: +1566/-61
Offline Offline

Пол: Мужской
Сообщений: 8110


Севастополь == Россия


« Ответ #4 : 28.09.2016, 13:19:40 »

А есть еще более гениальный в своей простоте способ.
Взять любой стандартный модуль (к примеру последние новости), создать там свою вьюшку, в ней тупо писать свой код и при публикации модуля выбрать новый созданный шаблон (нашу вьюшку). Не надо гемороиться с созданием модуля, переименовыванием и тд.
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7738



« Ответ #5 : 28.09.2016, 13:26:20 »

хороший способ, но тогда лучше создавать в mod_custom (HTML-код). там никакой код не выполняется дополнительно, в отличие от других модулей. например, mod_articles_news - вызывается ModArticlesNewsHelper::getList($params), где выполняется куча ненужного нам. а в mod_custom просто подключается файл шаблона, и все.
Записан
beliyadm
Профи
********

Репутация: +1566/-61
Offline Offline

Пол: Мужской
Сообщений: 8110


Севастополь == Россия


« Ответ #6 : 28.09.2016, 13:26:55 »

согласен, так лучше
Записан
lculver
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 6


« Ответ #7 : 28.09.2016, 17:03:58 »

Использовал модуль, вставил с помощью loadmodule.
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7738



« Ответ #8 : 28.09.2016, 17:05:05 »

прекрасный выбор Azn
Записан
vipiusss
Профи
********

Репутация: +260/-8
Offline Offline

Пол: Мужской
Сообщений: 4570


Skype: renor_


« Ответ #9 : 28.09.2016, 19:07:39 »

Думаю проще использовать не стандартный html-custom из коробки (и не зависить от "урезания" кода и прочих ненужностей), а расширенный https://extensions.joomla.org/extension/custom-html-advanced, в котором и HTML & CSS & php & script в одном лице модуля можно делать.

Проверять, улучшать, раскидывать по файлам, а уже потом делать свой модуль, раскидывающий при установке через xml-файл тоже самое по папкам сайта.
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7738



« Ответ #10 : 28.09.2016, 19:23:07 »

а никто и не зависит от "урезания" Azn предложение было не сохранять код в модуле, а делать альтернативный шаблон, и там уже писать нужный код. php надо держать там, где ему самое место - в файлах, а не в базе. иначе это плюс одна дополнительная дыра в безопасности.
Записан
vipiusss
Профи
********

Репутация: +260/-8
Offline Offline

Пол: Мужской
Сообщений: 4570


Skype: renor_


« Ответ #11 : 28.09.2016, 19:28:12 »

а я и предложил модулем адвансед чисто проверить все функции, а потом свой модуль, при установке-по нужным местам.
только не совсем понял, а при чём тут шаблон? модуль имеет право жить автономно! Azn
Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7738



« Ответ #12 : 28.09.2016, 19:31:04 »

шаблон модуля. альтернативный макет
Записан
SmokerMan
Профи
********

Репутация: +692/-25
Offline Offline

Пол: Мужской
Сообщений: 5215



« Ответ #13 : 28.09.2016, 19:59:47 »

а чего вы к модулю вообще зацепились?)
Если это матирал то делается все просто
создается 2 файла в директории templates/ШАБЛОН/html/com_content/article
1. myarticle.xml
Код:
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="Мой тип пункта меню" option="com_content_article_view_default_option">
<help
key = "Мой тип пункта меню"
/>
<message>
<![CDATA[Мой тип пункта меню]]>
</message>
</layout>

<!-- Add fields to the request variables for the layout. -->
<fields name="request">
<fieldset name="request"
addfieldpath="/administrator/components/com_content/models/fields">

<field name="id" type="modal_article"
label="COM_CONTENT_FIELD_SELECT_ARTICLE_LABEL"
required="true"
edit="true"
clear="false"
description="COM_CONTENT_FIELD_SELECT_ARTICLE_DESC"
/>
</fieldset>
</fields>

</metadata>
2. myarticle.php
Код:
<?php
echo 'Это мой пункт меню';
в нем уже делаете что угодно

при этом появится новый тип пункта меню "Мой тип пункта меню"
Записан
beliyadm
Профи
********

Репутация: +1566/-61
Offline Offline

Пол: Мужской
Сообщений: 8110


Севастополь == Россия


« Ответ #14 : 28.09.2016, 20:11:10 »

при этом появится новый тип пункта меню "Мой тип пункта меню"
зачем делать сложно, когда можно делать просто
Еще раз - изначально вся работа ТС сводится к созданию альтернативного шаблона модуля и одного лишнего клика в админке. Огород городить то зачем?
Записан
SmokerMan
Профи
********

Репутация: +692/-25
Offline Offline

Пол: Мужской
Сообщений: 5215



« Ответ #15 : 28.09.2016, 20:33:21 »

Огород городить то зачем?
если уж на то пошло, то можно просто создать альтернативный макет для материала и не надо никаких модулей
без этого файла myarticle.xml
так что огород как раз у вас получается
« Последнее редактирование: 28.09.2016, 20:36:36 от SmokerMan » Записан
dmitry_stas
Профи
********

Репутация: +794/-4
Offline Offline

Сообщений: 7738



« Ответ #16 : 28.09.2016, 20:46:13 »

а что это даст? сам текст который сейчас модулем выводится среди текста материала - где писать? тут ведь задача в другом - пишешь материал, вставляешь в него модуль в любое место - готово. а как сделать такое с одним только макетом материала?
Записан
beliyadm
Профи
********

Репутация: +1566/-61
Offline Offline

Пол: Мужской
Сообщений: 8110


Севастополь == Россия


« Ответ #17 : 28.09.2016, 20:51:46 »

без этого файла myarticle.xml
а его как раз и не надо создавать, только копию вьюшки матермала (пхп файл) и все
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet