CodeIgniter: Как добавить тэг css link в заголовок html-страницы из помощника

У меня есть вспомогательный метод, который отображает некоторые HTML вместе с необходимыми ссылками CSS и JS. Я просто объединяю все теги html и возвращаю встроенную строку. Вспомогательный метод выглядит примерно так:

function display_linkPreview($data = array())
{
    $return = "<link rel=\"stylesheet\" class=\"cssStatics\" type=\"text/css\" href=".base_url()."assets/css/stylesheet.css\" />
        <script type=\"text/javascript\" src=".base_url()."assets/js/linkPreview.js\" ></script>
        <div>blah blah<div></div></div>";
    return $return;
}

И это то, как я собираюсь оказать display_linkPreview в одном из представлений:

echo display_linkPreview($body);

Проблема в том, что весь вывод display_linkPreview, в том числе <link> а также <script> теги будут отображаться в середине HTML-страницы, где я назвал echo, Как я могу изменить display_linkPreview добавить css а также js теги к <head> HTML?

2 ответа

Вы можете использовать просмотр стиля шаблона, например, у вас есть main.php

<html>
.
.
<?php echo $linkPreview ; ?>
</html>

<body>
.
.
<div id='main'><?php $this->load($main); ?></div>
</body>

И ваш контроллер может выглядеть так:

.
.
$data['main'] = "myview";
$data['linkPreview'] = display_linkPreview();

$this->load->vars($data);
$this->load->view('template/main');

Попробуй это link_tag, это поможет вам связать CSS и JS. Что-то вроде этого.

<html>
<head>
    <title></title>
    <?php echo link_tag('resources/style.css');?>
</head>
<body>
<?php 
?>
</body>
</html>

Вот resources это папка, которая содержит файл CSS stlye

Другие вопросы по тегам