Forums / National / Russian / Сборка «Фриланс-биржа» / Как показать количество пользователей?

deelance
#1 2023-01-16 19:44

Как можно вывести коЛичество пользователей цифрой во фронтенде? Хочу вывести на главной информации о коЛичестве пользователей на главной странице. 

Например

Фрилансеров: 2

 

This post was edited by deelance (2023-01-17 09:02, 1 year ago)
Kort
#2 2023-01-17 08:35

Написать простую функцию с параметром "номер группы", которая и выведет требуемое коЛичество.

SED.by - создание сайтов, разработка плагинов и тем для Котонти
deelance
#3 2023-01-17 09:01
#45845 Kort:

Написать простую функцию с параметром "номер группы", которая и выведет требуемое коЛичество.

Можете, пожалуйста, показать какой-нибудь пример?broken heart 

Думаю другим тоже будет полезно

Kort
#4 2023-01-17 11:17

В php-файл темы (или другой по необходимости):

	function cot_count_users($group) {
	  global $db, $db_users;
		$group = (int)$group ? $group : 4;
		$total = cot::$db->query("
			SELECT COUNT(*)
			FROM $db_users
			WHERE user_maingrp = $group
		")->fetchColumn();
	  return $total;
	}

В шаблон:

{PHP|cot_count_users('5')}

Параметр -- номер группы. Без параметра выведет группу 4 (members)

SED.by - создание сайтов, разработка плагинов и тем для Котонти
This post was edited by Kort (2023-01-17 11:25, 1 year ago)
deelance
#5 2023-01-17 16:30
#45847 Kort:

В php-файл темы (или другой по необходимости):

	function cot_count_users($group) {
	  global $db, $db_users;
		$group = (int)$group ? $group : 4;
		$total = cot::$db->query("
			SELECT COUNT(*)
			FROM $db_users
			WHERE user_maingrp = $group
		")->fetchColumn();
	  return $total;
	}

В шаблон:

{PHP|cot_count_users('5')}

Параметр -- номер группы. Без параметра выведет группу 4 (members)

Спасибо большое!

Kort
#6 2023-01-17 18:19

Добавьте в lang-файл:

$Ls['users'] = 'пользователь,пользователя,пользователей';

а в шаблоне значение функции передайте в cot_declension:

{PHP|cot_count_users(5)|cot_declension($this, 'users')}

Станет еще интереснее

...

или совместить приятное с полезным:

	function cot_count_users($group = 4, $decl = NULL) {
	  global $db, $db_users;
		$group = (int)$group ? $group : 4;
		$total = cot::$db->query("
			SELECT COUNT(*)
			FROM $db_users
			WHERE user_maingrp = $group
		")->fetchColumn();
		$total = is_null($decl) ? $total : cot_declension($total, $decl);
	  return $total;
	}

Тогда в шаблоне можно просто:

{PHP|cot_count_users('5')}
{PHP|cot_count_users('5', 'users')}

 

SED.by - создание сайтов, разработка плагинов и тем для Котонти
This post was edited by Kort (2023-01-17 18:35, 1 year ago)
deelance
#7 2023-01-18 18:53
#45849 Kort:

Добавьте в lang-файл:

$Ls['users'] = 'пользователь,пользователя,пользователей';

а в шаблоне значение функции передайте в cot_declension:

{PHP|cot_count_users(5)|cot_declension($this, 'users')}

Станет еще интереснее

...

или совместить приятное с полезным:

	function cot_count_users($group = 4, $decl = NULL) {
	  global $db, $db_users;
		$group = (int)$group ? $group : 4;
		$total = cot::$db->query("
			SELECT COUNT(*)
			FROM $db_users
			WHERE user_maingrp = $group
		")->fetchColumn();
		$total = is_null($decl) ? $total : cot_declension($total, $decl);
	  return $total;
	}

Тогда в шаблоне можно просто:

{PHP|cot_count_users('5')}
{PHP|cot_count_users('5', 'users')}

 

Огромное Вам спасибо что уделили время! Заодно узнал как работают локали:)