Перейти к публикации

Как в PHP модуле использовать дополнительные поля?


Рекомендованные сообщения

Приветствую всех! Решил попробовать написать модуль на PHP простой (я очень мало шарю в нем, с gemini что-то получилось). Проблема в том, что я создал доп поле, куда записываю id игры Roblox - placeid. Но как его использовать в php? Код скрипта ниже, пока он статично в переменную записан universeId. Вызываю скрипт так {include file="engine/modules/roblox_game.php"}
 

<?php
if (!defined('DATALIFEENGINE')) die("Go fuck yourself!");

// Жёстко заданный universeId
$universeId = 6280758286;

// Конфиг модуля
$myConfig = array(
    'universeId'  => $universeId,
    'template'    => !empty($template) ? $template : 'roblox_game',
    'cachePrefix' => !empty($cachePrefix) ? $cachePrefix : 'news',
    'cacheSuffix' => !empty($cacheSuffix) ? true : false
);

// Кеш
$cacheName = md5(implode('_', $myConfig));
$myModule = dle_cache($myConfig['cachePrefix'], $cacheName.$config['skin'], $myConfig['cacheSuffix']);

if (!$myModule) {
    $apiUrl = "https://games.roblox.com/v1/games?universeIds=$universeId";
    $response = @file_get_contents($apiUrl);

    if ($response === false) {
        $myModule = "Ошибка при подключении к Roblox API";
    } else {
        $data = json_decode($response, true);

        if (empty($data['data'][0])) {
            $myModule = "Игра не найдена";
        } else {
            $game = $data['data'][0];
            $gameName    = htmlspecialchars($game['name']);
            $visits      = intval($game['visits']);
            $playing     = intval($game['playing']);
            $description = htmlspecialchars($game['description']);

            // Проверка наличия tpl
            if(file_exists(TEMPLATE_DIR.'/'.$myConfig['template'].'.tpl')) {
                if(!isset($tpl)) {
                    $tpl = new dle_template();
                    $tpl->dir = TEMPLATE_DIR;
                }

                // Загружаем шаблон один раз
                $tpl->load_template($myConfig['template'].'.tpl');

                $tpl->set('{game_name}', $gameName);
                $tpl->set('{visits}', $visits);
                $tpl->set('{playing}', $playing);
                $tpl->set('{description}', $description);

                // Компиляция в уникальную переменную
                $tpl->compile('roblox_game_module');
                $myModule = $tpl->result['roblox_game_module'];

                // Очищаем результат шаблона после использования
                unset($tpl->result['roblox_game_module']);
                $tpl->clear();
            } else {
                // Если tpl нет, выводим простой блок
                $myModule = "<b>{$gameName}</b><br>Онлайн: {$playing}<br>Посещений: {$visits}<br>{$description}";
            }
        }
    }

    // Создаём кеш
    create_cache($myConfig['cachePrefix'], $myModule, $cacheName.$config['skin'], $myConfig['cacheSuffix']);
}

// Выводим результат один раз
echo $myModule;
?>

 

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...