Как я могу добавить строку кода в элемент HTML, используя PHP - PullRequest
0 голосов
/ 16 апреля 2011

хммм, я знаю, что могу сделать это с помощью jquery, но я пытаюсь не использовать javascript и вместо этого использовать php.

У меня есть иерархия папок, подобная этой

modules
 |-navagation
    |-js
       |-nav.js

, и я хочу найти способ добавить этот файл .js к

 <head></head>

вот так

<html>
    <title></title>
    <head>
        <script scr="jquery.js"></script>
        <script src="nav.js"></script>
    </head>
</html>

Моя цель состоит в том, чтобы я хотел выгрузить модули в папки своих модулей и заставить php автоматически подобрать его и загрузить ресурсы из модулей.

Одна вещь, котораяЯ борюсь с тем, что я загружаю свои файлы через Smarty, используя .tpl для отображения моей разметки.Это единственный берьер, с которым я имею дело.

Мой оригинальный метод был такой, но я делаю это с файлами шаблонов, и я в растерянности.

ob_start();
include(THEME_PATH . "/index.html");
$content = ob_get_contents();
ob_end_clean();

// Scripts to include
$scripts = BaseHelper::include_script("http://code.jquery.com/jquery-1.4.2.min.js");
$scripts .= BaseHelper::include_script("js/jquery.sound.js");
$scripts .= BaseHelper::include_script("js/jquery.jblock.js");
$scripts .= BaseHelper::include_script("js/init.js");

// Add scripts to theme
echo str_replace("</head>", $scripts . "\n</head>", $content);

1 Ответ

0 голосов
/ 16 апреля 2011

Я бы превратил вашу страницу шаблона index.html в страницу php, создавал ваши сценарии до изменения var перед включением шаблона, а затем отображал их из включенного файла шаблона:

ob_start();
// Scripts to include
$scripts = BaseHelper::include_script("http://code.jquery.com/jquery-1.4.2.min.js");
$scripts .= BaseHelper::include_script("js/jquery.sound.js");
$scripts .= BaseHelper::include_script("js/jquery.jblock.js");
$scripts .= BaseHelper::include_script("js/init.js");
include(THEME_PATH . "/index.php");
$content = ob_get_contents();
ob_end_clean();

index.php:

<head>
<?php echo $scripts ?>
</head>
...