Новости 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 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 1092 Просмотров
*

san_san_ku

  • Захожу иногда
  • 78
  • 2 / 0
  • Джумлоруб поневоле
В базовой комплектации JoomShopping есть функция пересчета цены для каждой созданой группы пользователей.
Для каждой группы пользователей на сайте отображается своя цена.
Но: цена пересчитывается в процентах и на ВСЕ товары.

Вопрос: Есть какой-то аддон/плагин назначать цену для каждого товара для каждой созданной группы пользователей? И отображать цену во фронте - одну, "групповую".

Т. е. вывести в панели управления
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
price for group - посик на сайте разработчика ЖШ
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

san_san_ku

  • Захожу иногда
  • 78
  • 2 / 0
  • Джумлоруб поневоле
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

san_san_ku

  • Захожу иногда
  • 78
  • 2 / 0
  • Джумлоруб поневоле
Близко. Но не то.
Лишний функционал. И 21 евро  ^-^ на один домен.
Есть негатив в отзывах (причем понятный). Не факт, что работает аддон адекватно. Сперва заплати, потом... исправляй. Сам-сам. Это неправильно.
Было бы идеально: список файлов, что править. И куски кода. Вручную проще (было бы).

Сперва ставим/проверяем, потом платим. "Кот в мешке" - "не айс". Народ приводил примеры неадеквата в работе... безответных.
Что-то проще. Бы.

Нет иных версий?
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Халявы нет, если Вы про это. Сам использовал на нескольких сайтах, ничего негативного не заметил (ну и лишнего). Все работает как нужно.

С таким подходом лучше самому все сделать, что нужно.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
Сперва ставим/проверяем, потом платим. "Кот в мешке" - "не айс".....

это только свое :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

san_san_ku

  • Захожу иногда
  • 78
  • 2 / 0
  • Джумлоруб поневоле
Халявы нет, если Вы про это. Сам использовал на нескольких сайтах, ничего негативного не заметил (ну и лишнего). Все работает как нужно.

С таким подходом лучше самому все сделать, что нужно.

"Халяву", вообще-то, можно трактовать как "дружеская помощь" коллеге. Ну... это дело вкуса  ^-^

Негатив, что я не смог проверить: для любого пользователя (разных групп) - отображается список вариантов цен: Цена розничная, цена оптовая.
Мне нужна - только одна цена на фронте, отображаеиая после авторизации за опроеделенную группу. Я попробую запросить авторов, может и устроит их версия. Тонкостей настройки в описании нет.

Самому, конечно, лучше. Немного... сроки поджимают.  О нюансах настройки цены узнал от Клиента только после готовности проекта. А теперь всё "загорелось". Перенос с open cart, там жтот функционал "зашит" в движок, я не знал.
*

san_san_ku

  • Захожу иногда
  • 78
  • 2 / 0
  • Джумлоруб поневоле
это только свое :)
Ну... жаль. Я бы поделился  ^-^
Если успею прописать сам - обязат изложу в открытом доступе. Времени только нет, жаль.

Странно, все же, что никто не изложил версии. Обычно, странице на десятой поиска - что-то из GitHub находится в свободном доступе. Не все сегодня уж настолько меркантильны  ^-^
Денег не жалко, жалко - когда выкидываешь в никуда.
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Мне нужна - только одна цена на фронте, отображаемая после авторизации за определенную группу.

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

По поводу "поделиться" у Вас неправильная философия. Делиться нужно своим, а не чужим. Таких "щедрых" на чужое добро полно, а Вы сделайте что-то свое и поделитесь.

Это будет правильно...

На моем сайте хватает бесплатных расширений, как и у разработчиков они есть. Только вот "не в коня корм", скачали тысячи, а спасибо сказали - единицы.
« Последнее редактирование: 03.10.2019, 16:58:12 от kit2m2 »
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
Ну... жаль. Я бы поделился  ^-^
Если успею прописать сам - обязат изложу в открытом доступе. Времени только нет, жаль.

Странно, все же, что никто не изложил версии. Обычно, странице на десятой поиска - что-то из GitHub находится в свободном доступе. Не все сегодня уж настолько меркантильны  ^-^
Денег не жалко, жалко - когда выкидываешь в никуда.
1. каждый сам решает что ему делать.
2. сделайте и выкладывайте. я тоже с удовольствием попользуюсь вашим для извлечения выгоды. буратин полно, а поле чудес еще не перепахано.
3. что значит "...нет времени, жаль." ? бросьте все и сделайте ! что за меркантильность ? вам времени жалко, а у людей нет решения... неужели вы настолько меркантильны чтобы заниматься собственными проблема, вместо чужих ?

вы пришли с вопросом и получили на него ответ ? кажется вопрос исчерпан.

слушать ваши поучения, мировоззрение и откровения люди могут на других форумах и в социалках.
отвечать на пост не надо.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

san_san_ku

  • Захожу иногда
  • 78
  • 2 / 0
  • Джумлоруб поневоле
Так это и работает, в зависимости в какой группе покупатель находиться, ту цену и видит. Без авторизации видит цену группы - по умолчанию.
Читал в отзывах иное.
Но раз работает, то вполне подойдет.
Не подскажете еще:
 
- продавец - webdesigner-profi.de ?
- в оформлении покупки - карта сбербанка (visa) подойдет - или?..

Вы покупали, наверное в курсе.

ps: остальое "лирика", вы правы.
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

san_san_ku

  • Захожу иногда
  • 78
  • 2 / 0
  • Джумлоруб поневоле
Нужен аккаунт в Paypal
Понятно.

Спасибо всем за ответы.
*

san_san_ku

  • Захожу иногда
  • 78
  • 2 / 0
  • Джумлоруб поневоле
Cорри, еще вопросик:
Версия того же: https://*****product-price-for-user-group

Не было практики использования?
Вроде как "ремейк" официальной версии?

// Сорри за нудность. Вопрос как бы срочный, разные версии решения "пробиваю".
« Последнее редактирование: 03.10.2019, 23:25:55 от nevigen »
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Это варез. Варез на форуме запрещен. Разработчики и владельцы данного расширения - webdesigner-profi.de
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

san_san_ku

  • Захожу иногда
  • 78
  • 2 / 0
  • Джумлоруб поневоле
Это варез. Варез на форуме запрещен.
т. е. скрипт "ломаный". Я не знал, сорри.
Ломаный не нужен  ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться