Новости 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 #разработка

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

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

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
virtuemart_randcatproduct - модуль для отображения товаров VirtueMart 3 с помощью карусели-слайдера

Здравствуйте!

Разработал первый свой модуль на базе выложенного на этом форуме расширения. Модуль тестировался под VirtueMart 3.0.9 и Joomla 3.4.8, работающих на PHP 5.4.45 c MySQL 5.5.49. Указать про совместимость с другими версиями программного обеспечения не смогу, берите, пользуйтесь и тестируйте под свою ответственность.

Модуль выводит товары с помощью адаптивного jquery слайдера Slick 1.6 с ленивой загрузкой изображений, который может быть вызван с необходимыми согласно документации слайдера параметрами, чтобы удовлетворить, как говорит автор слайдера, практически любые нужды. Параметры слайдера можете подредактировать в файле mod_virtuemart_randcatproduct.php. Для работы модуля соответственно нужно, чтобы до подключения его slick.min.js файла выше по коду страницы были подключены файлы jquery.js и jquery-migrate.js в сжатом или исходном формате.

Модуль простой и имеет один настраиваемый в менеджере модулей параметр - категорию, из которой надо вывести товары в виде слайдера-карусели. Размер картинок товаров можно менять в коде файла представления модуля(default.php) с помощью задания величин ширины и высоты изображения для функции VirtueMart с названием displayMediaThumb, документация по использованию которой предоставлена здесь. В исходниках модуля настроено использование превью размером 210 на 210 пикселей. Если их не будет на сайте, то их система сгенерирует перед показом, будьте внимательны, если этом вам не нужно. Чтобы использовать дефолтные превью, надо вызывать функцию например так:
Код
$image = $product->images[0]->displayMediaThumb ();
Проверяйте и экпериментируйте.

Модуль подключает свои стили, скрипт, шрифт и картинку, унаследованные от слайдера slick. Оптимизируйте и пользуйтесь, если надо.

Ссылка на модуль
« Последнее редактирование: 10.07.2017, 12:00:32 от borro »
*

nataliP

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Спасибо, модуль работает, стоит Joomla 3.6 virtuemart3. Правда мне надо, чтобы товары выводились не в слайдере, а как обычный товар в категории, подскажите пожалуйста как это сделать.
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Спасибо, модуль работает, стоит Joomla 3.6 virtuemart3. Правда мне надо, чтобы товары выводились не в слайдере, а как обычный товар в категории, подскажите пожалуйста как это сделать.
Здравствуйте. А зачем тогда модуль, может лучше категорию отображать через пункт меню или взять стандартный модуль товаров VirtueMart?
*

nataliP

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Здравствуйте. А зачем тогда модуль, может лучше категорию отображать через пункт меню или взять стандартный модуль товаров VirtueMart?

Мне надо вывести товар немного не стандартно. В категории есть базовые товары и есть товары с некоторыми дополнениями, которые подразумеваются как готовые решения. Надо в категории вывести сначала базовый товар, потом должен идти заголовок Готовые решения и далее идет товар готовые решения. Наверное, правильнее было бы сделать галку в админке товара, например готовое решение и если она нажата, то товар выводится не в общем потоке товаров, а ниже под заголовком. Но я плохо знаю php и не разобралась как это сделать, поэтому придумала такое решение: перенести все товары которые готовые решения в подкатегорию Готовые решения и вывести ее с помощью Вашего модуля под базовыми товарами.
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
попробуйте стандартным модулем для отображения товаров от самого VirtueMart
*

nataliP

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
попробуйте стандартным модулем для отображения товаров от самого VirtueMart
Стандартный модуль выводит хиты, новинки и т.д. а не все нужные товары, уже пробовала.
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Стандартный модуль выводит хиты, новинки и т.д. а не все нужные товары, уже пробовала.
вы CSS можете настраивать? или быть может у вас bootstrap уже встроен на сайте? и скольку в строку должно быть товаров?
« Последнее редактирование: 22.10.2016, 11:37:40 от borro »
*

nataliP

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
вы CSS можете настраивать? или быть может у вас bootstrap уже встроен на сайте? и скольку в строку должно быть товаров?
CSS настраивать могу. Я так понимаю, что bootstrap уже встроен, товаров должно быть 3.
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
CSS настраивать могу. Я так понимаю, что bootstrap уже встроен, товаров должно быть 3.
проверьте, пожалуйста, этот модуль
*

nataliP

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
проверьте, пожалуйста, этот модуль
Спасибо большое за модуль, товары вывелись один под другим. На днях нашла файл вывода товаров в категории в VM. На сколько я понимаю в модуле в файле default.php можно реализовать подобный вывод. я попробовала вставить как есть, но модуль на странице не отобразился, даже заголовок. На сколько я понимаю вывод строится исходя из данные которые приходят в переменные $products_per_row т.е. количество в строке.
Вот код:
Спойлер
[свернуть]
для таких портянок используйте спойлер
« Последнее редактирование: 24.10.2016, 14:29:39 от fsv »
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Доброе утро!
Не знаю, надо делать отладку и смотреть, что-где лежит или должно лежать, чтобы запустить ваш код. Этот код вряд ли подойдёт для вставки в макет моего модуля.
Если у вас проблема с моим модулем в том, что все выводится в столбец, а не по 3 в строку, киньте ссылку на работающий пример, может я смогу вам дать совет, как исправить
*

