Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

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

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 2123 Просмотров
*

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Приветствую! Скачал я бесплатный шаблон Mega Etanol для Joomla 1.7 и вот какая проблема:
При отображении контента в mainbody его закрывает footer. Вот пример:

Ну т.е. контент еще не закончился а на него сверху лег футер.
 Вот что мне в общем пишет FireBug:
Цитировать
<div id="mega_hmainbody" class="mega_mainbody" style="height: 558px; width: 1007px">
<div id="mega_hfooter" class="mega_footer" style="height: 558px; top: 558px; width: 1007px">
Т.е. высота у них фиксированная. Пытался подправить CSS, но ничего не вышло, так как высота шаблона устанавливается JS скриптом.
 У меня вопрос, что сделать чтобы footer наконец таки съехал вниз? И не просто съехал на определенное расстояние (до этого я дошел своим, так сказать умом), а съезжал каждый раз по разному (по содержимому) т.е. фиксировался сразу после того как заканчивается содержимое...
 Прошу помочь!
Вот JS файл с настройками высоты шаблона:
Код
function equalSize(){
//get Height of page
var winW = 0, winH = 0;
if (document.body && document.body.offsetWidth){
winW = document.body.offsetWidth;
winH = document.body.offsetHeight;
}
if (document.compatMode=='CSS1Compat' &&
document.documentElement &&
document.documentElement.offsetWidth ) {
winW = document.documentElement.offsetWidth;
winH = document.documentElement.offsetHeight;
}
if (window.innerWidth && window.innerHeight) {
winW = window.innerWidth;
winH = window.innerHeight;
}

//...
var wbody = document.getElementById('mega_body').offsetWidth - 17 ;
document.getElementById('mega_wwrapper').style.width = wbody + 'px';

if(document.getElementById('mega_hbanner')!= null){
document.getElement('.mega_banner_w').style.width = wbody -460 + 'px';
}
if(document.getElementById('mega_extend1_w')!= null){
document.getElementById('mega_extend1_w').style.width = wbody -460 + 'px';
}
if(document.getElementById('mega_extend2_w')!= null){
document.getElementById('mega_extend2_w').style.width = wbody -460 + 'px';
}
document.getElement('.mega_mainbody_w').style.width = wbody -460 + 'px';
document.getElement('.mega_footer_w').style.width = wbody -460 + 'px';

if((document.getElementById('mega_hbanner')!= null) && (document.getElementById('mega_hextend1')!= null) && (document.getElementById('mega_hextend2')!= null)){
//Extend1
document.getElementById('mega_hextend1').style.height = winH + 80 + 'px';
document.getElementById('mega_hextend1').style.top = winH + 80 + 'px';

//Extend2
document.getElementById('mega_hextend2').style.height = winH + 80 + 'px';
document.getElementById('mega_hextend2').style.top = winH*2 + 160 + 'px';

//Main body
document.getElementById('mega_hmainbody').style.height = winH + 80 + 'px';
document.getElementById('mega_hmainbody').style.top = winH*3 + 240 + 'px';

//Footer
document.getElementById('mega_hfooter').style.height = winH + 80 + 'px';
document.getElementById('mega_hfooter').style.top = winH*4 + 320 + 'px';

document.getElementById('mega_top_onclick').style.bottom = 0 + 'px';
//Set width
document.getElementById('mega_hextend1').style.width = wbody + 'px';
document.getElementById('mega_hextend2').style.width = wbody + 'px';
document.getElementById('mega_hmainbody').style.width = wbody + 'px';
document.getElementById('mega_hfooter').style.width = wbody + 'px';

document.getElementById('mega_wwrapper').style.height = winH*5 + 320 + 73 + 'px';

}else if((document.getElementById('mega_hbanner')!= null) && (document.getElementById('mega_hextend1')!= null) && (document.getElementById('mega_hextend2') == null)){

//Extend1
document.getElementById('mega_hextend1').style.height = winH + 80 + 'px';
document.getElementById('mega_hextend1').style.top = winH + 80 + 'px';

//Main body
document.getElementById('mega_hmainbody').style.height = winH + 80 + 'px';
document.getElementById('mega_hmainbody').style.top = winH*2 + 160 + 'px';

//Footer
document.getElementById('mega_hfooter').style.height = winH + 80 + 'px';
document.getElementById('mega_hfooter').style.top = winH*3 + 240 + 'px';

document.getElementById('mega_top_onclick').style.bottom = 0 + 'px';

//Set width
document.getElementById('mega_hextend1').style.width = wbody + 'px';
document.getElementById('mega_hmainbody').style.width = wbody + 'px';
document.getElementById('mega_hfooter').style.width = wbody + 'px';

document.getElementById('mega_wwrapper').style.height = winH*4 + 240 + 73 + 'px';

}else if((document.getElementById('mega_hbanner')!= null) && (document.getElementById('mega_hextend1') == null) && (document.getElementById('mega_hextend2')!= null)){
//Extend2
document.getElementById('mega_hextend2').style.height = winH + 80 + 'px';
document.getElementById('mega_hextend2').style.top = winH + 80 + 'px';

//Main body
document.getElementById('mega_hmainbody').style.height = winH + 80 + 'px';
document.getElementById('mega_hmainbody').style.top = winH*2 + 160 + 'px';

//Footer
document.getElementById('mega_hfooter').style.height = winH + 80 + 'px';
document.getElementById('mega_hfooter').style.top = winH*3 + 240 + 'px';

document.getElementById('mega_top_onclick').style.bottom = 0 + 'px';

//Set width
document.getElementById('mega_hextend2').style.width = wbody + 'px';
document.getElementById('mega_hmainbody').style.width = wbody + 'px';
document.getElementById('mega_hfooter').style.width = wbody + 'px';

document.getElementById('mega_wwrapper').style.height = winH*4 + 240 + 73 + 'px';

}else if((document.getElementById('mega_hbanner')!= null) && (document.getElementById('mega_hextend1') == null) && (document.getElementById('mega_hextend2') == null)){
//Main body
document.getElementById('mega_hmainbody').style.height = winH + 80 + 'px';
document.getElementById('mega_hmainbody').style.top = winH + 80 + 'px';

//Footer
document.getElementById('mega_hfooter').style.height = winH + 80 + 'px';
document.getElementById('mega_hfooter').style.top = winH*2 + 160 + 'px';

document.getElementById('mega_top_onclick').style.bottom = 0 + 'px';

//Set width
document.getElementById('mega_hmainbody').style.width = wbody + 'px';
document.getElementById('mega_hfooter').style.width = wbody + 'px';

document.getElementById('mega_wwrapper').style.height = winH*3 + 160 + 73 + 'px';

}else if((document.getElementById('mega_hbanner') == null) && (document.getElementById('mega_hextend1')!= null) && (document.getElementById('mega_hextend2')!= null)){
//Extend2
document.getElementById('mega_hextend2').style.height = winH + 80 + 'px';
document.getElementById('mega_hextend2').style.top = winH + 80 + 'px';

//Main body
document.getElementById('mega_hmainbody').style.height = winH + 80 + 'px';
document.getElementById('mega_hmainbody').style.top = winH*2 + 160 + 'px';

//Footer
document.getElementById('mega_hfooter').style.height = winH + 80 + 'px';
document.getElementById('mega_hfooter').style.top = winH*3 + 240 + 'px';

document.getElementById('mega_top_onclick').style.bottom = 0 + 'px';
//Set width
document.getElementById('mega_hextend1').style.width = wbody + 'px';
document.getElementById('mega_hextend2').style.width = wbody + 'px';
document.getElementById('mega_hmainbody').style.width = wbody + 'px';
document.getElementById('mega_hfooter').style.width = wbody + 'px';

document.getElementById('mega_wwrapper').style.height = winH*4+ 240 + 73 + 'px';

}else if((document.getElementById('mega_hbanner') == null) && (document.getElementById('mega_hextend1') == null) && (document.getElementById('mega_hextend2')!= null)){

//Main body
document.getElementById('mega_hmainbody').style.height = winH + 80 + 'px';
document.getElementById('mega_hmainbody').style.top = winH + 80 + 'px';

//Footer
document.getElementById('mega_hfooter').style.height = winH + 80 + 'px';
document.getElementById('mega_hfooter').style.top = winH*2 + 160 + 'px';

document.getElementById('mega_top_onclick').style.bottom = 0 + 'px';

//Set width
document.getElementById('mega_hmainbody').style.width = wbody + 'px';
document.getElementById('mega_hfooter').style.width = wbody + 'px';

document.getElementById('mega_wwrapper').style.height = winH*2 + 160 + 73 + 'px';

}else if((document.getElementById('mega_hbanner') == null) && (document.getElementById('mega_hextend1')!= null) && (document.getElementById('mega_hextend2') == null)){
//Main body
document.getElementById('mega_hmainbody').style.height = winH + 80 + 'px';
document.getElementById('mega_hmainbody').style.top = winH + 80 + 'px';

//Footer
document.getElementById('mega_hfooter').style.height = winH + 80 + 'px';
document.getElementById('mega_hfooter').style.top = winH*2 + 160 + 'px';

document.getElementById('mega_top_onclick').style.bottom = 0 + 'px';

//Set width
document.getElementById('mega_hmainbody').style.width = wbody + 'px';
document.getElementById('mega_hfooter').style.width = wbody + 'px';

document.getElementById('mega_wwrapper').style.height = winH*2 + 160 + 73 + 'px';

}else if((document.getElementById('mega_hbanner') == null) && (document.getElementById('mega_hextend1') == null) && (document.getElementById('mega_hextend2') == null)){
//Main body
document.getElementById('mega_hmainbody').style.height = winH + 80 + 'px';

//Footer
document.getElementById('mega_hfooter').style.height = winH + 80 + 'px';
document.getElementById('mega_hfooter').style.top = winH + 80 + 'px';

document.getElementById('mega_top_onclick').style.bottom = 0 + 'px';

//Set width
document.getElementById('mega_hmainbody').style.width = wbody + 'px';
document.getElementById('mega_hfooter').style.width = wbody + 'px';

document.getElementById('mega_wwrapper').style.height = winH*2 + 80 + 73 + 'px';
}
}
window.addEvent ('load', function() {
equalSize();
});
*

