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

mors

  • Захожу иногда
  • 159
  • 1 / 0
Нужна Ваша помощь, у меня не хватает опыта додумать.
Собственно как сделать резиновую картинку в определенном месте шаблона что б размер менялся в зависимости от экрана, но картинка с места никуда не девалась.

пробовал так: <div id="logo2"><img src="../images/logo2.jpg" width="100%"/></div>, наверняка я Неправильно написал эту строку в index? - так как никаких изменений не было...
пробовал и с процентами в CSS и "так и сяк", но кроме изменений картинки или места позиции ничего не происходило и картинка на других экранах смотрится огромной (у меня 1920x1080разрешение и делал для своего монитора, забыв обо всем и казалось, что все сделал, но когда через 2комп посмотрел сайт то ужаснулся(1024x768)). Картинок несколько, но если есть решение, то применю его к остальным. footer сделал резиновым с помощью процентов и все с ним норм.
*

joooomlaman

  • Осваиваюсь на форуме
  • 21
  • 3 / 3
Re: Резиновая картинки в шаблоне, как?!
« Ответ #1 : 12.11.2012, 11:16:01 »
Либо делаете картинку огромных размеров и на бекграунд, либо пи помощи js. Других вариантов вроде нет
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Резиновая картинки в шаблоне, как?!
« Ответ #2 : 12.11.2012, 11:19:34 »
Никак. При подобных условиях позиционировать блок можно только left, right, center. Или должен быть какой то фиксированный блок, к которому привязывать тянучку.

P.S. Резиновая верстка - вчерашний день. Осваивайте адаптивную.
*

mors

  • Захожу иногда
  • 159
  • 1 / 0
Re: Резиновая картинки в шаблоне, как?!
« Ответ #3 : 12.11.2012, 11:49:49 »
Никак. При подобных условиях позиционировать блок можно только left, right, center. Или должен быть какой то фиксированный блок, к которому привязывать тянучку.

P.S. Резиновая верстка - вчерашний день. Осваивайте адаптивную.
Ну позиционировать блок с картинкой не вижу смысла ибо размер не будет меняться заданный. А вот что насчет фиксированного блока, как к нему привязать картинку-резинку?
Адаптированную буду осваивать, но только чуть позже.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Резиновая картинки в шаблоне, как?!
« Ответ #4 : 12.11.2012, 13:12:29 »
Да тут наверно и это не поможет. Если картинка настолько большая, то попробуйте ее вставить в качестве background CSS для страницы. Отцентрируйте
Код
background:url(../images/image.jpg) no-repeat 50% 0;
50% - аналог center в данном случае. Картинка не будет растягиваться и деформироваться, но при меньших разрешениях будет скрываться за краями окна, оставаясь по центру монитора.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Резиновая картинки в шаблоне, как?!
« Ответ #5 : 12.11.2012, 13:20:28 »
Гм. Вроде задача то тривиальная.
Код: html4strict
<body>
<img id="allbg" />
<div id="allsite">тут сайт</div>
</body>
Код: css
#allbg {position:absolute; top:0; left:0; width:100%;}
Всё, картинка будет автоматом масштабироваться под размер окна. Это работает только с img и не работает с css2 (в css3 можно задать масштабирование фона). Два минуса способа:
1. Нам бы нах не нужен лишний имедж в потоке контента. Оборачивать ноуиндексами тоже не совсем то, что хотелось бы.
2. Картинка будет обрываться снизу. Можно конечно добавить ещё и height:100% и будет стопроцентное заполнение всего окна. Но тогда фон должен быть такой, чтобы его можно было без зазрения совести искажать непропрорционально. Например какие-нить разводы а-ля заставка винды.
Вариант два, лишённый этих минусов: JS. http://srobbin.com/jquery-plugins/backstretch/ — использовал пару раз этот плагин. Впечатления положительные.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Резиновая картинки в шаблоне, как?!
« Ответ #6 : 12.11.2012, 13:27:03 »
Цитировать
2. Картинка будет обрываться снизу.
3. Картинка будет деформироваться при разрешениях, отличных от собственного размера. Именно по этой причине я даже не предложил этот вариант. А плагин подобный использовать приходилось. Только из первого сообщения и куска кода с logo2.jpg вроде бы ТС не целиком фон пытается повесить, а именно какую то часть в верху страницы.
*

mors

  • Захожу иногда
  • 159
  • 1 / 0
