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

Emotion

  • Захожу иногда
  • 101
  • 0 / 0
Здравствуйте. Не кто не сталкивался с такой задачей - вывести 2-3 категории в списке выбора категорий по их ID а не чтобы все выводились в которые можно публиковать.

Дело в том что у меня есть форма подачи материала на 3 страницах с 3 наборами фильтров которые подходят только к конкретным категория а в списке выбора категории куда надо добавь объявления выводятся все категории которые забиты в каталоге. Может кто то подскажет как оптимизировать ?
« Последнее редактирование: 04.09.2012, 13:10:42 от Emotion »
*

Emotion

  • Захожу иногда
  • 101
  • 0 / 0
Re: Свои категории в page_addListing.tpl.php
« Ответ #1 : 03.09.2012, 23:11:36 »
Решил использовать функцию Jquery
jQuery('#browsecat').children('option[value="категории_которую_прячу"]').hide();

оно то ее прячет но данные в список select выгружаются динамически и когда нажимаю >Назад мое спрятанное поле появляется надо как то задать эту функцию чтобы она действовала постоянно

П.С. к сожалению функция выше не поддерживается в Chrome и IE Пришлсоь использовать другую а именно

Код
(function($){

    $.fn.extend({detachOptions: function(o) {
        var s = this;
        return s.each(function(){
            var d = s.data('selectOptions') || [];
            s.find(o).each(function() {
                d.push($(this).detach());
            });
            s.data('selectOptions', d);
        });
    }, attachOptions: function(o) {
        var s = this;
        return s.each(function(){
            var d = s.data('selectOptions') || [];
            for (var i in d) {
                if (d[i].is(o)) {
                    s.append(d[i]);
                    console.log(d[i]);
                                    }
            }
        });
    }});   
   
})(jQuery);

// прячу категорию
$('#browsecat').detachOptions('[value=значение_велю]');

в конце файла page_addListing.tpl.php добавил ссилку на скрипт с этой функцией 
<script language="javascript" type="text/javascript" src="<?php echo $this->jconf['live_site']; ?>/components/com_mtree/js/rem.js"</script>

но она не обрабатываться внутри компонета хотя в отдельном демо-файле все отлично, уже мозг сломал как дальше делать... :(
« Последнее редактирование: 04.09.2012, 01:10:30 от Emotion »
*

Emotion

  • Захожу иногда
  • 101
  • 0 / 0
Re: Свои категории в page_addListing.tpl.php
« Ответ #2 : 04.09.2012, 13:09:08 »
Зделано готове решение этой задачи. Основная логика заключается в удалении ненужных options в списке select по их value


Код

jQuery(document).ready(function(){

function remOfOptions() {
jQuery('#browsecat').find('option').filter(function(){
if(jQuery(this).val() == 82|| jQuery(this).val() == 81)
{
return true;
}
return false;
}).remove();

}

jQuery('#browsecat').ajaxStop(function(){
remOfOptions();
});

jQuery('#lcmanage').click(function(){
remOfOptions();
});
});

Где все 82 и 81 значение value тех options которые мы будем вырезать из сиписка селект
Эту функию пишем в файл com_mtree/js/category.js

П.С. Кроссбраузерное решение
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести в категории третьего уровня название категории первого уровня?

Автор Monix

Ответов: 0
Просмотров: 3280
Последний ответ 23.12.2017, 16:26:58
от Monix
Материалы в категории- не решается проблема!

Автор megasiras

Ответов: 0
Просмотров: 1508
Последний ответ 28.10.2014, 07:53:25
от megasiras
Неправильно отображаются в pathway родительские категории

Автор magistr_yoda

Ответов: 0
Просмотров: 1505
Последний ответ 12.02.2014, 07:19:38
от magistr_yoda
Нужно получить id категории в moset tree

Автор wartek

Ответов: 3
Просмотров: 1663
Последний ответ 05.07.2013, 16:53:31
от wartek
[Решено] Прикрутить Яндекс карту?

Автор kdvbpspr

Ответов: 6
Просмотров: 4228
Последний ответ 02.11.2012, 00:03:18
от dimko300