PHP | 如果变量等于某个值,我将如何包含特定的 CSS 文件?

我对 PHP 相当陌生,我已经开始从事一个小项目。我希望我的代码能够组织起来,因此我决定将文件container.phtml包含在我的index.php文件中。因此,当 $page = 'login' 时,它将包含login.css和 login.phtml 文件。我希望login.css应用于login.phtml。相反,当我运行程序时,login.css不会在控制台中加载或产生任何错误消息。login.css文件仅适用于container.phtml吗?在保持我希望的工作方式的同时,我可以采取哪些不同的做法?


编辑: $page 变量告诉index.php 它应该包含什么文件。示例:$page = '登录'; 这告诉它获取login.phtml 文件。然后,在container.phtml中,它将检查$page = 'login',然后将包含login.css


索引.php


<?php


if(!isset($_GET['page'])){

    $page = 'home';

}else{

     $page = $_GET['page'];

}


/* Fetch needed files. */

require_once 'app/paths.php';

require_once THEME_LAYOUT_PATH . 'container.phtml';


$pages = array(

'home',

'login',

'register'

);


$layoutPath = 'themes/neutron/layout/' . $page . '/' . $page . '.phtml';


if(in_array($page, $pages)){

    require $layoutPath;

}else{

    require 'themes/neutron/layout/404/404.phtml';

}

?>

容器.phtml


<html>

<title>Neutron</title>

<link rel = "stylesheet" type = "text/css" href = "<?php ASSETS_PATH . 'css/bootstrap.min.css' ?>">

<link rel = "stylesheet" type = "text/css" href = "<?php ASSETS_PATH . 'js/bootstrap.min.js' ?>">

<link rel = "stylesheet" type = "text/css" href = "<?php ASSETS_PATH . 'js/jquery.min.js' ?>">

<?php 

/* Include header, footer, etc */

require_once THEME_LAYOUT_PATH . 'partials/header.php';

require_once THEME_LAYOUT_PATH . 'partials/footer.php';

?>

<?php if($page == 'login'){ ?>

<link rel = "stylesheet" type = "text/css" href = "<?php ASSETS_PATH . 'css/login.css' ?>">

<?php } ?>



</html>



达令说
浏览 67回答 3
3回答

Qyouu

$page = basename($_SERVER['PHP_SELF']); // Current page file name.这将当前页面文件名返回给变量$page,例如index.php,,login.phtml等。将其与if语句结合使用,这样您就可以定义导入哪些样式表。if ($page == "index.php"){&nbsp; &nbsp; echo '<link rel="stylesheet" type="text/css" href="css/style.css" />';}else{&nbsp; &nbsp; echo '<link rel="stylesheet" type="text/css" href="css/style.css" />';}

海绵宝宝撒

您可以使用 switch 语句来作用于某些值switch($page) {&nbsp; &nbsp;case 'login':&nbsp; &nbsp; &nbsp; include 'LOGIN-FILE';&nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp;default:&nbsp; &nbsp; &nbsp; include 'index.php';&nbsp; &nbsp; &nbsp; break;}

幕布斯7119047

ASSETS_PATH 中有什么?在我看来,您的错误可能是 ASSETS_PATH 不是 url?login.css文件仅适用于container.phtml吗?任何加载的 css 都将应用于整个 html。
打开App,查看更多内容
随时随地看视频慕课网APP