PHP Özel Kullanıcı CSS?

4 Cevap php

Ben bir kullanıcı birden fazla stilleri arasında seçim sağlayacak benim site üzerine bir özellik eklemek istiyorum. PHP oldukça yeni duyuyorum ama yapılması mümkün olacağını tahmin ediyorum. Ben diğer sitelerde bu özelliği gördüm. Bunu nasıl yapıyor hakkında gitmek ya da birileri bu nasıl yapılabilir bir öğretici ya da rehber bana bakın olabilir? Teşekkür ederim.

4 Cevap

Size başlamak için, sadece stil bağlantı (lar) dinamik yapabilir:

<link rel="stylesheet" href="<?=$style?>" type="text/css"/>

Ve onları değiştirmek bağlantılar sağlar:

<a href="/page.php?theme=racecar">Racecar</a>

Sunucu üzerinde, $style sorgu dizesine göre, aynı zamanda kullanıcının URL'sini değiştirmek için karar vermesi durumunda bir şey varsayılan iyi bir fikir olacağını atayın:

<?php
    $stylesArr = array('racecar', 'magenta', 'cartman');
    if(isset($_GET['theme']) && in_array($_GET['theme'], $stylesArr)) {
        $style = $_GET['theme'] . '.css';
        setcookie("theme", $style, time()+(3600*24*30));//expires in one month
    } else {
        if(isset($_COOKIE['theme']) && in_array($_COOKIE['theme'], $stylesArr)) {
            $style = $_COOKIE['theme'] . '.css';
        } else {
            $style = 'default.css';
        }
    }
?>
<link rel="stylesheet" href="<?=$style?>" type="text/css"/>

Sen sorgu dizesi yoluyla kullanım tarzı yayılmasının olabilir, cookies veya sessions.

Kullanıcıların regitered iseniz kurabiye, ya da veritabanında tarzı konusunda bilgi saklayabilir. Ve sonra değerine bağlı olarak php ile sayfa üzerinde gerekli css dosyası ekleyin.

Sayfalarınız bir kez bir tema bir tanımlama tema depolamak için iyi olabilir nasıl işlenir bağlı aksi halde sayfadaki her link ?theme=racecar eklemek gerekir seçildi.

if(isset($_GET['theme']))
{
    setcookie('theme', $_GET['theme']);
    $style = $_GET['theme'];
}
else if(isset($_COOKIE['theme']))
{
    $style = $_COOKIE['theme'];
}
else
{
    $style = 'default';
}

<link href="/styles/<?php echo $style; ?>.css" rel="stylesheet">

Ben de javascript ile yapılır gördüm.

Birkaç diğer yanıtlar gibi aynı temel fikir: o zaman bir çerez için seçtiğiniz stil yazmak ve sayfa yüklendiğinde yüklemek için hangi stil belirlemek için okudum.

Javascript ile, sayfayı yeniden olmadan stilleri geçiş yapabiliyor olmanın yararı var, ve güzel senin css kurmak eğer, yeni bir stil indirmek zorunda kalmadan vücudun kimliği ya da sınıf gibi bir şey değiştirmek ve yeni bir stili olabilir , bu yüzden stil anahtarı neredeyse anında olur.

Çok tatlı etkisi uygulanması ile iyi şanslar.