Новости Joomla

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями 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 Гость просматривают эту тему.
  • 16 Ответов
  • 1254 Просмотров
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Здравствуйте!
Как при копировании информации из одного <select id="one"> ....</select> в новый <select id="two">...</select> создать в новом селекте  поле (chosen) для быстрой выборки из селекта?

Функция копирования:
Код
function CloneSelect(){
var first = document.getElementById('SelectOne');
var options = first.innerHTML;

var second = document.getElementById('SelectTwo');
var options2 = second.innerHTML + options;
second.innerHTML = options2;
}
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Здравствуйте!

Ну :
1.
Что у Вас тут ?
Код
var first = document.getElementById('SelectOne');
var options = first.innerHTML;
// >>>
console.log( options );
// >>>

100% - Эйнштейном клянусь - что var first - не совсем то что нужно ! )


*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Есть возможность посмотреть - то где Вы решаете задачи  ?
Тогда все просто ! - а так - то это как этот фильм

Дальше продолжим !
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Как при копировании информации из одного <select id="one"> ....</select> в новый <select id="two">...</select> создать в новом селекте  поле (chosen) для быстрой выборки из селекта?
Из <select id="SelectOne"> ....</select> в новый <select id="SelectTwo">...</select>
Код
function CloneSelect(){
var first = document.getElementById('SelectOne');
var options = first.innerHTML;

var second = document.getElementById('SelectTwo');
var options2 = second.innerHTML + options;
second.innerHTML = options2;
}
Из <select id="SelectOne"> ....</select> в новый <select id="SelectTwo">...</select>
Код
function CloneSelect(){
var first = document.getElementById('SelectOne');
var options = first.innerHTML;

var second = document.getElementById('SelectTwo');
var options2 = second.innerHTML + options;
second.innerHTML = options2;
}
Из <select id="SelectOne"> ....</select> в новый <select id="SelectTwo">...</select>
Код
function CloneSelect(){
var first = document.getElementById('SelectOne');
var options = first.innerHTML;

var second = document.getElementById('SelectTwo');
var options2 = second.innerHTML + options;
second.innerHTML = options2;
}
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Что-то троекратная вставка получилась, Эйнштейн бы это не одобрил
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
А что мешает second.innerHTML += first.innerHTML если уж такая гулянка пошла?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
 ;D Ну да - Так точнее - но я так думаю что оставили для какой то обработки перед вставкой !
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Код
Что-то троекратная вставка получилась
Работает ! 
 :D
Это я в своем первом вопросе   неправильно id's у селектов написала. У меня в программе всё работало. Вопрос был не в том, как клонировать информацию из одного селекта в другой, а в том, как сделать, чтобы  для второго селекта сохранить/создать возможность быстрого поиска (choosen?). У первого селеста есть такой быстый поиск:
class="sel_inputbox". И есть

Код
 JHtml::_('formbehavior.chosen', 'select.sel_inputbox', null, array('disable_search_threshold' => 0));
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
У второго селекта тоже указан class="sel_inputbox"
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Инициализацию chosen надо делать после изменения состава select:
Код
jQuery('#SelectTwo').chosen({"disable_search_threshold":0,"search_contains":true,"allow_single_deselect":true,"placeholder_text_multiple":"Введите или выберите несколько элементов","placeholder_text_single":"Выберите значение","no_results_text":"Ничего не найдено."});
Если делаете повторную инициализацию chosen (напр. при многократном динамическом изменении селекта), то перед инициализацией надо сперва отключить предыдущий chosen на этом select:
Код
jQuery('#SelectTwo').chosen('destroy');
« Последнее редактирование: 12.09.2021, 10:49:38 от sivers »
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Инициализацию chosen надо делать после изменения состава select:
Код
jQuery('#SelectTwo').chosen({"disable_search_threshold":0,"search_contains":true,"allow_single_deselect":true,"placeholder_text_multiple":"Введите или выберите несколько элементов","placeholder_text_single":"Выберите значение","no_results_text":"Ничего не найдено."});
Если делаете повторную инициализацию chosen (напр. при многократном динамическом изменении селекта), то перед инициализацией надо сперва отключить предыдущий chosen на этом select:
Код
jQuery('#SelectTwo').chosen('destroy');
Спасибо.
А где именно инициализацию надо делать (куда вставить jQuery('#SelectTwo').chosen...?
У меня по нажатию кнопки вызывается  function CloneSelect()
http://web.nioch.nsc.ru/proverka-textarea
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
У меня по нажатию кнопки вызывается  function CloneSelect()
Вот в ту функцию и вставляйте. Сразу после строки second.innerHTML = options2;
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
Вот в ту функцию и вставляйте. Сразу после строки second.innerHTML = options2;
Вот:
Код

function CloneSelect(){
var first = document.getElementById('SelectOne');
var options = first.innerHTML;

var second = document.getElementById('SelectTwo');
var options2 = second.innerHTML + options;

second.innerHTML = options2;
jQuery('#SelectTwo ').chosen('destroy');


jQuery('#SelectTwo ').chosen({"disable_search_threshold":0,"search_contains":true,"allow_single_deselect":true,"placeholder_text_multiple":"Введите или выберите несколько элементов","placeholder_text_single":"Выберите значение","no_results_text":"Ничего не найдено."});

//alert('after jQuery '); 

}
Но ничего не изменилось. Может библиотек не [хватает?
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
jQuery('#SelectTwo ')
пробела перед кавычкой быть не должно.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

GuDeVic

  • Захожу иногда
  • 228
  • 0 / 0
jQuery('#SelectTwo ')
пробела перед кавычкой быть не должно.
Огромное Вам спасибо!
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться