Кнопка на панели инструментов админки Joomla 4 Количество записей для получения информации.

  1. Как поставить дополнительную кнопку в панели инструментов админки Joomla 4
  2. Файл HtmlView.php
  3. Вызов и использование хелпера ButtonsHelper
  4. Дополнительная кнопка в панели инструментов админки 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 информация об общем количестве записей в таблице:

в верхней части таблицы имеется вывод необходимой для работы с сайтом на CMS Joomla 4 информация об общем количестве записей в таблице

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

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )

Войдите чтобы комментировать