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

Подключение кастомного модуля в DLE


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

Сайт https://iracers.ru

 

Помогите с подключением кастомного модуля в DLE.
Модуль загружается, но контент выводится ДО тега <html>, а не в основном блоке контента сайта.

Что сделано:
1. В `engine.php` добавлен case:

case "game_buy" : 
    include ENGINE_DIR . '/modules/subpages/buy.php';
    break;
Модуль engine/modules/subpages/buy.php:


<?php
if(!defined('DATALIFEENGINE')) die("Hacking attempt!");

$tpl->load_template('games/buy.tpl');

$offers_html = 'test';
$tpl->set('{offers}', $offers_html);

$tpl->compile('content');
echo $tpl->result['content'];
$tpl->clear();

?>


Nginx правило:
nginx
location ~ ^/games/([^/]+)/buy/?$ {
    set $game_alias $1;
    rewrite ^ /index.php?do=game_buy&game=$game_alias last;
}
Проблема:
При переходе на /games/test/buy/ модуль выполняется, но контент выводится в самом верху страницы, до основного HTML.
Если добавить $tpl->compile('main') - контент выводится, но тоже до основного шаблона.

Если убрать echo $tpl->result['content']; то из модуля ничего не выводится.

Вопрос:
Как правильно подключить кастомный модуль, чтобы контент выводился в основном блоке контента сайта,
а не до загрузки шаблона?

Версия DLE: 18.x

Ссылка на сообщение
Поделиться на других сайтах
38 минут назад, Drimerr сказал:

Если убрать echo $tpl->result['content']; то из модуля ничего не выводится.

вообще то нужно просто убрать echo $tpl->result['content']; и все. А если не выводится, то нет тега {content} в основном шаблоне main.tpl. Поэтому проверяйте его наличие, может вы его выводите с какими то ограничениями по разделам.

  • Спасибо 1
Ссылка на сообщение
Поделиться на других сайтах
21 час назад, celsoft сказал:

нет тега {content} в основном шаблоне main.tpl

Действительно так, выводится все тегами {custom}. Соответственно, есть ли способ скомпилировать данные в  шаблон без тега {content}? 

Ссылка на сообщение
Поделиться на других сайтах
57 минут назад, Drimerr сказал:

Соответственно, есть ли способ скомпилировать данные в  шаблон без тега {content}? 

Конечно есть. Компилируете свой модуль уже в свою секцию, и для секции назначаете свой тег в файле который компилирует main.tpl. это engine/modules/main.php

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

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

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

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

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

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

Войти

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

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