1

Тема: Внедрение расширения в админку

Вопрос автору движка по горячим следам обновления.

Как это сделать?

Я лично не нашел примера как это сделать.

В файлах start.dat и end.dat нашел теги вывода

echo $ADMIN_HEAD_HTML;

и

echo $ADMIN_END_HTML;

Из файла global.dat выводятся комментарии

// Переменные для расширения админки
$ADMIN_HEAD_HTML = "\n".'<!-- Подключаемые расширения -->'."\n";
$ADMIN_END_HTML = "\n".'<!-- Подключаемые расширения -->'."\n";

В файле System.dat находятся функции вывода

public static function addAdminHeadHtml($html)
    {
        global $ADMIN_HEAD_HTML;
        $ADMIN_HEAD_HTML .= $html."\n";
    }


    public static function addAdminEndHtml($html)
    {
        global $ADMIN_END_HTML;
        $ADMIN_END_HTML .= $html."\n";
    }

Как я понимаю, именно они отвечают за вывод html-кода, собирая его по расширениям.

По аналогии с выводом html из расширения на страницу ($Page->headhtml и $Page->endhtml), в админку панели управления должно выводится из админки расширения.

Но вот в самих расширениях никаких тегов для вывода в админку html-кода я не нашел.

Так как же выводить код в админку?

2

Re: Внедрение расширения в админку

В файле integration_system.php напиши System::addAdminHeadHtml('<script>alert("Hello!!!");</script>');
этот код будет вставляться перед закрывающим тегом </head>
можешь вставлять туда и css чтоб изменить стиль админки

3

Re: Внедрение расширения в админку

System::addAdminEndHtml(); - вставляет код перед закрывающим тегом </body>

4

Re: Внедрение расширения в админку

Ivan, спасибо за ответ. Все работает отлично!

5

Re: Внедрение расширения в админку

В продолжении этой темы. Сейчас файл end.dat выглядит так

<?php
if($status == 'admin'){
?>
</div>
<?php
}
echo $ADMIN_END_HTML;
?>
</body>
</html><?php ob_end_flush();?>

Я думаю, что это не совсем правильно, т.к. при выводе html-кода, например, какого-то блока, он будет виден внизу страницы при авторизации. Более правильным код файла end.dat должен быть таким

<?php
if($status == 'admin'){
?>
</div>
<?php

echo $ADMIN_END_HTML;
}
?>

</body>
</html><?php ob_end_flush();?>

6

Re: Внедрение расширения в админку

согласен , переделаем

7

Re: Внедрение расширения в админку

<?=($status == 'admin')?'</div>'.$ADMIN_END_HTML:''?>
</body>
</html>
<?php
ob_end_flush();