Новости Joomla

Свои типы полей в Joomla.

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note" name="your_note_for_user" label="Заголовок примечания" title="Альтернативный способ для заголовка" description="Текст примечания" class="col-12 alert alert-info" heading="h1" close="true" />

heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён. Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле

<field type="systempluginstatus" name="systempluginstatus" addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>

-

type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:

<?php // namespace для атрибута addfieldprefix namespace Joomla\Module\Wtquicklinks\Site\Fields; // нельзя напрямую обращаться к этому файлу defined('_JEXEC') or die; // подключаем родительский класс для переопределения use Joomla\CMS\Form\Field\NoteField; use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\PluginHelper; // имя класса и имя файла точь-в-точь class SystempluginstatusField extends NoteField { protected $type = 'Systempluginstatus'; protected function getLabel() { // если плагин не включён if(PluginHelper::isEnabled('system','wtquicklinks')) { // меняем свойства родительского класса $this->class = 'alert alert-danger w-100'; $this->element['label'] = '⚠️ А-а-а-а!'; $this->element['description'] = 'Плагин не включён!!'; // и просто рендерим его с нашими свойствами return parent::getLabel(); } // А иначе всё хорошо, скрываем поле из виду. $this->parentclass = 'd-none'; return ''; } }

Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает. @webtolkru#joomla #php #webdev #разработка

0 Пользователей и 2 Гостей просматривают эту тему.
  • 417 Ответов
  • 77253 Просмотров
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
я правильно понимаю, что ссылка на скачивание уникальна для каждого оплатившего. Или она одна для всех, но при попытке перехода по ней проверяется если текущая сессия в оплаченных? надо будет попробовать...
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
ссылка одинаковая для всех, при переходе по ней, проверяется сессия.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
ссылка одинаковая для всех, при переходе по ней, проверяется сессия.
Понятно. Спасибо. Думаю подойдет...
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
скачал с сайта bigemot.ru компонент payperfile для Webmoney.
объясните, как создать файл для скачивания.
что такое Folder: ../data/ ?

пишет "Ошибка сохранения файла"
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Joomla 1.5  при оплате через Робокассу по карточке при возврате на сайт выдает ошибку "404 - Компонент не найден". Оплата на Робокассу поступает. Случай не единичный. С остальными способами оплаты проблем пока не обнаружено.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
Цитировать
пишет "Ошибка сохранения файла"

Все случаи такой ошибки появлялись из-за трех причин:
1. Расширение загружаемого файла запрещено в общих настройках Joomla, на сервере или в конфигурации компонента.
2. Вы пытаетесь загрузить файл в папку, в которой уже есть файл с таким именем.
3. Права на папки и файлы принадлежат не Joomla.

Цитировать
при возврате на сайт выдает ошибку "404

платежи через сберкассу и др. наличные платежи не обрабатываются в силу того, что не происходит возврат на сайт покупателя. При оплате картами, время обработки платежа может составлять несколько дней, все это нужно уточнять в самой Робокассе.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

makas29

  • Новичок
  • 2
  • 0 / 0
После покупки плагина скрытый текст (WebMoney), нужен персональный аттестат?
*

wishlight

  • Гуру
  • 5051
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Хороший компонент. Может себе купить.
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
После покупки плагина скрытый текст (WebMoney), нужен персональный аттестат?

Для работы с мерчант WebMoney персонального аттестата недостаточно. Нужен аттестат продавца.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

makas29

  • Новичок
  • 2
  • 0 / 0
Если купить "Плагин скрытый текст (WebMoney)", что новое появится?
« Последнее редактирование: 22.07.2012, 00:51:21 от makas29 »
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
Плагин скрытый текст (WebMoney) позволяет выполнить любой код для пользователя, оплатившего выставленный счет. Этот код будет выполнятся при каждом обновлении страницы в течении всей сессиии пользователя, даже если он не регистрировался. Это может быть и php код.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

SuperSonic

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
Здравствуйте.
Купил компонент, но как им пользоваться не понятно, нигде нет кнопок "Создать" или "Добавить". Также нет никаких настроек, даже прав пользователей, почему? И ещё один вопрос, а почему на английском-то всё?

P.S.
Joomla v2.5.6
« Последнее редактирование: 04.08.2012, 11:53:10 от SuperSonic »
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
Чтобы начать пользоваться компонентом, вначале нужно создать хоть одну категорию для ваших записей. Кнопок вы не видите, т.к. срабатывает так называемая защита от дураков.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

SuperSonic

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
И как же создать категорию без кнопки "Создать"?
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
Поскольку много вопросов по Joomla v2.5 выложу некоторые особенности.

Версия писалась в условиях дефицита времени, вместо собственного загрузчика используется медиаменеджер. Позже выяснилось, что медиаменеджер Joomla не видит архивы с окна добавления файла. Поэтому путь к файлам архивов нужно писать вручную, прямо в поле. Загружать их можно через сам компонент медиаменеджера, там архивы видны.

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

Чтобы появились все кнопки в админке, нужно вначале создать категорию для своих записей.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

mortifer

  • Новичок
  • 3
  • 0 / 0
Дейтсвительно, как же все-таки в компоненте для Joomla 2.5 добавить категорию, если кнопки нет? Можно инструкцию поподробнее какую-нибудь??
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
Цитировать
Можно инструкцию поподробнее какую-нибудь??

Можно.
1. Качаете с моего сайта, а не варезника.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

