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

bearn

  • Новичок
  • 9
  • 0 / 0
Не могу найти решение данной проблемы( Цена периодически обновляются, и я хочу чтобы они выводились в определенном диапазоне, например от 0 - 5000 $. Может есть кто знает решение? VirtueMart 1.1.9 Joomla 1.5. Подскажите пожалуйста в каком направлении копать.
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Цена периодически обновляются, и я хочу чтобы они выводились в определенном диапазоне, например от 0 - 5000 $.

ничего не понял.
Веб-разработка: заказ. Только новая разработка.
*

bearn

  • Новичок
  • 9
  • 0 / 0
цены должны выводиться только в определенном промежутке от 1-5000$, то есть если сегодня цена стала 5001$ то автоматически вывод цены либо 0 или пустое поле.
*

fsv

  • Moderator
  • 2781
  • 410 / 2
цены должны выводиться только в определенном промежутке от 1-5000$, то есть если сегодня цена стала 5001$ то автоматически вывод цены либо 0 или пустое поле.

\components\com_virtuemart\themes\default\templates\common\price.tpl.php
строку
Код
<?php echo $CURRENCY_DISPLAY->getFullValue($base_price)?>
заменить на
Код
<?php if ($base_price < 5001) { echo $CURRENCY_DISPLAY->getFullValue($base_price); } ?>

Если цена больше 5000, выводится не будет. Но останется "Цена:" - $product_price_lbl в вашем flypage, скрыть также по условию.
Веб-разработка: заказ. Только новая разработка.
*

bearn

  • Новичок
  • 9
  • 0 / 0
строчки не было вообще, добавил  ничего не поменялось(

Спойлер
[свернуть]
*

fsv

  • Moderator
  • 2781
  • 410 / 2
строчки не было вообще, добавил  ничего не поменялось(

проверено - работает.

на первый взгляд, правильно вставили, но досконально не всматривался.
где-какой-строчки -не было ?
у вас дефолтная тема VM? или вы используете одну тему, а изменили в другой?
Веб-разработка: заказ. Только новая разработка.
*

bearn

  • Новичок
  • 9
  • 0 / 0
Выделил цветом то что добавил. Шаблон использую свой то есть изменил правильно. Покажите, пожалуйста, свой price.tpl.php.
Спойлер
[свернуть]

походу файл никак не связан, или у меня нестандартный шаблон...
« Последнее редактирование: 01.11.2012, 15:12:33 от bearn »
*

SolopoV

  • Давно я тут
  • 576
  • 16 / 0
  • зеленею...
Немного другой вопрос:

Как вытащить только $base_price в карточку, то есть есть условие, что если товар дороже 3000 - пишем в карточке "Вам купон на вторую покупку".

 !
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Как вытащить только $base_price в карточку, то есть есть условие, что если товар дороже 3000 - пишем в карточке "Вам купон на вторую покупку".
Код
<script type="text/javascript">
(function($) {
$(document).ready(function() {
if($(".productPrice").length) {       
var currency = "<?php echo $CURRENCY_DISPLAY->getSymbol()?>";
var basePrice = $(".productPrice").html().replace(currency,"").replace(/\s+/g,'');
if ( parseFloat(basePrice) > 3000 ) {
$("#text_cupon").html("Вам купон на вторую покупку");
}
}
});
})(jQuery);
</script>
<div id="text_cupon"></div>
Веб-разработка: заказ. Только новая разработка.
*

SolopoV

  • Давно я тут
  • 576
  • 16 / 0
  • зеленею...
Код
<script type="text/javascript">
(function($) {
$(document).ready(function() {
if($(".productPrice").length) {       
var currency = "<?php echo $CURRENCY_DISPLAY->getSymbol()?>";
var basePrice = $(".productPrice").html().replace(currency,"").replace(/\s+/g,'');
if ( parseFloat(basePrice) > 3000 ) {
$("#text_cupon").html("Вам купон на вторую покупку");
}
}
});
})(jQuery);
</script>
<div id="text_cupon"></div>

Не срабатывает, при вставке в карточку товара, либo $ конфликтует, либо..


intval($product_price) - тоже не выход
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Не срабатывает, при вставке в карточку товара
У меня срабатывает.
либo $ конфликтует
а что, не видно, есть ли конфликт? если есть, убирайте его
либо..
либо у вас не дефолтная разметка (класс не тот, теги поменяли, ...)
ссылка?
Веб-разработка: заказ. Только новая разработка.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] "Цена от:" на странице категорий

Автор kry

Ответов: 27
Просмотров: 9142
Последний ответ 23.04.2016, 00:18:32
от morda77
Составная переменная цена товара в кнопке Купить

Автор sashgera

Ответов: 0
Просмотров: 3489
Последний ответ 20.03.2016, 17:34:44
от sashgera
Как сделать ссылки на следующий/предыдущий товар в карточке товара?

Автор holovla

Ответов: 10
Просмотров: 2073
Последний ответ 07.05.2015, 10:14:41
от holovla
Цена в у.е. а наценка в гривне, можно ли так сделать?

Автор newjey

Ответов: 0
Просмотров: 1356
Последний ответ 25.02.2015, 12:39:31
от newjey
Цена товара на кнопке Купить

Автор sashgera

Ответов: 0
Просмотров: 1147
Последний ответ 25.02.2015, 01:57:37
от sashgera