v2.5.2
Giriş yap

php header.php de her sayfada gereksiz css dosyalarını nasıl ayrıştırabilirim

theviper
568 defa görüntülendi ve 1 kişi tarafından değerlendirildi

php bir site her kategoride farklı css ve js dosyaları çalışıyor

header.php ayırınca her sayfada css dosyaları çağrılmış oluyor.

mesela haberler.php stil yapısı haber.css barındırıyor

<link id="stylecall" rel="stylesheet" href="./css/haber.css?v=1" />

ama oyunlar.php de haber.css yüklenmesi boşyere olmuş oluyor

yani sayfaya göre css dosyası çağırmak nasıl yapılır?

title olayını $title = ""; değişken oluşturup sayfaya göre title girebiliyorum

ama style dosylarını nasıl yapmak lazım çözemedem

yani haberler.php

<?php 

$title = "Güncel Haberler";
 
 include (header.php);


?>

header.php yide

<?php 

<title><?=$title;?></title>

?>
Cevap yaz
Cevaplar (5)
aydinkeskin
893 gün önce

en basitinden de yazayım sana

if(basename($_SERVER["PHP_SELF"]) == basename("iletisim.php")){

// iletişim php sayfasında gözükür sadece.
<script>alert("selam dünya");</script>

}

ebykdrms
959 gün önce

Alında title ile aynı yöntemle yapabilirsiniz.
Hatta aslında bir masterpage oluşturup sayfalarınızı buraya aktarmanız daha da güzel olur.
Böylece header.php, footer.php gibi ayrımlara gitmek zorunda kalmaz ve PHP-HTML ayrımını güçlendirmiş, MVC mantığına yaklaşmış olursunuz.
View sayfanıza göndereceğiniz verileri kendinizce organize edeceğiniz bir değişkene aktarın.

haber.php

$viewBag = [
    'page' => "haber.php",
    'title' => "Güncel Haberler",
    'headTags' => [
        '<link id="stylecall" rel="stylesheet" href="./css/haber.css" />',
        '<link id="stylecall" rel="stylesheet" href="./css/baska.css" />'
    ],
    'footTags' => [
        '<script src="./js/haber.js"></script>',
        '<div>İstenen herhangi bir kod</div>'
    ]
];

include("masterpage.php");

masterpage.php

<html>
    <head>
        <title><?=$viewBag['title']?></title>
        <link id="stylecall" rel="stylesheet" href="./css/master.css" />
        <?=implode($viewBag['headTags'])?>
    </head>
    <body>
        
        <?php include($viewBag['page']) ?>
        
        <script src="./js/jquery3.min.js"></script>
        <script src="./js/master.js"></script>
        <?=implode($viewBag['footTags'])?>
    </body>
</html>

masterpage.php'de kullandığınız tüm $viewBag key'lerini haber.php gibi sayfalarınızda oluşturmalısınız. Mesela haber.php'de footTags kısmına bi'şey eklemek istemiyorsanız bile footTags key'ini oluşturup boş dizi göndermelisiniz. Bu masterpage için bir standart oluşturmuş olacaksınız.

kartal
961 gün önce

//dinamik page.php

```php
$pages = array(
		
		"dashboard.php" => array(

						"slug" => "dashboard.php",
						"title" => "Dashboard"
					),
		"product.php" => array(

						"slug" => "product.php",
						"title" => "Dashboard"
					),
		//bir sayfada birden fazla ilgili script vc için 2. array örneği
		"detail.php" => array(

						"slug" => "detail.php",
						"title" => "Detail",
						"script" => array ("chart"=>"https://cdn.jsdelivr.net/npm/chart.js","analytics"=>"analytics.js"),
						"css" => "detail",
						"" => "detail",
					)
);
					


require("dynamic_head.php");

//head içinde kendine göre uyarla
<title><?php echo $pages[$base]["title"]; ?></title>


foreach($pages[$base]["script"] as $script_key => $script_val){
				if($script_key == "chart"){
					echo'<script Content-Type="application/javascript" src="'.$script_val.'"></script>';
				}
				if($script_key == "analytics"){
					echo'<script Content-Type="application/javascript" src="'.$script_val.'"></script>';
				}
	}
```
kartal
965 gün önce

bunun için http server dan base kullanarak sayfa adını çek kontrol ederken sonra aslında ilkönce
array oluştur başka bir php isimli
pages = sayfa1 sayfa2
switch pages
case : sayfa1
sayfaya ait css veya js

cepten bukadar bilgisayarı açınca daha düzgün yazarım

mubado
966 gün önce

<?php

$title = "Güncel Haberler";
$css = 'haber.css';
$js = 'haber.js'

include (header.php);

?>

<?php

<link rel="stylesheet" href="<?=$css?>">
<script src="<?=$js?>"></script>

?>