Новости Joomla

Новый способ добавления и рендера полей в 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.

<?php // В Controller/View добавляем поля $this->form ->addControlField('task', '') ->addControlField('return', $input->getBase64('return', '')) ->addControlField('forcedLanguage', $forcedLanguage);

А в layout'е просто используем метод

renderControlFields()

<?php // В layout формы echo $this->form->renderControlFields();

Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.

Смотреть Pull Request

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

flops

  • Новичок
  • 6
  • 0 / 0
Ребята, товарищи! Подскажите пожалуйста как сделать ссылку на большое фото рядом или кликабельную картинку при просмотре объявления. Буду весьма благодарен!
*

onivan

  • Новичок
  • 7
  • 0 / 0
1. Удостоверься, что установлен System plugin JCE MediaBox из пакета JCE editor www.joomlacontenteditor.net/.
2. Замени содержимое файла components/com_listbingo/templates/default/ad.image.php этим кодом:

Я оставил в комментариях предыдущий код, чтобы можно было бысто поменять назад. Может когда-то сделаю чтобы был и smooth и jcebox, но пока -- так.
Код
<?php
/**
 * @package gobingoo
 * @subpackage listbingo
 * ad-image subtemplate
 * @author Bruce@gobingoo.com
 * code Bruce
 */
defined('_JEXEC') or die('Restricted access');
$gallery=new stdClass();
$gallery->shown=false;
$gallery->images=$this->images;
$gallery->params=$this->params;
GApplication::triggerEvent('onLoadSlider',array(& $gallery));

if(!$gallery->shown)
{


#$this->addCSS('smoothgallery');
#$this->addJSI('smoothgallery.gallery');
$count=count($this->images);
$baseurl=JUri::root();
$basepath=JPATH_ROOT;
$midthumb=$this->params->get('suffix_thumbnail_mid');
$smlthumb=$this->params->get('suffix_thumbnail_sml');
$lrgthumb=$this->params->get('suffix_thumbnail_lrg');
$slidewidth=$this->params->get('width_thumbnail_mid');
$slideheight=$this->params->get('height_thumbnail_mid');

?>
<style>
#myGallery
{
width: <?php echo $slidewidth;?>px !important;
height: <?php echo $slideheight;?>px !important;
}
</style>

<?php //echo $this->addJSI('smooth');?>

<div> <!-- id="myGallery"> -->
<?php
if($count>0)
{
foreach($this->images as $img)
{ //echo "<pre>";print_r($this->images);echo "</pre>";
if(file_exists($basepath.$img->image.$midthumb.".".$img->extension))
{

?>

<!-- <div class="imageElement">
<h3><?php echo $this->title;?></h3>
<p><?php echo $this->title;?></p>

<img src="<?php echo $baseurl.$img->image.$midthumb.".".$img->extension;?>" class="full" />
<img src="<?php echo $baseurl.$img->image.$smlthumb.".".$img->extension;?>" class="thumbnail" />
</div>
-->
<a class="jcebox" href="<?php echo $baseurl.$img->image.".".$img->extension;?>"><img src="<?php echo $baseurl.$img->image.$smlthumb.".".$img->extension;?>" class="thumbnail" /></a>
<?php
}
}
}
?>
</div>
<?php
}

Результат:
« Последнее редактирование: 06.03.2011, 23:55:46 от onivan »
*

MaxTishenko

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Сделал, всё как было вышесказанно. Пропали изображения вовсе. Может я пользуюсь сборкой не той, для которой был приведен метод выше? У меня стоит 1.3.7.

*

onivan

  • Новичок
  • 7
  • 0 / 0
У меня стоит 1.3.7. Какая сборка, точно не помню. Какая-то из русифицированных. Но это не должно влиять.
Сейчас проверю на свежеустановленном listbingo.

Проверил:
Установил стандартную сборку com_listbingo-1.3.7.zip, затем JCE Installation Package отсюда http://www.joomlacontenteditor.net/downloads/editor/joomla15x/category/joomla-15-2, затем JCE MediaBox отсюда http://www.joomlacontenteditor.net/downloads/mediabox/joomla-15/category/joomla-15, опубликовал последний, заменил файл components/com_listbingo/templates/default/ad.image.php предложенным в первом посте кодом, отправил тестовое объявление с картинками и работает.

Работает на многих шаблонах, на ja_purity -- 100%

Проверьте, может где-то ошиблись. Может конфликтирует с чем-то, что у вас стоит. Моя версия -- это идея. Можно использовать какой угодно lightbox-подобный скрипт.

« Последнее редактирование: 08.03.2011, 01:48:22 от onivan »
*

AdWeb

  • Давно я тут
  • 877
  • 31 / 3
данное решение также работает в версии 1.3.8 единственное, что не понравилось на открывшейся картинке нет кнопок навигации вперед\назад (
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
*

onivan

  • Новичок
  • 7
  • 0 / 0
Я поменял на MarketPlace. Намного проще, но достаточно для использования на целевом сайте. У Listbingo были какие-то глюки в js с другими расширениями используемыми на сайте...
*

poison

  • Новичок
  • 1
  • 0 / 0
This mod don't work on listbingo 1.3.8 and JCE media box latest version.



[/URL]

Please can you fix it??
Thanks you!!
*

onivan

  • Новичок
  • 7
  • 0 / 0
Sorry, I cannot. As I mentioned in the previous post I've switched to MarketPlace (much simpler but working out of box) and I don't care about Listbingo anymore.
*

mr.s0uc3

  • Захожу иногда
  • 226
  • 16 / 0
Сделал все как описано, в результате изображения пропадают, остаются лишь маленькие изображения в модуле объявлений... к тому же при попытке добавить объявление, при выборе категории, сайт перегружает страницу обратно к списку категорий...
Подскажите как бороться?
И еще есть один баг, в объявлении картинка урезается... обрезает нижнюю часть...
Жду помощи, заранее всем огромное спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перевести клиентскую часть Listbingo 2.0

Автор by_voland

Ответов: 0
Просмотров: 4756
Последний ответ 01.12.2014, 13:06:49
от by_voland
Модифицированная Listbingo

Автор mike2m

Ответов: 10
Просмотров: 7107
Последний ответ 30.11.2013, 07:48:34
от mike2m
При публикации нового объявления происходит зависание при выборе города, а затем и категории выбора

Автор msklv

Ответов: 0
Просмотров: 4639
Последний ответ 11.11.2013, 19:17:35
от msklv
Проблема с каткгориями в listbingo 2.0.2

Автор artem21

Ответов: 0
Просмотров: 4999
Последний ответ 25.05.2013, 10:58:38
от artem21
Listbingo 2.0

Автор AdWeb

Ответов: 11
Просмотров: 8596
Последний ответ 05.11.2012, 02:00:13
от seva3401