mortifer

  • Новичок
  • 3
  • 0 / 0
Это, конечно, хорошее предложение, вот только я как раз и скачал  с Вашего сайта, при этом намучавшись с оплатой в чисто симоволическую сумму, ибо телефон не принимает, ошибки валит, пришлось создавать кошелек на, извиняюсь (личное мнение, ибо впечатление после более чем часа возни, чтобы заплататить....), убогом сервисе Webmoney...

Так вот, где на Вашем сайте инструкция, это раз?
Во-вторых, как я понял, версия для Жумлы 2.5 не совсем доделанная/рабочая (как писалось уже выше неоднократно, кнопок в админке при заходе в компонент нет, создать категорию невозможно или там какой-то хитрый способ)?

Ответа четкого так никто и не получил, поэтому хотелось бы от разработчика получить продуктивную информацию по решению данной проблемы, что где поправить может, чтобы появилась возможность добавить файлы и посмотреть работу комопонента?

Спасибо!
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
Разработчики Joomla изменили логику работы движка с версии J2.5.6, в частности момент доступа к компонентам. Для совместимости с этой версией Joomla, компонент был обновлен. Прежние версии компонента с J2.5.6 работать не будут.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

mortifer

  • Новичок
  • 3
  • 0 / 0
С какого момента компонент обновлен? Я скачивал с Вашего сайта пару дней назад, 13 августа, компонент для Жумлы 2.5, и у меня проблемы с версией. Какие есть варианты решения для меня?
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
Два или три дня назад была проблема с хостингом, из-за отката хостера, на сайт попала старая версия. Напишите мне на почту, я вышлю новую. Также просьба удалить свои посты, эта информация больше не актуальна и замусоривает тему.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

vinylclub

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Здравствуйте. А если у меня файлы от 3 Гигабайт каждый! И много. У вас только на Joomla сохранять файлы. А как сделать чтобы на сайте просто ссылка на скачивание была, а сам файл качался к примеру с Яндекс народ??
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
Вы можете открывать любую информацию с помощью плагина скрытый текст. Мне, правда, не понятно, как вы закроете эту ссылку на народе от прямого скачивания и распространения по сети.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

vinylclub

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
Получается клиент оплатил с помощью - Плагина скрытый текст (ROBOKASSA). И откроется ссылка на скачивание.
Вот на счет больших файлов думаю. Куда их разместить не знаю пока:(
*

AntoninaRST

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Здравствуйте!
Сегодня скачала плагин Robokassa для Joomla 1.5., но вот что мне выдает после попытки установить плагин
Warning: require_once(/home/c/cl100324/cl100324.tmweb.ru/public_html/libraries/joomla/installer/adapters/payperfile.php) [function.require-once]: failed to open stream: No such file or directory in /home/c/cl100324/cl100324.tmweb.ru/public_html/libraries/joomla/installer/installer.php on line 216

Fatal error: require_once() [function.require]: Failed opening required '/home/c/cl100324/cl100324.tmweb.ru/public_html/libraries/joomla/installer/adapters/payperfile.php' (include_path='.:/usr/local/lib/php') in /home/c/cl100324/cl100324.tmweb.ru/public_html/libraries/joomla/installer/installer.php on line 216
Что сделать? Спасибо!
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

AntoninaRST

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Спасибо, разобралась!
*

AntoninaRST

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
lcd25, в веб мани мне не предоставили аттестат продавца, предложив воспользоваться услугой приема атоматизированных платежей WebMerchsntTransfer в лимитированном режиме. По сути то же самое, только есть ограничения по сумме принимаемых средств. Будет ли в этом случае работать ваш плагин?
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
Я к сожалению, не могу вам ничего сказать по поводу лимитированного режима. Если АПИ то-же, то будет работать. Попробуйте, расскажите потом.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

AntoninaRST

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
В общем. Создала 3 страницы, как было сказано в руководстве WebMoney, изменила настройки в моем аккаунтe WebMerchant Transfer. В итоге все-таки ваш плагин работает, поскольку при нажатии на кнопку "купить" идет интерфейс Webmoney. далее я совершаю покупку, нажимаю на "вернуться к продавцу", и тут ничего не выходит, поскольку логично и совершенно закономерно вылезает созданная мной страница success.html. Помогите, пожалуйста. Что мне сделать? Может, быть в настройках на WMT нужно указывать другие страницы или вообще ничего не указывать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Интернет магазин для торговли цифровыми товарами(текстовые файлы)

Автор friend111

Ответов: 1
Просмотров: 3025
Последний ответ 15.06.2023, 22:59:41
от Kasyanov
PPF 3 – компонент для продажи электронных товаров

Автор varX

Ответов: 0
Просмотров: 2554
Последний ответ 20.08.2022, 20:22:19
от varX
Магазин на чистой Joomla, можно ли и как?

Автор x1

Ответов: 6
Просмотров: 3415
Последний ответ 19.01.2021, 18:45:21
от v42bis
Нужно создать интернет магазин на основании стороннего XML файла. С чего начать

Автор kremisa

Ответов: 3
Просмотров: 1613
Последний ответ 18.06.2019, 07:33:16
от draff
Как прикрутить магазин на Joomla к странице Facebook, товарам ВКонтакте?

Автор tema_g

Ответов: 1
Просмотров: 1595
Последний ответ 15.02.2019, 09:42:18
от sivers