私は PHP の初心者で、小さなプロジェクトに取り組み始めました。コードを整理したいので、index.phpファイルに container.phtmlファイルを含めることにしました。したがって、$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 をインクルードします。
index.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>
login.phtml
<div class="login-clean" style="background-color: rgb(255,255,255);">
<form method="post">
<h2 class="sr-only">Login Form</h2>
<div class="illustration"><i class="icon ion-ios-navigate" style="color: #4777f4;"></i></div>
<div class="form-group"><input class="border rounded form-control" type="email" name="email" placeholder="Username"></div>
<div class="form-group"><input class="border rounded form-control" type="password" name="password" placeholder="Password"></div>
<div class="form-group"><button class="btn btn-primary btn-block border rounded" type="submit" style="background-color: #4777f4;">Log In</button></div><a class="forgot" href="#">Forgot Password?</a></form>
</div>