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

vitoxa_ya

  • Осваиваюсь на форуме
  • 12
  • 4 / 0
Добрый день, подскажите как на главной странице вывести список товаров под категорией. как на данной картинке
« Последнее редактирование: 07.07.2012, 02:56:36 от vitoxa_ya »
*

vitoxa_ya

  • Осваиваюсь на форуме
  • 12
  • 4 / 0
Re: Список товаров на главной
« Ответ #1 : 07.07.2012, 02:30:43 »
И так отвечаю сам на свой же вопрос ^-^
конечно можно было создать статью в Joomla в неё добавить позиций и модули feftured product, но так не интересно ;D

Идём www.ваш_сайт\components\com_virtuemart\views\virtuemart\tmpl и для начала копируем файл default_categories.php в папку templates\ваш_шаблон\html\com_virtuemart\virtuemart, и тогда никакие обновления не страшны

Открываем наш default_categories.php и ищем код
Код: php-brief
<span><?php echo $category->category_name ?></span><br />
    </a>
    </h2>

После него добавляем вот этот код
Код: php
<!-- Begin list of products -->
<div class="main_category_description" style="float:left;">
<?php echo $category->category_description ; ?>
</div>
<?// Start the Output
$Product_group = false;
$max_items = 0;
$category_id = $category->virtuemart_category_id;
$filter_category = true;
$show_price = false;

$vendorId = JRequest::getInt('vendorid', 1);

if ($filter_category ) $filter_category = TRUE;
$productModel = VmModel::getModel('Product');

$products = $productModel->getProductListing($Product_group, $max_items, $show_price, true, false,$filter_category, $category_id);
$productModel->addImages($products);

$totalProd = count( $products);
if(empty($products)) return false;
?>
<div id="produkt_list" class="floatleft" >
<?php
foreach ( $products as $product ) {
// Show Products ?>
<div id="produkt_img" class="width15 floatleft" style="text-align:left">
<?php /** if you want an image, uncomment the code
echo $product->images[0]->displayMediaThumb('class="browseProductImage" border="0" title="'.$product->product_name.'" ',true,'class="modal"');
*/?>
</div>
<ul><li><?php echo JHTML::link($product->link, $product->product_name); ?></li></ul>
<div class="clear"></div>
<?
} // end of foreach ( $products as $product )
?>
</div>
<!-- End list of products -->

ну и конечно же говорим мне спасибо если не жалко ^-^
« Последнее редактирование: 19.09.2012, 10:30:46 от vitoxa_ya »
*

gluck1966

  • Новичок
  • 9
  • 1 / 0
Огромное спс за решение.
В коде, правда ошибочка - забыл фигурную скобку в цикле открыть.
*

vitoxa_ya

  • Осваиваюсь на форуме
  • 12
  • 4 / 0
Огромное спс за решение.
В коде, правда ошибочка - забыл фигурную скобку в цикле открыть.
Спасибо за замечание поправил)
*

aslanamirov

  • Захожу иногда
  • 87
  • 4 / 0
  • Ййехаа!
RE: Список товаров на главной VirtueMart
« Ответ #4 : 18.03.2013, 09:16:49 »
Люди, а как вывести его то?
VirtueMart 2.0.20a в этом файле у меня нет таких  строк, но все таки я вставил и результата ноль.
как подключить его к шаблону в папке HTML?
*

LZD

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Список товаров на главной VirtueMart
« Ответ #5 : 20.07.2017, 16:46:29 »
Добрый день!
А может быть кто-нибудь сталкивался с такой задачей на VM3? не работает getProductListing и getProductsInCategory
Тут
https://forum.virtuemart.net/index.php?topic=132183.0
человек столкнулся с такой же проблемой, но решения так и не нашлось :(
*

alfa212

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
RE: Список товаров на главной VirtueMart
« Ответ #6 : 21.10.2020, 23:27:08 »
Решение для VM3:

В файле components\com_virtuemart\sublayouts\categories.php где-то после закрывающего </h2> вставить

Код
<?
$productModel = VmModel::getModel('product');
$prods_in_cat = $productModel->getProductsInCategory($category->virtuemart_category_id);
foreach ( $prods_in_cat as $prod ) {
  echo '<a href="' . $prod->link.$ItemidStr . '">' . $prod->product_name . '</a><br>';
}
?>

строку с echo  '<a href=... оберните тегами по своему усмотрению - она выводит каждую строку с товаром
« Последнее редактирование: 21.10.2020, 23:39:13 от alfa212 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться