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

SolopoV

  • Давно я тут
  • 576
  • 16 / 0
  • зеленею...
Стандартный модуль mod_k2_content, как в нем вывести новые материалы, но не самого начала (не с самого нового материала) а, к примеру с пятого или десятого... Суть: необходимо вывести такой модуль на странице, где есть уже первые пять или десять материалов.

Полагаю, должно быть нечто подобное?

Код
($i =5, $n = count($items); $i < $n; $i++)

Буду благодарен, кто поможет.
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Стандартный модуль mod_k2_content, как в нем вывести новые материалы, но не самого начала (не с самого нового материала) а, к примеру с пятого или десятого... Суть: необходимо вывести такой модуль на странице, где есть уже первые пять или десять материалов.

Полагаю, должно быть нечто подобное?

Код
($i =5, $n = count($items); $i < $n; $i++)

Буду благодарен, кто поможет.

Не надо указывать в for с какого момента считать. Лучше с помощью условия if сортируй их
Код
<?php
for($i =0; $n = count($items); $i++)
{
if($items[$n] >= 5 && $items[$n] == 10)
{
// выводим материал...
}
}
?>
...
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не надо указывать в for с какого момента считать. Лучше с помощью условия if сортируй их
Код
<?php
for($i =0; $n = count($items); $i++)
{
if($items[$n] >= 5 && $items[$n] == 10)
{
// выводим материал...
}
}
?>
некорректно: ничего не выводится (по идее, только последний материал, который имеет содержание "10"), потому что цикл будет бесконечным.
Код
($i =5, $n = count($items); $i < $n; $i++)
Можно так, но:
1. Пропущенные материалы могут не совпадать с теми, что на странице.
2. Если есть пагинация, то с начала каждой страницы будут пропущены 5 материалов, а не только первые 5.

Вариант: Сравнить id или alias (смотрите, какие есть, не пользуюсь К2, поэтому не могу сказать) материалов модуля и тех, что на странице. Если совпадают, то не выводить.
« Последнее редактирование: 06.07.2015, 13:04:49 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

SolopoV

  • Давно я тут
  • 576
  • 16 / 0
  • зеленею...
Может быть кто то сделает выборку по ID (на соответствие)? В общем и целом задача есть, если кто то возьмется решить - отблагодарю ЯДом (в разумных пределах). Файл (или модуль) могу предоставить, хотя он стандартный..
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
некорректно: ничего не выводится (по идее, только последний материал, который имеет содержание "10"), потому что цикл будет бесконечным.Можно так, но:

согласен! Но сделал вот так
Код
for($u = 1; $u <= count($items); $u++)
{
        if($u >= 5 && $u < 10)
{
echo $items[$u]->title;
}
}

И все работает
но только без использования foreach
...
*

SolopoV

  • Давно я тут
  • 576
  • 16 / 0
  • зеленею...
согласен! Но сделал вот так
Код
for($u = 1; $u <= count($items); $u++)
{
        if($u >= 5 && $u < 10)
{
echo $items[$u]->title;
}
}

И все работает
но только без использования foreach

При последнем приведенном коде 

Код
for($u = 1; $u <= count($items); $u++)
{
        if($u >= 5 && $u < 10)
{
echo $items[$u]->title;
}
}

возникает пустая последняя строка (с текущей датой)...
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
возникает пустая последняя строка (с текущей датой)...

правильно укажи диапазон в строке
Код
if($u >= 5 && $u < 10)

К примеру я из 10 материалов вывожу последние 5 это значит что диапазон получиться
от больше или равно 5 и до меньше 10 ( 10 материал не включается в диапазон)...
Цыфрами: 5, 6, 7, 8, 9

...
*

SolopoV

  • Давно я тут
  • 576
  • 16 / 0
  • зеленею...
правильно укажи диапазон в строке
Код
if($u >= 5 && $u < 10)

К примеру я из 10 материалов вывожу последние 5 это значит что диапазон получиться
от больше или равно 5 и до меньше 10 ( 10 материал не включается в диапазон)...
Цыфрами: 5, 6, 7, 8, 9



О!.. Все гут! Материалов просто пока маловато.. Я понял..
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенос материалов из Joomla3 + K2 в Joomla4

Автор Magnum79

Ответов: 0
Просмотров: 1295
Последний ответ 24.05.2024, 21:49:14
от Magnum79
Как добавить свой класс для страниц вывода материалов по тегу k2?

Автор Slava77

Ответов: 0
Просмотров: 3903
Последний ответ 16.02.2023, 23:29:34
от Slava77
Наполняя категорию K2 копированием материалов, пропадает навигация в статьях

Автор Slava77

Ответов: 4
Просмотров: 2911
Последний ответ 24.12.2021, 22:30:56
от Slava77
K2 Store - вывод Product Options в карточке товара

Автор John_Flores

Ответов: 1
Просмотров: 986
Последний ответ 26.11.2021, 12:04:32
от John_Flores
Перестала работать опция оценки материалов/рейтинг в компоненте K2

Автор Yonakano

Ответов: 4
Просмотров: 1698
Последний ответ 07.02.2021, 00:30:57
от Yonakano