- Как поставить дополнительную кнопку в панели инструментов админки Joomla 4
- Файл HtmlView.php
- Вызов и использование хелпера ButtonsHelper
- Дополнительная кнопка в панели инструментов админки Joomla 4 поставлена!
Как поставить дополнительную кнопку в панели инструментов админки Joomla 4
Страницы списка в админке Joomla 4, возвращающие много результатов, обычно имеют виджет разбиения на страницы в нижней части страницы, но не очевидно, сколько именно записей доступно при текущем выборе фильтра выдачи результата. Решение, описанное ниже, построено из компонента, который имеет более десятка представлений списка и включает в себя размещение пользовательской информационной кнопки на панели инструментов.
Файл HtmlView.php
Конец файла HtmlView.php является подходящим местом для пользовательской информационной кнопки об общем количестве записей в выдаваемой таблице, непосредственно перед кодом кнопки справки. Сразу после того, как будет подключена пагинация. Таким образом, код выглядит примерно так:
	public function display($tpl = null)
	{
		....
		$this->pagination    = $this->get('Pagination');
		....
		$this->addToolbar();
		....
	}
	protected function addToolbar()
	{
		....
		$nRecords = $this->pagination->total;
		$toolbar->standardButton('nrecords')
		->icon('fa fa-info-circle')
		->text($nRecords . ' Records')
		->task('')
		->onclick('return false')
		->listCheck(false);
		....
	}Где $toolbar-> выполняет вставку кнопки с необходимой информацией. Для модификации кнопки просто укажите другие параметры, которые сможете найти в этом файле. Есть загвоздка: значок информации имеет основные цвета кнопок. И поскольку этот код будет использоваться много раз, лучше всего поместить его в хэлпер, используя класс ButtonsHelper.
Вызов и использование хелпера ButtonsHelper
Этот код нужно добавить на каждую страницу, для которой требуется количество записей на месте стандартного кода кнопки, показанного выше:
		$nRecords = $this->pagination->total;
		$toolbar->customHtml(ButtonsHelper::getRecordCount($nRecords));И в файле ButtonsHelper есть много кнопок. Это тот участок кода, который используется в этом примере:
class ButtonsHelper {
	...
	public static function getRecordCount($nRecords) {
		$html = '
		<joomla-toolbar-button id="toolbar-record-count" task="">
		<button class="btn btn-info">
		<span class="fa fa-info-circle" aria-hidden="true"></span>
		' . $nRecords . ' Records</button>
		</joomla-toolbar-button>
		';
		return $html;
	}
	...
}И, конечно, слово Records должно быть заменено строковой константой для поддержки мультиязычности сайта.
Дополнительная кнопка в панели инструментов админки Joomla 4 поставлена!
Теперь в верхней части таблицы имеется вывод необходимой для работы с сайтом на CMS Joomla 4 информация об общем количестве записей в таблице:

Перевод с английского официальной документации Joomla 4:
https://docs.joomla.org/Joomla_4_Tips_and_Tricks:_Number_of_Records
 
									 
									




