0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 2187 Просмотров
*

Виталик1985

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Вопрос вот в чем. Хочу ограничить количество добавляемых материалов пользователем.
Для этого как понимаю нужно получить общее количество всех его материалов и если оно превышает разрешенное, то, соответственно, сделать добавление материала невозможным.

Как я могу получить это количество используя код?
Подскажите, поажалуйста...
*

SeBun

  • BanMaster
  • 4015
  • 259 / 5
  • @SeBun48
Запросом в базу данных. Вы пишите модуль?
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Виталик1985

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Нет... не модуль.
мне нужно сделать условие на странице добавления материала, если пользователь например добавил уже 3 материала, то ему больше нельзя их добавлять.
Для этого хочу получить именно количество материалов конкретного пользователя.
запрос не подскажете?
*

SeBun

  • BanMaster
  • 4015
  • 259 / 5
  • @SeBun48
Не подскажу - нет под рукой возможности потестить код. Вот пример:

Код
$db = JFactory::getDbo();
$query = $db->getQuery(true);
 
$query->select('COUNT(b.id)'); // меняете тут на свои таблицы
$query->from('#__categories AS a');
$query->join('LEFT', '#__content AS b ON b.catid = a.id');
$query->where('a.parent_id = 1');
$db->setQuery($query);
$count = $db->loadResult();


Этот запрос возвращает количество материалов в категории. Замените на свой. Справочник по MySQL и по работе с JDatabase в помощь.
Шпаргалка: у вас, скорее всего, будет запрос по ID пользователя. Получить его можно так:
Код
$user = &JFactory::getUser();
$id = $user->id;

Справочку можно почитать тут.
« Последнее редактирование: 13.08.2015, 12:43:42 от SeBun »
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Виталик1985

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Все оказалось намного проще))))

вот код, который выводит количество материалов пользователя....

Код
<?php echo count($this->items)?>
*

Виталик1985

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
И так. решил свой вопрос. спасибо большое за подсказки
опишу решение

получаем количество материалов пользователя
Код
<?php 
$db = JFactory::getDBO();
$user = JFactory::getUser();
$id = $user->id;
$db->setQuery("SELECT id FROM #_k2_items WHERE created_by ='$id' ORDER BY id ASC");
$db->query();
$user_item = $db->getAffectedRows ();
echo $user_item;
?>

Для того что бы ограничить количество добавляемых материалов пользователя
в файл itemform.php вставляем условие

Код
<?php if ($user_item > 2) { // тут 2 - это ограничение на материалы?>
    Тут текст если у пользователя больше 2х материалов
<?php } else { ?>
    Тут форма добавления материала
<?php ?>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Не решено] Вывод дополнительных полей в админке в списке материалов

Автор Babyaka

Ответов: 29
Просмотров: 3596
Последний ответ 20.01.2022, 17:58:23
от NIKOLY
Вывод доп. полей для материалов выведенных по тегу (на странице материала)

Автор vi3dok

Ответов: 0
Просмотров: 2327
Последний ответ 03.09.2014, 14:53:06
от vi3dok
Счетчик материалов в меню

Автор prostouser

Ответов: 5
Просмотров: 3329
Последний ответ 16.11.2013, 19:11:45
от serhy
Модификация вывода списка материалов

Автор alexspi

Ответов: 1
Просмотров: 1512
Последний ответ 20.10.2013, 14:58:17
от asdf27
Различные изображения для списка материалов категории и в теле материала

Автор Hol1killer

Ответов: 1
Просмотров: 1405
Последний ответ 01.10.2013, 10:13:07
от wedford