- Совместимость с XenForo
- 2.0
- Видимый копирайт
- Нет
Аддон больше не поддерживается! Используйте Criteria Builder!
Этот аддон позволяет создавать сложные критерии для продвинутых достижений/повышений с помощью PHP кода.
Например, вы можете использовать в качестве критериев:
- Количество тем, которые пользователь создал в определенном форуме
- Подписи пользователей
- Количество лайков под одним сообщением
- Данные из других аддонов (например, Resource Manager или Question Threads)
- Количество изменений поста пользователем
- ...
Более того, можно комбинировать стандартные критерии xenForo и ваш PHP код.
Теперь ваши возможности ограничены только вашей фантазией!
Все мои аддоны бесплатные...
Но если вы хотите
- Быть в курсе всех новостей о разработке новых аддонов
- Предлагать и голосовать за создание будущих аддонов
- Получать бета-версии
- Использовать новые аддоны еще до их официального выхода
Установка
- Скачайте аддон и разархивируйте его куда-нибудь
- Откройте папку upload и переместите находящуюся внутри папку src в корневую директорию вашего форума
- В админ-панели перейдите в секцию "Аддоны" и установите аддон "PHP Criteria"
При создании достижения/повышения вы увидите новую вкладку "PHP-обработчик":
В этой вкладке вы можете указать путь до
.php
класса и конкретный метод для выполнения:Например, исходя из данных на картинке выше, нужно создать файл
Criteria.php
по пути src/addons
со следующим содержимым:
PHP:
<?php
class Criteria
{
public static function trophy_AllForOne(\XF\App $app, \XF\Entity\User $user)
{
//
// КОД ВАШИХ КРИТЕРИЕВ НИЖЕ
//
// Получаем базу данных
$db = $app->db();
// Запрос к базе данных для получения максимального количества лайков на сообщении пользователя
$query = "SELECT `likes` FROM `xf_post` WHERE `user_id` = ? ORDER BY `likes` DESC LIMIT 1";
// Получение максимального количества лайков из базы данных
$likes = $db->fetchOne($query, [$user->user_id]);
// Проверка корректности полученного значения (мы ожидаем число)
if(is_int($likes))
{
// Возвращаем ИСТИНУ, если у пользователя есть сообщение с 5 и более лайками и ЛОЖЬ, если такого нет
return ($likes >= 5);
}
else
{
return false;
}
}
}
Каждый метод должен принимать два параметра:
\XF\App $app
и \XF\Entity\User $user
.Не забывайте, что вы можете комбинировать свой код со стандартными критериями xenForo.
Не стоит реализовывать стандартные критерии в своем коде. Лучше выделите их галочками в соответствующей вкладке.
Примеры
После установки аддона вы увидите новый файл
PHPCriteria.examples.php
по пути src/addons
.В нем содержится три примера PHP критериев с детальными пояснениями!
Можете использовать эти примеры в качестве основы для создания своих собственных.
Вы также можете хранить свои PHP критерии в файле
PHPCriteria.php
, который тоже создается автоматически после установки аддона.Все мои аддоны бесплатные...
Но если вы хотите
- Быть в курсе всех новостей о разработке новых аддонов
- Предлагать и голосовать за создание будущих аддонов
- Получать бета-версии
- Использовать новые аддоны еще до их официального выхода