Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+). При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php     // Это файл в /layouts/components/com_component/your_layout.php?><input type="hidden" name="task" value=""><input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"><input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"><?php echo HTMLHelper::_('form.token'); ?>
Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.
// В Controller/View добавляем поля$this->form  ->addControlField('task', '')  ->addControlField('return', $input->getBase64('return', ''))  ->addControlField('forcedLanguage', $forcedLanguage);
А в layout'е просто используем метод
renderControlFields()
// В layout формыecho $this->form->renderControlFields();
Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.Смотреть
Pull Request@joomlafeed#joomla #разработка #php

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

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

Evgen Kulibin

  • Захожу иногда
  • 61
  • 0 / 0
Добрый день! Коллеги, подскажите пожалуйста, каким кодом можно вывести описание магазина VirtueMart? !

В категориях "описание магазина" отображает этот код.

 <?php if ($this->show_store_desc and !empty($this->vendor->vendor_store_desc)) { ?>
   <div class="vendor-store-desc">
       <?php echo $this->vendor->vendor_store_desc;?>
   </div>
<?php }  ?>



Моя цель отобразить на главной странице описание модулем произвольного php.
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
поправьте макет под себя
индивидуальная помощь: @SetAlexx
*

Evgen Kulibin

  • Захожу иногда
  • 61
  • 0 / 0
поправьте макет под себя


у меня helix 3 установлен, при выводе <?php echo $this->vendor->vendor_store_desc; ?>, соответственно ругается на  $this.

Как допилить код пытаюсь понять.
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
так выводит код или нет? выше пишите что выводит...потом что ругается
индивидуальная помощь: @SetAlexx
*

Evgen Kulibin

  • Захожу иногда
  • 61
  • 0 / 0
так выводит код или нет? выше пишите что выводит...потом что ругается

на главной странице, если вывожу модулем -- ругается на этот код, а в категориях -- выводит хорошо.
*

Evgen Kulibin

  • Захожу иногда
  • 61
  • 0 / 0
Using $this when not in object context -- ошибка при выводе на главной.
*

Evgen Kulibin

  • Захожу иногда
  • 61
  • 0 / 0
Чем заменить $this-> ?  !
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
так на главной надо получить таблицу
индивидуальная помощь: @SetAlexx
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
чем выаодите?
модуль?

индивидуальная помощь: @SetAlexx
*

Evgen Kulibin

  • Захожу иногда
  • 61
  • 0 / 0
Модуль использую "Flexi Custom Code"

Вывожу модуль на главную страницу с помощью "SP Page Builder"
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
не получите вы так данные
индивидуальная помощь: @SetAlexx
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
прямое обращение к бд
индивидуальная помощь: @SetAlexx
*

Evgen Kulibin

  • Захожу иногда
  • 61
  • 0 / 0
прямое обращение к бд

я думал над этим. Но это постоянное обращение к БД, это лишняя нагрузка согласен на сервак, Согласен?

*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
но иначе через кастом код вы не получите данные...
только подключать таблицу шопинга
индивидуальная помощь: @SetAlexx
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
ну или тупо в макет встройте нкжный текст с нужными стилями
индивидуальная помощь: @SetAlexx
*

Evgen Kulibin

  • Захожу иногда
  • 61
  • 0 / 0
А если что-то подобное, (пытаюсь разобраться в синсаксисе):


$vendor_store_desc = JFactory::getDocument()->vendor_store_desc;
Получится как-то так решить задачу?


к примеру этот код:
$id = JFactory::getUser()->id; -- этот код позволяет получить id текущего пользователя в "кастом-код", без обращения к БД.
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
а при чем тут юзер?
опишите задачу конкретнее
что вы хотите вывести
куда( тип страницы)
статика или динамика
индивидуальная помощь: @SetAlexx
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
к примеру этот код:$id = JFactory::getUser()->id; -- этот код позволяет получить id текущего пользователя в "кастом-код", без обращения к БД.


кто вам сказал что тут нет обращения к бд?
индивидуальная помощь: @SetAlexx
*

Evgen Kulibin

  • Захожу иногда
  • 61
  • 0 / 0
к примеру этот код:$id = JFactory::getUser()->id; -- этот код позволяет получить id текущего пользователя в "кастом-код", без обращения к БД.


кто вам сказал что тут нет обращения к бд?


Да, ты прав, тут есть обращение к БД.
*

Evgen Kulibin

  • Захожу иногда
  • 61
  • 0 / 0
а при чем тут юзер?
опишите задачу конкретнее
что вы хотите вывести
куда( тип страницы)
статика или динамика

Тип страницы главная страница.

вывести хочу описание магазина, данные хранятся в таблице БД "vendor_store_desc"

получается, что к БД обращаться однозначно нужно (учусь).


*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
если это описание будет  меняться то обращение
если статика или очень редко меняется
то просто в макет вывода встроить необходимый текст со стилями
индивидуальная помощь: @SetAlexx
*

Evgen Kulibin

  • Захожу иногда
  • 61
  • 0 / 0
Спасибо за советы, Дружище!

 
<?php 

$app = JFactory::getApplication();
   $db =&JFactory::getDBO();   
   $query = "SELECT vendor_store_desc FROM `#__virtuemart_vendors_ru_ru` WHERE virtuemart_vendor_id = 1";
   $db->setQuery($query);
   $result = $db->loadObjectList();
   foreach($result as $row){   
   echo $vendor_store_desc = $row->vendor_store_desc;
   }

?>


Вот запрос, может кому-то пригодится. Все работает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенести описание категории вниз страницы

Автор jimka

Ответов: 1
Просмотров: 959
Последний ответ 18.07.2024, 08:02:46
от Vastriet
Ограничить описание определенным кол-ом символов

Автор DamaVbubi

Ответов: 5
Просмотров: 1186
Последний ответ 13.02.2024, 20:44:36
от sivers
Пропало главное меню, и контент на главной (после обновления)

Автор GTHack

Ответов: 15
Просмотров: 1534
Последний ответ 07.01.2024, 16:00:15
от ProtectYourSite
Пропало описание товара

Автор AnnaFadeeva

Ответов: 2
Просмотров: 782
Последний ответ 02.11.2023, 13:32:54
от AnnaFadeeva
Как убрать название только с главной страницы?

Автор Scaltro

Ответов: 6
Просмотров: 942
Последний ответ 14.08.2022, 21:14:20
от darkghost