0

私は 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>
4

3 に答える 3

-1

ASSETS_PATH には何がありますか? あなたのエラーは、ASSETS_PATH が URL ではない可能性がありますか?

login.css ファイルは container.phtml にのみ適用されますか?

読み込まれた css は、html 全体に適用されます。

于 2020-07-31T01:33:12.070 に答える