php模板添加动态js和css


php template add dynamic js and css

我设计我的php产品页面模板如下:

索引:

<!DOCTYPE html>
<html>
<head>
<link href="/user/admin/templates/css/bootstrap.min.css" rel="stylesheet"> 
<script src="/user/admin/templates/js/jquery-1.10.1.min.js"></script> 
</head>
<body>
<?PHP include ('dynamicpage.php'); //load dynamic page request example: adduser.php ?>
</body>
</html>

我需要在每个dynamicpage.php中添加.js.css文件,如下所示:

adduser.php:

<link href="/user/admin/templates/css/formvalidation.min.css" rel="stylesheet"> 
<script src="/user/admin/templates/js/formvalidation.min.js"></script> 
<?PHP // code + html ?>

addpage.php:

<link href="/user/admin/templates/css/select2.min.css" rel="stylesheet"> 
<script src="/user/admin/templates/js/select2.min.js"></script> 
<?PHP // code + html ?>

现在,我需要将动态页面顶部的动态.js.css打印到<head></head>中,如下所示:

如果我加载addpage.php,我的头模板是:

<link href="/user/admin/templates/css/bootstrap.min.css" rel="stylesheet"> 
<script src="/user/admin/templates/js/jquery-1.10.1.min.js"></script> 
<link href="/user/admin/templates/css/select2.min.css" rel="stylesheet"> 
<script src="/user/admin/templates/js/select2.min.js"></script> 

如果我加载adduser.php,我的头模板是:

<link href="/user/admin/templates/css/bootstrap.min.css" rel="stylesheet"> 
<script src="/user/admin/templates/js/jquery-1.10.1.min.js"></script> 
<link href="/user/admin/templates/css/formvalidation.min.css" rel="stylesheet"> 
<script src="/user/admin/templates/js/formvalidation.min.js"></script> 

如何使用任何php函数或类打印.js.css?!对不起,我是PHP的新用户,对此一无所知。

按照您的设置方式,这是不可能的,相反,您可以将dynamicpage.php的内容设置为一个变量,并在正文中使用该变量。如果您为额外的CSS和JS文件设置了其他变量,您也可以使用这些变量。

dynamicpage.php的内容可能是:

$css = "dynamicpage.css";
$js = "dynamicpage,js";
$content = "<div>blabla</div>";

你的索引文件可能看起来像这样:

<?PHP include ('dynamicpage.php'); ?>
<!DOCTYPE html>
<html>
<head>
<link href="/user/admin/templates/css/bootstrap.min.css" rel="stylesheet"> 
<script src="/user/admin/templates/js/jquery-1.10.1.min.js"></script> 
<link href="/user/admin/templates/css/<?php echo $css; ?>" rel="stylesheet"> 
<script src="/user/admin/templates/js/<?php echo $js; ?>"></script> 
</head>
<body>
<?php echo $content; ?>
</body>
</html>

就像我之前在另一个线程中建议的那样要链接多个文件,请将include放在索引文件的头中,然后您可以通过更新arrays来添加要包含的文件。在include文件中使用此函数,调整路径以适合

 $stylesheets = array('style.css','prettyPhoto.css','nivo-slider.css');
 $scripts = array('core.js','core.js',
                      'jquery-1.4.1.min.js',
                      'jquery-slidedeck.pack.lite.js',
                      'jquery-prettyPhoto.js',
                      'jquery.nivo.slider.js');
foreach($stylesheets as $styles){
   echo "<link rel='stylesheet' type='text/css' href='$styles' />";
 }
 foreach($scripts as $script){
   echo "<script src='$script'></script>";
 }

只需测试以下代码,就会得到结果:

index.php

<?php
  if (isset($_GET['a']) || (!isset($_GET['a']) && !isset($_GET['b']))) {
    include ('link1.php');
  } elseif (isset($_GET['b'])) {
    include ('link2.php');
  }
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Title</title>
  <?=$links?>
</head>
<body>
  <a href="?a">Link 1</a>
  <a href="?b">Link 2</a>
  <?php page(); ?>
</body>
</html>

link1.php

<?php
  $links = 
    '<link rel="stylesheet" href="css/bootstrap.min.css" />
    <link rel="stylesheet" href="css/style.css" />';
  function page() {
?>
  <div>Some HTML code here...</div>
<?php } ?>

link2.php

<?php
  $links = 
    '<link rel="stylesheet" href="css/select2.css" />
    <link rel="stylesheet" href="css/myStyle.css" />';
  function page() {
?>
  <div>Some other HTML code here...</div>
<?php } ?>

将上面的每个代码保存在不同的文件中,并使用与我提供的名称相同的名称,然后在本地或远程服务器中测试它们。

// Dynamic Administration on a Public Hostname (ex: www.example.com)
// Use NO-IP or DYNDNS.ORG for Dynamic Hostname
$conn_ip = $_SERVER['REMOTE_ADDR']; // Your Internet Connection
$host_ip = gethostbyname('your.dynamichost.com'); // Points to your Internet Connection Dynamically
if($conn_ip == $host_ip && $username == "Admin"){
    // Do Admin Stuff
}