Новости 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 Ответов
  • 1190 Просмотров
*

tigra-uki

  • Давно я тут
  • 565
  • 11 / 0
  • Joom'лiстка
Доброго дня!
Прошу помощи в вопросе:
Как выделить в отдельный блок атрибуты из одной группы в карточке товара?
Так, чтобы этому div можно было присвоить свой класс и соответственно задать свойства?

вот как я понимаю нужная часть в product_default.php в моем шаблоне, а дальше... :(
Пожалуйста, подскажите, что нужно написать, если это возможно

Код
<?php if (count($this->attributes)) : ?>           
  <div class="jshop_prod_attributes jshop">               
    <?php foreach($this->attributes as $attribut) : ?>                   
     <?php if ($attribut->grshow){?>
           <div> 
                  <span class="attributgr_name"><?php print $attribut->groupname?></span> 
           </div>                   
<?php }?>     

<div class="row-fluid row-attr-<?php print $attribut->attr_id?>"> 
                      <div class="span6 attributes_title">                           
                            <span class="attributes_name"><?php print $attribut->attr_name?>:</span>
                            <span class="attributes_description"><?php print $attribut->attr_description;?></span>
                       </div> 
                     
<div class="span6">                           
           <span id='block_attr_sel_<?php print $attribut->attr_id?>'>                               
                   <?php print $attribut->selects?>                           
          </span>                       
       </div>                   
   </div>               
            <?php endforeach; ?>           
</div>
<?php endif; ?> 

Joomla3.9.19, JoomShopping4.18.4

UP: кажется начинаю подозревать, что это не те атрибуты :)
« Последнее редактирование: 01.07.2020, 18:43:08 от tigra-uki »
Слишком сконцентрированное внимание необходимо разбавлять действием.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
здра.
просто добавьте проверку на имя атибута до строки его вывода и саму строку чуть подправьте
Код
<?php
$add_class="";
if ($attribut->attr_name=="нужное имя") $add_class="redcolor";
?>
<span class="attributes_name <?php print $add_class?>"><?php print $attribut->attr_name?>:</span>
*

tigra-uki

  • Давно я тут
  • 565
  • 11 / 0
  • Joom'лiстка
здра.
просто добавьте проверку на имя атибута до строки его вывода и саму строку чуть подправьте
Код
<?php
$add_class="";
if ($attribut->attr_name=="нужное имя") $add_class="redcolor";
?>
<span class="attributes_name <?php print $add_class?>"><?php print $attribut->attr_name?>:</span>

спасибо, effrit!
...подскажите, пожалуйста, а как узнать имя атрибута?
Вы же не про тип атрибута говорите? В данном случае тип у меня checkbox  :(
У меня 4 группы атрибутов, в которых в общей сложности 24 атрибута
« Последнее редактирование: 01.07.2020, 19:24:51 от tigra-uki »
Слишком сконцентрированное внимание необходимо разбавлять действием.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
мне без примера сложно понять, что вам нужно.
я вам пример дал, все остальное делается по подобию.
ищите нужный блок на странице (можно просто выводить какой-то текст-индикатор) и для нужного блока делаете проверку имен (или id-шников) атрибутов или их групп.
у вас же имя ($attribut->attr_name) выводится далее внутри блока span...
что у вас на странице-то выведено? смотрите и прописываете в условие.
*

tigra-uki

  • Давно я тут
  • 565
  • 11 / 0
  • Joom'лiстка
Цитировать
и в личку писать не надо, если в теме помощь просите.
тут на общественных началах помогают, а бесплатным личным консультантом быть - это раздражает. вроде не первый год на форуме...

Сделала это исключительно из-за ссылки (сайт не мой).
Спасибо большое, сейчас попробую.
Слишком сконцентрированное внимание необходимо разбавлять действием.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Код

<?php if (count($this->attributes)) : ?>           
  <div class="jshop_prod_attributes jshop">               
    <?php
$grCount=0;

foreach($this->attributes as $attribut) : ?>                   
     <?php if ($attribut->grshow){?>
<?php
if($grCount) echo "</div>";
$grCount++;
?>
           <div class='group'>
                  <span class="attributgr_name"><?php print $attribut->groupname?></span>                   
<?php }?>     

<div class="row-fluid row-attr-<?php print $attribut->attr_id?>">
                      <div class="span6 attributes_title">                           
                            <span class="attributes_name"><?php print $attribut->attr_name?>:</span>
                            <span class="attributes_description"><?php print $attribut->attr_description;?></span>
                       </div>
                     
<div class="span6">                           
           <span id='block_attr_sel_<?php print $attribut->attr_id?>'>                               
                   <?php print $attribut->selects?>                           
          </span>                       
       </div>                   
   </div>

               
            <?php endforeach; ?>           
<?php if($grCount) echo "</div>"; ?>   
</div>
<?php endif; ?>


*

tigra-uki

  • Давно я тут
  • 565
  • 11 / 0
  • Joom'лiстка
Код
 
<?php if (count($this->attributes)) : ?> 
       
  <div class="jshop_prod_attributes jshop">               
    <?php
$grCount=0;

foreach($this->attributes as $attribut) : ?>                   
     <?php if ($attribut->grshow){?>
<?php
if($grCount) echo "</div>";
$grCount++;
?>
           <div class='group'>
                  <span class="attributgr_name"><?php print $attribut->groupname?></span>                   
<?php }?>     

<div class="row-fluid row-attr-<?php print $attribut->attr_id?>">
                      <div class="span6 attributes_title">                           
                            <span class="attributes_name"><?php print $attribut->attr_name?>:</span>
                            <span class="attributes_description"><?php print $attribut->attr_description;?></span>
                       </div>
                     
<div class="span6">                           
           <span id='block_attr_sel_<?php print $attribut->attr_id?>'>                               
                   <?php print $attribut->selects?>                           
          </span>                       
       </div>                   
   </div>

               
            <?php endforeach; ?>           
<?php if($grCount) echo "</div>"; ?>   
</div>
<?php endif; ?>

effrit, большое спасибо за Вашу помощь - без Вашей подсказки не справилась бы.

Использовала указанный код,
Заменила class="span6" на свой, назначила ему свойства и
получилось как-то так: https://prnt.sc/ta8tnf

В моем случае четыре колонки с красно-розовыми заголовками это и есть те самые группы атрибутов.
и в итоге получился такой мини-конструктор для пиццы.

Надеюсь, эта тема кому-то пригодится.


« Последнее редактирование: 02.07.2020, 10:07:11 от tigra-uki »
Слишком сконцентрированное внимание необходимо разбавлять действием.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Характеристики товара без всплывающей формы

Автор shop-user

Ответов: 2
Просмотров: 892
Последний ответ 04.04.2025, 21:40:09
от victorantoniak
Вывести определённую характеристику отдельно от списка характеристик товара

Автор Silent_Breeze

Ответов: 52
Просмотров: 12148
Последний ответ 23.11.2023, 12:31:08
от YuryNew
Автоматическая генерация Кода товара

Автор geral

Ответов: 4
Просмотров: 2188
Последний ответ 17.03.2023, 13:21:43
от geral
Как создать (суб)атрибуты для части (для некоторых) атрибутов?

Автор ltdmercury

Ответов: 3
Просмотров: 2297
Последний ответ 25.02.2023, 12:42:02
от kit2m2
Проверить, есть ли у товара хоть одна из характеристик. Как?

Автор goga_pgasovav

Ответов: 8
Просмотров: 2454
Последний ответ 09.01.2023, 14:47:41
от sivers