Новости Joomla

Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0

Метод registerListeners() в CMSPlugin в плагинах  планируется удалить в Joomla 7.0

👩‍💻 Метод registerListeners() в CMSPlugin в плагинах планируется удалить в Joomla 7.0.Этот метод регистрирует устаревшие слушатели событий в диспетчере, имитируя работу плагинов Joomla! 3.x и ниже для Joomla 4+. По умолчанию этот метод ищет все общедоступные методы, название которых начинается с on. Он регистрирует лямбда-функции (замыкания), которые пытаются преобразовать аргументы отправленного события в аргументы вызова метода и вызвать ваш метод on<Что-то>. Результат передаётся обратно событию в его аргумент result.Теперь этот слой совместимости с устаревшей Joomla 3 помечен к удалению в Joomla 7.0, которая должна выйти осенью 2027 года. Это означает, что те уникальные расширения от Joomla 2.5 / Joomla 3, которые ещё работали на Joomla 4-6 скорее всего окончательно перестанут работать на Joomla 7. Предполагается, что активные разработчики планомерно и постепенно избавляются от технического долга и обновляют свои расширения. @joomlafeed#joomla #разработка #php

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

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
J3.3.6
При разработке компонента в админке для вьюхи делаю фильтрацию. добавляю только поле для поиска, в administrator/components/com_mycomponent/models/forms/form_myview.xml:
Код: xml
  <fields name="filter">
    <field name="search" type="text" label="COM_CONTENT_FILTER_SEARCH_DESC" hint="JSEARCH_FILTER" />
  </fields>
Однако, помимо поля поиска и кнопки "очистить" также появляется кнопка "инструменты поиска", по нажатии на которую - пусто, доп.фильтрация не предусмотрена ТЗ.
Имхо, в этом случае кнопки "инструменты поиска" быть не должно, ибо после нажатия на нее, видя пустоту, невольно неподготовленный пользователь впадает в ступор, ожидая дополнительные условия фильтрации вместо ничего.
Имхо, баг.
Теоретическое решение: при построении всего блока (кстати, где он формируется?) перед его выводом во вьюхах компонентов делать проверку: если кроме поля поиска в списке полей "filter" ничего нет, то кнопку "инструменты поиска" не выводить, как и скрываемый до нажатия на нее блок div.js-stools-container-filters, а все поле поиска выводить так:
Код: php
<div class="btn-wrapper input-append">
<input name="filter[search]" id="filter_search" value="" placeholder="Поиск" type="text">
<button data-original-title="Искать" type="submit" class="btn hasTooltip" title="">
<i class="icon-search"></i>
</button>
<button data-original-title="Очистить" type="button" class="btn hasTooltip js-stools-btn-clear" title="">
<i class="icon-delete"></i>
</button>
</div>
(кнопка очистить перемещена во внутрь input-append, надпись на кнопке "Очистить" заменена на значок-крестик)
« Последнее редактирование: 20.10.2014, 16:08:20 от AlekVolsk »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться