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

kit2m2

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

Все что Вам нужно, это установить его как обычный плагин Joomla, включить и настроить его...
Плагин не вносит изменение в код шаблона, поэтому Вы смело можете обновлять компонент JoomShopping - ничего у Вас не слетит!

При помощи плагина Вы сможете:
  • Вывести на странице категории вместо/вместе названия (с названием) категории - заголовок страницы из пункта меню (типа: Категория JoomShopping).
  • Вывести на странице производителя вместо/вместе названия (с названием) производителя - заголовок страницы из пункта меню (типа: Производитель JoomShopping).
  • Вывести на странице списка товаров (не категория, а именно список) вместо/вместе заголовка (с заголовком) ссылки - заголовок страницы из пункта меню (типа: Список товаров JoomShopping).
  • На странице товара вместе с заголовком товара вывести название пункта меню (типа: Категория JoomShopping).
  • На странице товара вместе с заголовком товара вывести заголовок ссылки из пункта меню (типа: Категория JoomShopping).
  • Вывести на странице категории Мета-Тайтл (Заголовок страницы в браузере) заданный в ссылке меню (типа: Категория JoomShopping).
  • Вывести в заголовке страницы категории товаров - Мета-Тайтл категории вместо или вместе с названием категории.
  • Вывести на странице производителя Мета-Тайтл (Заголовок страницы в браузере) заданный в ссылке меню (типа: Производитель JoomShopping).
  • Вывести в заголовке страницы товаров производителя - Мета-Тайтл производителя вместо или вместе с названием производителя.
В расширенной версии плагина (v.EX), Вы сможете:
  • На странице товара дополнительно вместе с заголовком товара вывести:
       
    • Название категории товара;
    • Код товара;
    • Артикул товара;
    • Производителя товара;
ВНИМАНИЕ! Функционал плагина будет дорабатываться, по этому принимаются пожелания и предложения.

Текущая версия плагина: 1.3

Тестировался на Joomla 3.8+ и JoomShoping 4.17+

Скрины настроек плагина:
Спойлер
[свернуть]

Скрин работы плагина:
Спойлер
[свернуть]

Текущая версия плагина: Скачать: plg_jshopping_pages_titles

История версий расширения:
03.01.2019 : v1.3 - Расширен функционал плагина. Добавлены настройки.
20.12.2018 : v1.2.1 - Устранен конфликт с модулем "Module Latest products" от разработчиков JoomShopping.
23.09.2018 : v1.2 - Расширен функционал плагина. Добавлены настройки.
07.09.2018 : v1.1 - Исправлена ошибка. Расширен функционал плагина. Добавлены настройки.
08.08.2018 : v1.0.

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

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Я так понимаю предложений и вопросов пока не будет?  ;)

Хорошо задам наводящие вопросы:

1. Где еще нужно вывести заголовки страниц?
2. Что еще кроме заголовков нужно вывести? Например: заголовок сайта, метатеги, семантическую разметку данных, и т.п.
3. Придумайте сами...

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

Biss

  • Давно я тут
  • 995
  • 101 / 0
Ну допустим, была вот такая проблема RE: Нет description и keywords! Пункт меню - JoomShopping Товары (Products/Label)
Можно в плагин добавить
*

kit2m2

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

Biss

  • Давно я тут
  • 995
  • 101 / 0
Нет в списке работает, не выводит если пункт меню производитель, так там нифига не выводит: ни тайтла ни мета
*

kit2m2

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

Biss

  • Давно я тут
  • 995
  • 101 / 0
Цитировать
Метатеги тоже нужно?
ну как бы я лично не использую такой пункт меню, но мета должны быть  ;)
Цитировать
Какие из Ссылки меню?
скорее да, так как можно сделать несколько пунктов например с разными произ. и разными метками
*

kit2m2

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

kit2m2

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

Расширил функционал, теперь выводит заголовки страниц на страницах: Категории, Производителя, Списка товаров

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

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Я так понимаю, кто пользуется плагином, всех всё устраивает?  ;D

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

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Выложил новую версию плагина - v.1.2

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

DamianTrash

  • Захожу иногда
  • 169
  • 4 / 0
Добрый день. Нашлась такая проблема: где стоит модуль "Jshopping Last Products", там выводится "500 Internal Server Error"
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Добрый день. Нашлась такая проблема: где стоит модуль "Jshopping Last Products", там выводится "500 Internal Server Error"

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

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Проверил, да есть конфликт. В новой версии плагина 1.2.1 устранил конфликт. Качаем новую версию.

Кому не трудно и у кого есть желание, оставляем отзывы. Буду благодарен.

Спасибо и "+" @DamianTrash за помощь в развитии плагина - Заголовки страниц JoomShopping.
« Последнее редактирование: 20.12.2018, 00:30:30 от kit2m2 »
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

DamianTrash

  • Захожу иногда
  • 169
  • 4 / 0
Спасибо и "+" @DamianTrash за помощь в развитии плагина - Заголовки страниц JoomShopping.

Это вам спасибо. Ещё и так оперативно)
*

sergkh

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Добрый день.
Допустим на сайте нет пунктов меню типа JS->производитель а есть модуль производители. Тогда TITLE нудно брать из com>JS>опции>производители>производитель.
Соответственно для модуля категорий TITLE брать из JS> категории> категория.
Вот таких опций точно не хватает.
*

kit2m2

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

kit2m2

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

Допустим на сайте нет пунктов меню типа JS->производитель

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

sergkh

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Цитировать
ВНИМАНИЕ! Функционал плагина будет дорабатываться, по этому принимаются пожелания и предложения.
Я всего лишь высказал пожелание.
Цитировать
Нет ссылки? Так создайте, если хотите изменять тайтлы.
Ведь не обязательно вручную создавать пункты меню типа категория и производитель. Так очень долго и неудобно. Можно использовать стандартные модули категорий и производителей.
*

dmitry_stas

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

sergkh

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Цитировать
то заголовки и будут браться из JoomShopping
А хотелось бы ИМЯ ПРОИЗВОДИТЕЛЯ - TITLE ПРОИЗВОДИТЕЛЯ.
*

kit2m2

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
А хотелось бы ИМЯ ПРОИЗВОДИТЕЛЯ - TITLE ПРОИЗВОДИТЕЛЯ.
аа, понял теперь. но честно говоря плагин тут по прежнему не очень нужен, все уже и так в шаблоне есть, и имя, и тайтл, и еще много чего. выводите как хотите. хотя можно конечно и плагином, не вопрос

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

sergkh

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Цитировать
в шаблоне есть, и имя, и тайтл, и еще много чего. выводите как хотите
Спасибо за подсказку. Попутный вопрос: если я в заголовок H1 вместо
Код
<h1><?php echo $this->manufacturer->name?></h1>
вставлю meta_title
Код
<h1><?php echo $this->manufacturer->meta_title?></h1>
это на SEO как-то окажет влияние? Если да то в какую сторону.
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Выложил новую версию плагина - v.1.3

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

dmitry_stas

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

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
есть как сторонники, так и противники совпадающих title и h1

Если его добавлять, а не заменять, то совпадать будет только часть, а это уже другой заголовок.

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

Orest

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Можно вывести в заголовок в карточки товара следующее: "Категория + Под категория + Товар" ?
?
*

kit2m2

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

Orest

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

Мы починили поиск для JoomShopping

Автор Dimidrol-Pruper

Ответов: 101
Просмотров: 33593
Последний ответ 24.06.2024, 14:20:58
от kit2m2
Плагин - Вывод значения поля из таблицы продуктов в корзине JoomShopping

Автор draff

Ответов: 3
Просмотров: 1911
Последний ответ 26.02.2024, 07:00:01
от kit2m2
Плагин - Товар на складе или Товар под заказ для JoomShopping [Скачать]

Автор kit2m2

Ответов: 58
Просмотров: 11090
Последний ответ 18.05.2023, 12:59:00
от Akeksandr
[Решено] Комплект товаров JoomShopping - конструктор

Автор vgromov

Ответов: 96
Просмотров: 30415
Последний ответ 14.12.2022, 15:21:24
от kit2m2
Функционал сравнение товаров в JoomShopping

Автор falur

Ответов: 53
Просмотров: 15123
Последний ответ 22.08.2022, 09:54:16
от kit2m2