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

Merliut

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Всех приветствую. Пожалуйста помогите...
Как реализовать передачу старой цены (до скидки) с карточки товара в корзину и сделать так, что бы при выборе определенного способа оплаты менялась нынешняя цена (с учетом скидки), на цену старую (без учета скидки).
Version JoomShopping 4.11.3
« Последнее редактирование: 06.02.2018, 18:48:18 от Merliut »
*

dmitry_stas

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

Merliut

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
А не подскажите в каком файле на сервере находиться функция которая передает данные (цена, название, значения атрибутов и т.д.) в корзину?
*

dmitry_stas

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

Merliut

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

dmitry_stas

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

Merliut

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Можете, пожалуйста, помочь реализовать передачу старой цены?
*

dmitry_stas

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

Merliut

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
В файле  \components\com_jshopping\models\cart.php реализовать передачу старой цены товара в корзину(запись старой цены в массив $prod[ ]), что бы в дальнейшем, в корзине ее можно было вывести.
*

dmitry_stas

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

Merliut

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Попробовал создать ячейку со старой ценой и записать в нее значение старой цены товара (            $temp_product['old_price']=$this->product->product_old_price;).
Код
$product->getDescription();
            $temp_product['quantity'] = $quantity;
            $temp_product['product_id'] = $product_id;
            $temp_product['old_price']=$this->product->product_old_price;
            $temp_product['category_id'] = $product->getCategory();
            $temp_product['tax'] = $product->getTax();
            $temp_product['tax_id'] = $product->product_tax_id;
            $temp_product['product_name'] = $product->name;
            $temp_product['thumb_image'] = getPatchProductImage($product->getData('image'), 'thumb');
            $temp_product['delivery_times_id'] = $product->getDeliveryTimeId();
            $temp_product['ean'] = $product->getEan();
            $temp_product['attributes'] = $attr_serialize;
            $temp_product['attributes_value'] = array();
            $temp_product['extra_fields'] = array();
            $temp_product['weight'] = $product->getWeight();
            $temp_product['vendor_id'] = fixRealVendorId($product->vendor_id);
            $temp_product['files'] = serialize($product->getSaleFiles());
            $temp_product['freeattributes'] = $free_attr_serialize;

*

dmitry_stas

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

Merliut

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
заменил на
Код
$temp_product['old_price']=$product->product_old_price;
и все работает. Спасибо yes!
*

Goliaf

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Пробую получить старую цену в корзине...
Цитировать
$temp_product['old_price']=$product->product_old_price;
Но, безрезультатно. Может еще что-то дописать нужно?
Поделитесь, как вы выводите ее в итоге (((
*

dmitry_stas

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

Goliaf

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
В файле  \components\com_jshopping\models\cart.php функция add
Дописал $temp_product['old_price']=$product->product_old_price;

Но, не вижу данных про old_price через var_dump
*

Goliaf

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Все появилось. Видимо, были ошибки... спасибо!

Подскажите такой момент: как правильно передать эту цену (old_price), в fullsumm
чтобы в этой части
Код
<?php print formatprice($this->fullsumm)?>
считались старые цены?
*

Goliaf

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

Nobillis

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

Товар - файл. Как ограничить добавление в корзину только 1 шт?

Автор SLV

Ответов: 15
Просмотров: 687
Последний ответ 24.07.2025, 11:34:21
от SLV
Конфликт js шаблонов JoomShaper helix3 J5 с JoomShopping 5

Автор heartlink

Ответов: 6
Просмотров: 885
Последний ответ 22.07.2025, 12:40:12
от heartlink
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 1496
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 921
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav
WT On fly image handler изображения товара JoomShopping в webp на лету

Автор sergeytolkachyov

Ответов: 13
Просмотров: 3661
Последний ответ 29.01.2025, 20:38:38
от sergeytolkachyov