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

deelance
#1 16.01.2023 19:44

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

Например

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

 


Відредаговано: deelance (17.01.2023 09:02, 2 року тому)
Kort
#2 17.01.2023 08:35

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

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

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

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

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

Kort
#4 17.01.2023 11:17

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

PHP
1
2
3
4
5
6
7
8
9
10
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;
}

В шаблон:

XML/XHTML
1
{PHP|cot_count_users('5')}

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

SED.by - создание сайтов, разработка плагинов и тем для Котонти

Відредаговано: Kort (17.01.2023 11:25, 2 року тому)
deelance
#5 17.01.2023 16:30
#45847 Kort:

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

PHP
1
2
3
4
5
6
7
8
9
10
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;
}

В шаблон:

XML/XHTML
1
{PHP|cot_count_users('5')}

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

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

Kort
#6 17.01.2023 18:19

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

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

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

XML/XHTML
1
{PHP|cot_count_users(5)|cot_declension($this, 'users')}

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

...

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

PHP
1
2
3
4
5
6
7
8
9
10
11
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;
}

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

XML/XHTML
1
2
{PHP|cot_count_users('5')}
{PHP|cot_count_users('5', 'users')}

 

SED.by - создание сайтов, разработка плагинов и тем для Котонти

Відредаговано: Kort (17.01.2023 18:35, 2 року тому)
deelance
#7 18.01.2023 18:53
#45849 Kort:

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

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

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

XML/XHTML
1
{PHP|cot_count_users(5)|cot_declension($this, 'users')}

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

...

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

PHP
1
2
3
4
5
6
7
8
9
10
11
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;
}

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

XML/XHTML
1
2
{PHP|cot_count_users('5')}
{PHP|cot_count_users('5', 'users')}

 

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