Re: Резиновая картинки в шаблоне, как?!
« Ответ #7 : 12.11.2012, 13:33:32 »
Да тут наверно и это не поможет. Если картинка настолько большая, то попробуйте ее вставить в качестве background CSS для страницы. Отцентрируйте
Код
background:url(../images/image.jpg) no-repeat 50% 0;
50% - аналог center в данном случае. Картинка не будет растягиваться и деформироваться, но при меньших разрешениях будет скрываться за краями окна, оставаясь по центру монитора.

картинка все равно большая получается (хоть и прицепилась хорошо) - на моем мониторе(1920x1080) отлично, а на (1024x768) уходит по футер и накрывается блоком, блок то могу и шире сделать или процентами, но вот что с картинкой еще можно сделать не знаю даже.. как вариант уменьшить картинку - но всё равно тогда будет уже не то, да и Неправильно.. а если сам блок в php сделать резиновым задав ему width="100%"? А хотя тоже не выйдет.. я в тупике.. 

Сама картинка не большая, вот ссылка http://www.veronirv.bget.ru
Изображение должно стоять ногами на футере, вверху там будет ещё логотип с именем ну и тд.. пока все что не нужно скрыл.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Резиновая картинки в шаблоне, как?!
« Ответ #8 : 12.11.2012, 13:33:50 »
3. Картинка будет деформироваться при разрешениях, отличных от собственного размера. Именно по этой причине я даже не предложил этот вариант. А плагин подобный использовать приходилось. Только из первого сообщения и куска кода с logo2.jpg вроде бы ТС не целиком фон пытается повесить, а именно какую то часть в верху страницы.
Про деформацию картинки я написал. Говорю ж, способ вполне себе актуален для вот таких к примеру фонов
А вообще, если не JS, то медиа-кверисы решают.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Резиновая картинки в шаблоне, как?!
« Ответ #9 : 12.11.2012, 13:46:00 »
картинка все равно большая получается (хоть и прицепилась хорошо) - на моем мониторе(1920x1080) отлично, а на (1024x768) уходит по футер и накрывается блоком, блок то могу и шире сделать или процентами, но вот что с картинкой еще можно сделать не знаю даже.. как вариант уменьшить картинку - но всё равно тогда будет уже не то, да и Неправильно.. а если сам блок в php сделать резиновым задав ему width="100%"? А хотя тоже не выйдет.. я в тупике.. 

Сама картинка не большая, вот ссылка http://www.veronirv.bget.ru
Изображение должно стоять ногами на футере, вверху там будет ещё логотип с именем ну и тд.. пока все что не нужно скрыл.
Попробуйте вариант с плагином по ссылке Shustry, может подойти. Хотя там человек - может кривое зеркало получиться.

Жень, видел картинку да? Там вообще не по ширине тянуть ее нужно, а по высоте :)
*

mors

  • Захожу иногда
  • 159
  • 1 / 0
Re: Резиновая картинки в шаблоне, как?!
« Ответ #10 : 12.11.2012, 13:54:21 »
Попробуйте вариант с плагином по ссылке Shustry, может подойти. Хотя там человек - может кривое зеркало получиться.

Жень, видел картинку да? Там вообще не по ширине тянуть ее нужно, а по высоте :)

Не хотелось бы плагинами пользоваться ибо я все равно не пойму решение проблемы..  да и куда и как данный плагин устанавливать, он под 2.5joomla?!
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Резиновая картинки в шаблоне, как?!
« Ответ #11 : 12.11.2012, 13:59:31 »
Нет, это плагин JQuery. Подключается в шаблон при верстке.
*

mors

  • Захожу иногда
  • 159
  • 1 / 0
Re: Резиновая картинки в шаблоне, как?!
« Ответ #12 : 12.11.2012, 14:02:25 »
больше ничего нельзя придумать?
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Резиновая картинки в шаблоне, как?!
« Ответ #13 : 12.11.2012, 14:10:14 »
Знаете, мы тут все такие придумщики... Вы задали вопрос, мы на него дали ответы. Придумывают стихи, а мы как то больше знаниями оперируем. С шириной картинки дело проще, ее можно растянуть на 100% и она растянется согласно ширины браузера. С высотой такое не пройдет. Можно конечно попробовать обернуть картинку в блок, задать ему ширину картинки, max-height:высота картинки px; и свойство overflow:hidden;position:relative; Затем для картинки указать max-width:100%; Но не ручаюсь, что этот вариант сработает.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Резиновая картинки в шаблоне, как?!
« Ответ #14 : 12.11.2012, 14:12:45 »
Попробуйте вариант с плагином по ссылке Shustry, может подойти. Хотя там человек - может кривое зеркало получиться.

