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

mpjoke

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
При добавлении товара в корзину появляется всплывающее окно, где есть название добавляемого товара, а как добавить к названию еще и фотографию??

Разобрался, что править нужно paded.php...

Но добавить изображение не получается...:(
Пытался это сделать добавив строку $image = $product->images[0]->displayMediaThumb('class="browseProductImage"', false);
а потом echo $image
но как то не получилось...
*

Liss

  • Захожу иногда
  • 238
  • 10 / 0
Код: php
<?php if ($product->images[0]) { ?>
  <div class="padded_image"><?php
    echo $product->images[0]->displayMediaFull('', false); ?>
  </div><?php
} ?>
*

mpjoke

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Увы, не помогло...
Сайт vod-of-ka с окончанием на ru..
*

Director

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
ну если с главной то корзина ваще не работает. ))
*

mpjoke

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Правильно, сейчас я добавил в файл  padded строчку, что мне посоветовали, но без if....
*

Director

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
Давайте код файла. Он не большой. Ща глянем.
*

Director

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
Давай быстрее пока   я не ушел.!
*

mpjoke

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Сама функция вывода сообщения

Код
if($this->products){
foreach($this->products as $product){
if($product->quantity>0){

echo $product->images[0]->displayMediaFull('', false);   - пытаюсь добавить картинку, если с if тогда вообще не работает, а без него - виснет...

/*echo '<h4>'.vmText::sprintf('COM_VIRTUEMART_CART_PRODUCT_ADDED',$product->product_name,$product->quantity).'</h4>';*/ - то, что было по умолчанию в файле....

                        echo '<div class="popup_cart"><h3>'. $product->product_name .'</h3>';
echo '<p>добавлен в корзину</p></div>'; - добавил вместо строки выше
} else {
if(!empty($product->errorMsg)){
echo '<div>'.$product->errorMsg.'</div>';
}
}

}
}
*

mpjoke

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Доработали код:
Код
$product_model = VmModel::getModel('product');
$prod = $product_model->getProduct($product->virtuemart_product_id);
$product_model->addImages($prod );
?>
            <img src="<?=JURI::base().$prod->images[0]->file_url;?>" />
<?php

echo '<div class="popup_cart"><h3>'. $product->product_name .'</h3>';
echo '<p>добавлен в корзину</p></div>';
« Последнее редактирование: 27.09.2016, 03:21:23 от mpjoke »
*

Director

  • Осваиваюсь на форуме
  • 17
  • 1 / 0
Цитировать
echo '<pre>'; print_r ( $prod->images[0]->file_url ); echo '</pre>'.__FILE__.'Строка '.__LINE__ ;
Это можно убрать. !!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сортировка По наличию товара - сначала По убыванию в VirtueMart

Автор rsn

Ответов: 7
Просмотров: 3525
Последний ответ 10.04.2025, 01:19:37
от strongest
[Решено] Если товар уже есть вкорзине изменить кнопку "Добавить в корзину"

Автор x-render

Ответов: 26
Просмотров: 12074
Последний ответ 26.11.2022, 22:38:11
от SolopoV
Открытие карточки товара VirtueMart3 в новом окне из категории

Автор djed9

Ответов: 2
Просмотров: 2582
Последний ответ 16.07.2021, 09:06:35
от djed9
Как в RSS ленту VirtueMart 3 добавить дополнительные изображения товара?

Автор Slava77

Ответов: 2
Просмотров: 3140
Последний ответ 06.06.2021, 01:12:01
от Slava77
Дробное количество товара в VM3

Автор alikon1

Ответов: 5
Просмотров: 2379
Последний ответ 12.03.2020, 14:16:42
от erbsen