nataliP

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Доброе утро!
Не знаю, надо делать отладку и смотреть, что-где лежит или должно лежать, чтобы запустить ваш код. Этот код вряд ли подойдёт для вставки в макет моего модуля.
Если у вас проблема с моим модулем в том, что все выводится в столбец, а не по 3 в строку, киньте ссылку на работающий пример, может я смогу вам дать совет, как исправить
Не получилось сделать, чтоб товар выводимый модулем отображался так же как и обычный товар, но получилось оформить похоже. Спасибо Вам за помощь. Поставить бы Вам плюсик, но я новичок на форуме и не знаю как )))).
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Поставить бы Вам плюсик, но я новичок на форуме и не знаю как )))).
Наберете 10 сообщений и сможете менять карму.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

nataliP

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Наберете 10 сообщений и сможете менять карму.
robert, спасибо за подсказку, буду знать.
*

nikolay.osokin

  • Новичок
  • 2
  • 0 / 0
Доброго времени! Помогите пожалуйста, поставил данный модуль, но почему то в слайдере не отображаются картинки.
Адрес изображения в слайдере следующего вида:
Спойлер
[свернуть]
Joomla 3.6.4
Vitruemart 3.0.18
 
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Доброго времени! Помогите пожалуйста, поставил данный модуль, но почему то в слайдере не отображаются картинки.
Адрес изображения в слайдере следующего вида:
Спойлер
[свернуть]
Joomla 3.6.4
Vitruemart 3.0.18
 
Здравствуйте! Как будто бы у вас еще какой-то модуль-слайдер работает с "vina" в названии... Проверьте, есть ли он, и отключите в менеджере модулей, если не нужен. А лучше ссылку на сайт дайте, может ещё что станет понятнее.
*

nikolay.osokin

  • Новичок
  • 2
  • 0 / 0
Больше с названием "vina" ничего нет...все просмотрел.
Ссылочка на сайт
Спойлер
[свернуть]
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Больше с названием "vina" ничего нет...все просмотрел.
Ссылочка на сайт
Спойлер
[свернуть]
в коде страницы видно, что подключен некий модуль mod_vina_carousel_virtuemart
там и скрипт
<script src="/modules/mod_vina_carousel_virtuemart/assets/js/owl.carousel.js" type="text/javascript"></script>
и стили его подключены
надо найти этот модуль и все-таки отключить
Думаю в нем причина, наверно в его скрипте
*

andygen

  • Новичок
  • 1
  • 0 / 0
Добрый день, по какой то причине не работает ни ленивая загрузка ни slick т.е. просто товары в столбик высыпаются без картинок и все.
И еще вопрос - Как добавить строку с дескрипшеном? чтото типа echo '<div class="mod_rand_naz">'.$product->product_desс.'</div>'; ?
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Добрый день, по какой то причине не работает ни ленивая загрузка ни slick т.е. просто товары в столбик высыпаются без картинок и все.
И еще вопрос - Как добавить строку с дескрипшеном? чтото типа echo '<div class="mod_rand_naz">'.$product->product_desс.'</div>'; ?
Здравствуйте!
Я обновил дистрибутив, попробуйте еще раз.

По поводу описания товара:
попробуйте добавить в файле "modules\mod_virtuemart_randcatproduct\tmpl\default.php"
в нужном вам месте(поэкспериментируйте) строку
Код
echo '<div class="mod_rand_naz">'.$product->product_desс.'</div>';
или
Код
echo '<div class="mod_rand_naz">'.$product->product_s_desс.'</div>';
для короткого описания товара соответственно

« Последнее редактирование: 27.04.2017, 14:58:40 от borro »
*

lenin_vis

  • Новичок
  • 4
  • 0 / 0
Приветствую! Спасибо за труд. Но как сделать, чтоб на страницу вывести 2 и более модулей? если просто дублировать и указать в дубле категорию с другим ID, то на странице нормально отображается первый, второй выводится с поехавшей разметкой и картинки не грузятся...
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Приветствую! Спасибо за труд. Но как сделать, чтоб на страницу вывести 2 и более модулей? если просто дублировать и указать в дубле категорию с другим ID, то на странице нормально отображается первый, второй выводится с поехавшей разметкой и картинки не грузятся...
Здравствуйте.
Попробуйте новую версию
*

lenin_vis

  • Новичок
  • 4
  • 0 / 0
*

Marcello

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Здравствуйте. А как в вашем модуле можно вывести название и описание категории отображаемых товаров?
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Здравствуйте. А как в вашем модуле можно вывести название и описание категории отображаемых товаров?
Здравствуйте! Попробуйте новую версию
*

Akeksandr

  • Захожу иногда
  • 396
  • 12 / 0
Здравствуйте! Попробуйте новую версию
Пишет, что такой страницы не существует. (
И вдогонку вопросик. Вертикально можно вывести?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Скачать - Управление товарами в VirtueMart - в таблиц

Автор gartes

Ответов: 45
Просмотров: 12027
Последний ответ 17.05.2023, 14:53:27
от mansonfaust
как изменить цену всем товарам в VirtueMart 3 ?

Автор ShamilHan

Ответов: 5
Просмотров: 3943
Последний ответ 11.03.2022, 21:12:37
от Zeobr
Выбор цвета в мультиварианте с помощью картинок

Автор denism300

Ответов: 2
Просмотров: 2573
Последний ответ 02.11.2021, 09:16:44
от Nata001
AJAX поиск для VirtueMart 3.x (Скачать)

Автор gartes

Ответов: 19
Просмотров: 8813
Последний ответ 06.10.2021, 16:49:54
от skrepka22
Переменные VirtueMart или где макет страницы "Спасибо за заказ!"?

Автор indigo

Ответов: 21
Просмотров: 15217
Последний ответ 06.01.2021, 20:21:03
от Akeksandr