Жень, видел картинку да? Там вообще не по ширине тянуть ее нужно, а по высоте :)
Мужик с гитарой? Теперь видел ^-^. Вообще проще всё намного решается, учитывая, что высота картинки много больше ширины, а по бокам просто чёрная заливка.
Наслаждайтесь
Там, кстати, обёртка одна лишняя у картинки. Щас только дошло, навелосипедил. Ну это уже ТС как домашнее задание.
« Последнее редактирование: 12.11.2012, 14:17:01 от Shustry »
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Резиновая картинки в шаблоне, как?!
« Ответ #15 : 12.11.2012, 14:22:18 »
max-width тоже работает)
*

mors

  • Захожу иногда
  • 159
  • 1 / 0
Re: Резиновая картинки в шаблоне, как?!
« Ответ #16 : 12.11.2012, 15:16:33 »
Мужик с гитарой? Теперь видел ^-^. Вообще проще всё намного решается, учитывая, что высота картинки много больше ширины, а по бокам просто чёрная заливка.
Наслаждайтесь
Там, кстати, обёртка одна лишняя у картинки. Щас только дошло, навелосипедил. Ну это уже ТС как домашнее задание.

ну положение и размер не тот, но это все можно поправить (в общем как вариант)... по мимо него еще есть изображения ведь, все остальное можно таким же способом? 
*

mors

  • Захожу иногда
  • 159
  • 1 / 0
Re: Резиновая картинки в шаблоне, как?!
« Ответ #17 : 12.11.2012, 17:46:12 »
Что-то у меня не получается сделать точно так же. src= - это адрес к картинке? а в ксс что тогда писать?
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Резиновая картинки в шаблоне, как?!
« Ответ #18 : 12.11.2012, 18:07:49 »
Цитировать
Собственно как сделать резиновую картинку в определенном месте шаблона что б размер менялся в зависимости от экрана, но картинка с места никуда не девалась.
Может быть просто вот так?
img {
    max-width: 100%;
    height: auto;
}
*

aspidy

  • Завсегдатай
  • 1008
  • 55 / 1
  • Миграция joomla 1.0-1.5-2.5
Re: Резиновая картинки в шаблоне, как?!
« Ответ #19 : 12.11.2012, 19:12:08 »
Рисуете три картинки: левый край, центр, правый край. Края фиксированные, центр рипид.
Мелкий ремонт. skype poisk-plus
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Резиновая картинки в шаблоне, как?!
« Ответ #20 : 13.11.2012, 00:31:28 »
mors, я ж даже пример сверстал вам. Решение полностью закрывает вопрос темы. Что такое src, как сделать побольше отступы и тому подобное — оффтоп.
aspidy, там не подойдёт этот способ. ТС фактически не нужна полная резина для картинки, а только по-высоте. По-бокам просто чёрный фон. Спозиционировали абсолютно в отдельном слое, выровняли по-центру. Всё.
*

mors

  • Захожу иногда
  • 159
  • 1 / 0
Re: Резиновая картинки в шаблоне, как?!
« Ответ #21 : 13.11.2012, 08:41:23 »
mors, я ж даже пример сверстал вам. Решение полностью закрывает вопрос темы. Что такое src, как сделать побольше отступы и тому подобное — оффтоп.
aspidy, там не подойдёт этот способ. ТС фактически не нужна полная резина для картинки, а только по-высоте. По-бокам просто чёрный фон. Спозиционировали абсолютно в отдельном слое, выровняли по-центру. Всё.

Спасибо большое за такую подсказку! С кодом разобрался, осталось применить в правильном направлении все. Балалаишника можешь удалить)
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Резиновая картинки в шаблоне, как?!
« Ответ #22 : 13.11.2012, 10:11:15 »
Пожалуйста. Удалил.
*

mors

  • Захожу иногда
  • 159
  • 1 / 0
