Новости Joomla

Новый способ добавления и рендера полей в 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.

<?php // В Controller/View добавляем поля $this->form ->addControlField('task', '') ->addControlField('return', $input->getBase64('return', '')) ->addControlField('forcedLanguage', $forcedLanguage);

А в layout'е просто используем метод

renderControlFields()

<?php // В layout формы echo $this->form->renderControlFields();

Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.

Смотреть Pull Request

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

asterix_kpi

  • Осваиваюсь на форуме
  • 30
  • 2 / 0
Вывод цены со скидкой
« : 02.11.2009, 18:26:45 »
Подскажите как организовать вывод цены со скидкой (не перечеркнутой!) - а рядом со старой только Цвет Красный и шрифт больше....или надпись рядом с ценой что на нее распространяется скидка 10%(или вывести картинку со скидкой в %)
Спасибо
*

asterix_kpi

  • Осваиваюсь на форуме
  • 30
  • 2 / 0
Re: Вывод цены со скидкой
« Ответ #1 : 02.11.2009, 18:32:47 »
товара отвечают CSS-классы class=”product-Old-Price” и class=”productPrice” в файле theme.css по
адресу …youdomen.com\components\com_virtuemart\themes\default


}
.productPrice {
color:#FFFF00;
font-weight:bold;
white-space: nowrap;
}
.product-Old-Price {
color:ff0000;
font-weight: bold;
text-decoration: line-through;
}


Остался вопрос где осуществляется вывод этих цен...
Чтобы дописать - "Новая цена" цена со скидкой, а вторая "СТАРАЯ"
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Re: Вывод цены со скидкой
« Ответ #3 : 09.01.2010, 17:59:09 »
а вот еще вопрос. в файле /components/com_virtuemart/themes/default/templates/common/price.tpl.php задан тип вывода цены: Старая цена, Ваша экономия, Новая цена

Код
<?php
// DISCOUNT: Show old price!
if(!empty($discount_info["amount"])) {
?>
<span class="product-Old-Price">
<?php echo $CURRENCY_DISPLAY->getFullValue($undiscounted_price); ?></span>

<br/>
<?php
}
?>

<?php
// DISCOUNT: Show the amount the customer saves
if(!empty($discount_info["amount"])) {
echo "<br />";
echo $VM_LANG->_('PHPSHOP_PRODUCT_DISCOUNT_SAVE').": ";
if($discount_info["is_percent"]==1) {
echo $discount_info["amount"]."%";
}
else {
echo $CURRENCY_DISPLAY->getFullValue($discount_info["amount"]);
}
}
?>

<?php
if( !empty( $price_info["product_price_id"] )) { ?>
<span class="productPrice">
<?php echo $CURRENCY_DISPLAY->getFullValue($base_price)?>
<?php echo $text_including_tax ?>
</span>
<?php
}
echo $price_table;
?>

мне необходимо добавить условие, что бы при наличии скидки для цены задавался новый css-класс. Т.е. есть .productPrice и .product-Old-Price, а мне нужен еще и .product-New-Price.
Хочу задать особый бэкграунд для цен со скидкой.

Заранее спасибо!
*

holovla

  • Захожу иногда
  • 101
  • 0 / 0
Re: Вывод цены со скидкой
« Ответ #4 : 10.02.2014, 14:04:54 »
Добрый день!
Хочу поднять тему повторно, так как столкнулся с такой же задачей как и в последнем посте.

Подскажите, пожалуйста, как сделать .product-New-Price чтобы была возможность задать ей собственный CSS стиль.
Как присвоить той цене которая выдается как новая (со скидкой) свой стиль, чтобы это был не product price ,a product-New-Price

И того у нас к примеру получится старая цена перечеркнута(old price), а новая красным и большим шрифтом(new price), и в свою очередь product price (общая цена у всех товаров) останется нетронутой и со старым цссом.

И соответственно как сделать чтобы product new price выводилась также и в карточке товара. Тоесть если есть скидка то old price перечеркнута и new price красным, но если скидки нет то все как обычно, product price.
« Последнее редактирование: 10.02.2014, 14:09:08 от holovla »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Убрать привязку цены к группе покупателей

Автор newjey

Ответов: 1
Просмотров: 1446
Последний ответ 07.10.2015, 14:19:14
от fsv
Неправильное отображение цены в основной валюте

Автор Adrian1111

Ответов: 0
Просмотров: 1334
Последний ответ 05.02.2015, 15:59:36
от Adrian1111
Две цены

Автор Vasja555

Ответов: 0
Просмотров: 1193
Последний ответ 05.02.2015, 15:35:51
от Vasja555
Вывод товара drop menu

Автор Kiryanz

Ответов: 0
Просмотров: 1200
Последний ответ 21.10.2014, 09:02:14
от Kiryanz
Вывод наименования товара в две строки.

Автор Alexxxsss

Ответов: 18
Просмотров: 4518
Последний ответ 14.10.2014, 12:21:59
от Ckunnep