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

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Только первый абзац
« : 28.11.2017, 15:24:15 »
Добрый день,
Подскажите пожалуйста,

Запарился и запутался,
Нужно что б в "og:description" - выводила только первый абзац - ?
Получается он выводит все как надо и продолжает после первого абзаца.
Посмотри пожалуйста код, подскажите ошибку.

Код
// Description

if ($this->params->get('description'.$suffix, '') != '') { // description in params
$this->renderTag('og:description', $this->params->get('description'.$suffix, ''), $type);
} else if (isset($thisDesc) && $thisDesc != '') { // article meta description
$this->renderTag('og:description', $thisDesc, $type);
} else if ($this->params->get('menu-meta_description') != '') { // menu link meta description
$this->renderTag('og:description', $this->params->get('menu-meta_description'), $type);
} else if (isset($row->introtext) && $row->introtext != '' && $desc_intro == 1) { // artcle introtext

$iTD = $row->introtext;
$iTD = preg_replace('#(<code.*?>).*?(</code>)#', '$1$2', $iTD);
$iTD = preg_replace('#(<pre.*?>).*?(</pre>)#', '$1$2', $iTD);
$iTD = preg_replace('#<br.*?>#', ' ', $iTD);
$iTD = strip_tags($iTD);
$iTD = str_replace("\r\n", ' ', $iTD);
$iTD = str_replace("\n", ' ', $iTD);
$iTD = str_replace("\n", ' ', $iTD);

// Remove every possible plugin code
$iTD = preg_replace("/\{[^}]+\}/","",$iTD);
$iTD = preg_replace("/\[[^]]+\]/","",$iTD);
$iTD = preg_replace("/\([^)]+\)/","",$iTD);

if ($rSD != '') {
$rSDA =  explode(',', $rSD);
if (!empty($rSDA)) {
foreach ($rSDA as $k => $v) {
$iTD = str_replace($v,"", $iTD);
}
}
}

$this->renderTag('og:description', $iTD, $type);
} else if ($config->get('MetaDesc') != '') { // site meta desc
$this->renderTag('og:description', $config->get('MetaDesc'), $type);
}
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JS срабатывание только одни раз click?

Автор warlocksp

Ответов: 8
Просмотров: 1175
Последний ответ 27.10.2020, 12:19:17
от sivers
Мой первый компонент

Автор denism300

Ответов: 99
Просмотров: 5625
Последний ответ 30.09.2016, 09:49:10
от Taatshi