AlexSF

  • Давно я тут
  • 678
  • 68 / 0
  • В споре истина рождается
Re: Растянуть блок шаблона по высоте
« Ответ #1 : 31.08.2011, 14:18:18 »
ошибся
« Последнее редактирование: 31.08.2011, 14:40:01 от AlexSF »
Задаёте вопрос - не забудьте приложить ссылку на проблемный сайт
При проблеме с CSS рекомендую использовать Mozilla Firefox и её плагин FireBug
И по максимуму изучите, или поставьте в закладки - http://htmlbook.ru/css
Notepad++ поможет почти в любом деле
*

FireFreak

  • Новичок
  • 1
  • 0 / 0
Re: Растянуть блок шаблона по высоте
« Ответ #2 : 09.04.2012, 22:03:50 »
Подскажите и мне, пожалуйста. Та же самая проблема.
Я новичок в Joomla. Облазил все форумы, а ответа так и не нашел. Два дня парюсь (
*

k2000

  • Новичок
  • 1
  • 0 / 0
Re: Растянуть блок шаблона по высоте
« Ответ #3 : 10.09.2012, 17:17:13 »
так и не нашли решение?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

На локал сервере страницы сайта без шаблона, CSS и картинок

Автор Fati

Ответов: 0
Просмотров: 2468
Последний ответ 15.06.2025, 11:57:45
от Fati
Изменение шаблона Joomla! 2.5.24

Автор SecondPC

Ответов: 0
Просмотров: 6102
Последний ответ 26.03.2021, 18:09:33
от SecondPC
Руководство - создание шаблона для Joomla 2.5

Автор dynamit

Ответов: 6
Просмотров: 33050
Последний ответ 02.02.2020, 22:28:15
от AlinaBut
Ошибка при установке шаблона - Fatal error: Call to a member function setDebug() on a non-object in

Автор Mirotvoretz

Ответов: 33
Просмотров: 70444
Последний ответ 11.11.2018, 13:22:26
от vik38
При установки шаблона ошибка <<HTTP 500 (Internal Server Error)>>

Автор nekitko

Ответов: 16
Просмотров: 17601
Последний ответ 21.06.2017, 20:39:11
от bonny