Новости 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 Гость просматривают эту тему.
  • 217 Ответов
  • 48259 Просмотров
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
99% что не Category оr Manufacturer or Static
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Miktor

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
На крайний случай, могу предположить, что ты не задал ни одну опцию из характеристики ни одному товару. Или напутал с категориями для показа.
эскперимента ради я и не создавал много характеристик. две характеристики, два атрибута. в каждом товаре проставил их. результата нет
*

Miktor

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
99% что делаете не так. покажите скрины пунктов меню и настроек





*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
на первом скрине того куска справа что надо не видно
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Miktor

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
на первом скрине того куска справа что надо не видно
спасибо!
плюсанул бы, да не пойму как.

именно после выставления этого -
Цитировать
99% что не Category оr Manufacturer or Static
и ИД категории фильтр появился.
подскажите еще вот, что - как сделать эту страницу без вывода категории??
если я выбираю в этом меню не ИД категории или поставщика, а выбираю Статический текст, то главная страница не грузится, выдает ошибку 404
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
после 10 сообщений сможете.
по правилам форума одна тема=один вопрос
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Miktor

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
ок. спасибо за помощь.
*

tomas_morgam

  • Захожу иногда
  • 126
  • 0 / 0
Здравствуйте! Какой-то баг в фильтре. Если в категории "столы" применить фильтр "для дома" (при этом еще ни один товар не имеет такой характеристики), то вместо вывода "нет таких товаром" выводиться все товары из всех категорий. Как это исправить?
*

SFE

  • Захожу иногда
  • 68
  • 0 / 0
Приветствую знатоков. Я создал характеристики, задал их нужным товарам в соответствующих категориях.
Спойлер
[свернуть]
Все характеристики созданы с типом Список

В настройках все выставлено, как описано в данной теме
Скрин настроек /administrator/index.php?option=com_jshopping&controller=config&task=catprod


Фильтр вывожу на страницах категорий. Фильтр выводится, но только по цене и производителю.

При чем как видно из первого скрина, производителей я также задавал как характеристики, для некоторых категорий, но в фильтре выводятся не характеристики, а именно Производители, вот из этого списка /administrator/index.php?option=com_jshopping&controller=manufacturers. В принципе, в фильтре они не нужны, а нужны именно характеристики, но их нет. Тему прочитал, некоторые люди пишут, что разобрались, но я так и не понял, как у них это получилось. Я уже совсем измучился  с этим фильтром, помогите, знающие люди !

Jshopping 3.18.4, Joomla! 2.5.19
*

SFE

  • Захожу иногда
  • 68
  • 0 / 0
вот настройки одного из пунктов меню-категории:
Спойлер
[свернуть]

где кроется ошибка? прочитал тему уже несколько раз вдоль и поперек, излазил все настройки, гуглил весь день, не могу найти решение  !
« Последнее редактирование: 04.08.2015, 19:31:04 от SFE »
*

nevigen

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

SFE

  • Захожу иногда
  • 68
  • 0 / 0
nevigen, да, точно список, в первом скрине я прикрепил список характеристик из админки, там виден тип - список у всех.
Тип не менялся, характеристики сразу были созданы с типом Список
*

nevigen

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

nevigen

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

SFE

  • Захожу иногда
  • 68
  • 0 / 0
а ларчик просто открывался - в настройках модуля радиопереключатель показывать характеристики надо было переключить на да
nevigen спасибо и плюс в карму! ^-^
*

Valent

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
*

nevigen

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

Valent

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Да, спасибо, тут я затупил. Тогда 3 вопроса:

1. Создал. Сейчас на странице Ламината есть фильтр по всем характеристикам, в том числе тем, которые не заданы данной категории товаров. Это нормально?

2. Получается, если страница категории товаров является JoomShopping » category, то фильтр на ней выведется, а если мы перейдём на закладку Линолеум меню категорий, которое предустановленно Шаблоном и не является Меню Joomla, то там фильтра нет. И не будет получается?

3. У меня теперь 2 фильтра на странице Ламината: Тот, что я только что создал с помощью модуля, и тот, что был ранее (видимо прендустановленный шаблоном). Есть ли возможность заставить предустановленный шаблоном фильтр фильтровать по характеристикам товара данной категории и не включать два параллельных фильтра? Готов монетизировать благодарность за работу в данном у
направлении.
http://kupivpermi.ru/index.php/magazin/napolnye-pokrytiya/laminat
*

Valent

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Вопрос №1 отпал. Допетрил сам.
*

Valent

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Вероятно, решения остальных вопросов тоже нашёл. Сейчас опробую, отпишусь.
Но насущный вопрос:
у меня характеристика "Высота, мм."
У ламината там всего 4 значения может быть.
Но фильтр предлагает мне все значения (актуальные и для других категория товаров).
Лучше создавать для ламината свою характеристику высоты или можно как-то заставить модуль показывать значения характеристик только присвоенный товарам данной категории?
Заранее признателен!
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
по моему он показывает все доступные...
хотя попробуйте присвоить хар-ку только категории, может он это отрабатывает.

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
для стандартного фильтра - только назначать категории для характеристики.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Satool

  • Захожу иногда
  • 139
  • 2 / 0
по моему он показывает все доступные...
хотя попробуйте присвоить хар-ку только категории, может он это отрабатывает.

есть "умные" фильтры, но они платные.
Ваше платное предложение "умное"?
*

nevigen

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

Satool

  • Захожу иногда
  • 139
  • 2 / 0
Как это?
https://nevigen.com/ru/modules/universalnyj-ajax-filtr-joomshopping.html
Это и есть предложение. (продаете значит предлогаете)
*

nevigen

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

Satool

  • Захожу иногда
  • 139
  • 2 / 0
Сначала я подумал "какая разница где спрашивать" но поразмыслив понял, что мухи отдельно котлеты отдельно  ^-^
*

serg450453

  • Захожу иногда
  • 272
  • 1 / 0
Всем доброго, хочу разобрать с данным фильтром, что бы фильтровать по характеристикам. и возможно по категориям.

Перечитал ветку, и сразу возник вопрос, у меня в настройках нет таких пунктов

Смотрите в Настройки
http://j15.jshop/administrator/index.php?option=com_jshopping&controller=config&task=catprod

Show Characteristics   
Show Characteristics (Search)   


У меня сейчас Version 4.11.3,
версия Joomla 3,4
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
/administrator/index.php?option=com_jshopping&controller=config&task=catprod
Характеристики для поиска.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

serg450453

  • Захожу иногда
  • 272
  • 1 / 0
Люди, чувствую себя полным идиотом, ничего не могу понять, возможно есть где то подробная инструкция с картинками?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JoomShopping как вывести фильтр в наличии

Автор thevaca

Ответов: 4
Просмотров: 1139
Последний ответ 15.08.2024, 17:41:20
от thevaca
Фильтр товаров для JoomShopping 5

Автор Lemonez

Ответов: 14
Просмотров: 2247
Последний ответ 25.04.2024, 14:11:25
от dron
Фильтр - характеристики/опции JoomShopping 5

Автор Alex_gs

Ответов: 8
Просмотров: 1309
Последний ответ 23.09.2023, 17:19:57
от Alex_gs
Фильтр с SEO оптимизацией

Автор broot

Ответов: 42
Просмотров: 4575
Последний ответ 17.05.2023, 15:02:20
от nevigen
Joomshoping вместо цены "0.00 ₽" - "По запросу"

Автор alsa

Ответов: 10
Просмотров: 1039
Последний ответ 15.02.2023, 11:59:47
от alsa