Re: Резиновая картинки в шаблоне, как?!
« Ответ #23 : 14.11.2012, 12:52:51 »
У меня не большая проблема. Модули выводятся под контентом, а если я меняю позицию у контенка "абсолют" на другую, то модули встают по верх контента, но тогда логотипы перестают резиниться и стоять на своем законном месте... пробовал в ксс для модулей выставлять "абсолютную" позиции, но ничего.
Спойлер
[свернуть]
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Резиновая картинки в шаблоне, как?!
« Ответ #24 : 14.11.2012, 13:10:27 »
Это как у вас получилось вывести два раза body? Причёт первый раз в блоке head. :) Нужно было от моего примера отталкиваться. Точно не помню, там примерно так было:
Код: html4strict
<body>
<div id="allsite">тут весь сайт</div>
<div id="bgimg"></div>
</body>
Т.е. вместо «тут весь сайт» нужно было вставить весь сайт: компонент и все позиции модулей. Смысл в том, что эти два блока наслаиваются один на другой. Один служит подложкой, а другой контейнером для всех-всех элементов сайта, кроме фоновой картинки с гитаристом, которую мы поместили в первый.
*

mors

  • Захожу иногда
  • 159
  • 1 / 0
Re: Резиновая картинки в шаблоне, как?!
« Ответ #25 : 15.11.2012, 11:06:15 »
да я пытался сделать модуль по верх)

Вот ваш пример (он и стоит):
Спойлер
[свернуть]
и куда писать позиции для модулей, что бы они были по верх контента не могу сообразить...
*

mors

  • Захожу иногда
  • 159
  • 1 / 0
Re: Резиновая картинки в шаблоне, как?!
« Ответ #26 : 15.11.2012, 11:06:43 »
два сообщения написал случайно
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Резиновая картинки в шаблоне, как?!
« Ответ #27 : 15.11.2012, 11:16:12 »
Это стопудово не мой пример :)
Надо как-то так, если его поправить:
Код: html4strict
<head>
<style>
* {margin:0; padding:0;}
body {width:100%; height:100%; overflow:hidden; background:#000;}
#all-content {position:absolute; top:0; left:0; z-index:2; width:100%; color:#fff;}
#all-bg {position:absolute; top:0; left:67%; z-index:1; width:100%; height:118%; width:50%;}
#all-bg div {width:200%; height:81%; left:-139%; position:relative; text-align:center;}
#all-bg img {height:100%; margin:auto;}
</style>
</head>
<html>
<body>
<div id="all-content">
<!--вот после этой линии и пишем все модули, компоненты и т.д. Выше этой строки не подыматься! Ниже вставил для примера позицию-->
<jdoc:include type="modules" name="sidebar" style="clear" />
<!--…и ниже этой строки не писать никакой отсебятины!-->
</div>
<div id="all-bg"><div><img src="http://localhost/maksim_tuh/templates/maksimtuh/images/logo4.jpg" /></div>
</body>
</html>
*

mors

  • Захожу иногда
  • 159
  • 1 / 0
Re: Резиновая картинки в шаблоне, как?!
« Ответ #28 : 15.11.2012, 11:22:29 »

Он был твой, но после моей обработки он стал неузнаваем :D
Ясно, пошёл взрывать сайт. Спасибо!)
*

mors

  • Захожу иногда
  • 159
  • 1 / 0
Re: Резиновая картинки в шаблоне, как?!
« Ответ #29 : 17.11.2012, 09:36:18 »
как шаблон к пункту меню прикрепить? что, где указывать, какой тип пункта меню? что-то не могу понять.. стиль шаблона указал (новый шаблон) и все...



зы: не по теме вопрос, что б новую тему не создать.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Открываются картинки вместо ссылок

Автор Cherr23

Ответов: 22
Просмотров: 4495
Последний ответ 19.10.2018, 16:12:37
от draff
Картинка в шаблоне

Автор Alkor94

Ответов: 13
Просмотров: 2900
Последний ответ 23.05.2018, 03:04:28
от Alkor94
Добавить позицию модуля в шаблоне traction

Автор amaddeus

Ответов: 1
Просмотров: 1939
Последний ответ 27.04.2017, 22:23:31
от darkghost
Не работает mega menu в шаблоне sj_jare

Автор premisse

Ответов: 5
Просмотров: 4102
Последний ответ 28.02.2017, 21:35:24
от ddenov
Save failed в шаблоне YOO Nano3

Автор svarg

Ответов: 8
Просмотров: 3947
Последний ответ 06.01.2017, 18:34:00
от mogylshik