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

  1. Как поставить дополнительную кнопку в панели инструментов админки Joomla 4
  2. Файл HtmlView.php
  3. Вызов и использование хелпера ButtonsHelper
  4. Дополнительная кнопка в панели инструментов админки Joomla 4 поставлена!

Старт! Честный VDS/VPS, на котором «Лунная База» живет уже 20+ лет

Задумываетесь о том, чтобы поднять свой pet-проект, сайт клиента или настроить окружение для разработки? Уже пора подумать, где арендовать железо.

Лунная База хостится на FirstVDS более 20 лет. Мыслей о том, чтобы перебраться на другой хостинг, не было ни разу (хотя опыт работы с другими вариантами, конечно, есть).

Бывали разные ситуации, но они бывают на любом железе. Главное, что нужно понять: здесь нет маркетинговой шелухи и сказок про «мы всё сделаем за вас». Если вы берете VDS — вам дают полный root, возможность накатить любую ОС и не лезут в ваши конфиги.

Если в саппорт написать с вопросом по вашему коду и получить ответ: «Читайте документацию и разбирайтесь сами» или «Обратитесь к профильному специалисту» — это не повод обижаться. Это повод углубить свои знания в DevOps и сайтостроении! Бегите от тех, кто пообещает: «Мы всё чиним и настраиваем абсолютно бесплатно!». Никто никогда не работает «по доброте душевной» в ущерб себе, а бесплатный сыр в администрировании обычно заканчивается сломанной базой данных.

Что по факту: Гибкое масштабирование ядер и RAM, экономия по сравнению с физическими серверами и адекватная панель ispmanager, если она вам нужна.



Как поставить дополнительную кнопку в панели инструментов админки 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

Самый честный хостинг за 20+ лет существования Лунной Базы

Задумываешься о том, чтобы поднять свой сайт в Интернете? Уже пора подумать о том, какой хостинг выбрать?

Лунная База хостится 20+ лет на firstDVS. При этом, мыслей о том, чтобы перебраться на другой хостинг не было. (Но, при этом есть опыт работы с другими вариантами.)

Бывали с firstDVS разные ситуации, но, они бывают на всех хостингах. Единственное, что тут важно понять, - это то, что никто ничего тебе не будет впаривать... Но, и работать за тебя тоже никто не станет. Если в саппорт ответили: «Читайте по ссылке и разбирайтесь сами...» или вообще «Обратитесь за помощью к специалисту», - это повод углубить свои знания в области сайтостроения, а не бежать к тем, что пообещают: «Мы всё чиним и всё делаем за своих клиентов абсолютно бесплатно!» Никто никогда ничего ни за кого "по доброте душевной" не делал, не делает и не будет делать!

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню