如何使用php将一行代码附加到html元素

时间:2011-04-16 08:07:00

标签: php smarty

嗯,我知道我可以用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自动获取它并从模块中加载资源。

我正在努力的一件事是我正在使用.tpl通过Smarty加载我的文件以显示我的标记。那是我唯一正在处理的骚扰者。

我原来的方法就是这个,但是因为我用模板文件做这件事我不知所措。

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 :(得分:0)

我会将您的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>