• 20-04-2022, 22:43:57
    #1
    İti geceler herkese ben panelden header panel rengi menü rengi sol panellerin rengini yönetim panelinden güncellemek istiyorum fakat hangi yolu izleyeceğimi şaşırdım
    1)style.php dosyası
    2.Panelden güncellenebilen style.css dosyası
    3.) inline css
    3 bana seo açısından uygum gelmedi 1. de yazılım için sorun oluşturur.
    2. seçenekte elimde örnek yok aklıma takılan diğer kısımsa yazma izni vermek sunucuyu savunmasız bırakırmı ?
  • 20-04-2022, 22:49:08
    #2



    işinize yarar mı bilmiyorum ama bakabilirsiniz şöyle bir şey kullanmıştık daha önce.
  • 20-04-2022, 22:53:16
    #3
    bedoso adlı üyeden alıntı: mesajı görüntüle



    işinize yarar mı bilmiyorum ama bakabilirsiniz şöyle bir şey kullanmıştık daha önce.
    peki hocam ben bunu nasıl kullanabilirim? Js bilgim mevcut css de orta seviye ama bunu nasıl kullanacağımın mamtığını anlatabişirsenz çok memnun olurum
  • 20-04-2022, 23:00:17
    #4
    ismail03 adlı üyeden alıntı: mesajı görüntüle
    peki hocam ben bunu nasıl kullanabilirim? Js bilgim mevcut css de orta seviye ama bunu nasıl kullanacağımın mamtığını anlatabişirsenz çok memnun olurum
    <script>var defaulColor ="<?=$setting['theme_color'] ?>"; <!-- Burada veritabanına bağladığımız değişkeni çektik php çok bilmiyorum -->
    document.documentElement.setAttribute('theme', defaulColor); <!-- burada da sayfa açıldığında kullanmak istediğimiz renk grubunu belirledik -->
    </script>

    :root,:root[theme='birinci-renk-paleti'] {--yazi-renk: #0592c6; }
    :root,:root[theme='ikinci-renk-paleti'] {--yazi-renk: #0592c6; }

    /* burada root kısmına tüm css de ortak kullanacağımız bir yazı rengi tanımladık */


    p{
    color: var(--yazi-renk);
    }
    /* burada yazı rengini roottan almasını sağladık */


    anlatabildim mi bilmiyorum ama umarım anlayabilirsiniz
  • 21-04-2022, 03:58:40
    #5
    bedoso adlı üyeden alıntı: mesajı görüntüle
    <script>var defaulColor ="<?=$setting['theme_color'] ?>"; <!-- Burada veritabanına bağladığımız değişkeni çektik php çok bilmiyorum -->
    document.documentElement.setAttribute('theme', defaulColor); <!-- burada da sayfa açıldığında kullanmak istediğimiz renk grubunu belirledik -->
    </script>

    :root,:root[theme='birinci-renk-paleti'] {--yazi-renk: #0592c6; }
    :root,:root[theme='ikinci-renk-paleti'] {--yazi-renk: #0592c6; }

    /* burada root kısmına tüm css de ortak kullanacağımız bir yazı rengi tanımladık */


    p{
    color: var(--yazi-renk);
    }
    /* burada yazı rengini roottan almasını sağladık */


    anlatabildim mi bilmiyorum ama umarım anlayabilirsiniz
    Anladım denicem çok teşekkür ederim
  • 21-04-2022, 15:45:28
    #6
    bedoso adlı üyeden alıntı: mesajı görüntüle
    <script>var defaulColor ="<?=$setting['theme_color'] ?>"; <!-- Burada veritabanına bağladığımız değişkeni çektik php çok bilmiyorum -->
    document.documentElement.setAttribute('theme', defaulColor); <!-- burada da sayfa açıldığında kullanmak istediğimiz renk grubunu belirledik -->
    </script>

    :root,:root[theme='birinci-renk-paleti'] {--yazi-renk: #0592c6; }
    :root,:root[theme='ikinci-renk-paleti'] {--yazi-renk: #0592c6; }

    /* burada root kısmına tüm css de ortak kullanacağımız bir yazı rengi tanımladık */


    p{
    color: var(--yazi-renk);
    }
    /* burada yazı rengini roottan almasını sağladık */


    anlatabildim mi bilmiyorum ama umarım anlayabilirsiniz
    Benim istediğim şey renk ataması yapabilmek bunda sınıflar tanımlıyoruz
  • 22-04-2022, 04:48:44
    #7
    Yazdıklarınızdan css bilginizin söylediğiniz gibi iyi olmadığına inanıyorum. Css dosyasını php üzerinden derlemeninde Seo ile ilgili en ufak bir ilgisi bulunmuyor.

    CSS de "selector" ler vardır class,id v.b..

    Yapacağınız işe örnek vermek gerekirse;

    .color_default
    {
    	color:black;
    }
    .color_red
    {
    	color:red;
    }
    .color_blue
    {
    	color:blue;
    }
    .color_orange
    {
    	color:orange;
    }
    .color_yellow
    {
    	color:yellow;
    }
    .color_green
    {
    	color:green;
    }
    Düz Kullanım

    <b class="color_red">Bu Kırmızı</b> <br>
    <b class="color_blue">Bu Mavi</b>

    PHP Kullanım

    <?php
    
    function html_color($color)
    {
    	$available_colors = array('default','red','blue','orange','yellow','green');
    	if(in_array($color,$available_colors))
    	{
    		return 'color_'.$color.'';
    	}
    	else
    	{
    		return 'color_default';
    	}
    }
    ?>
    
    
    <b class="<?php echo html_color('red'); ?>">Bu Kırmızı</b> <br>
    <b class="<?php echo html_color('blue'); ?>">Bu Mavi</b>


    Buna ek olarak söylediğiniz gibi css dosyasını panelden düzenlenebilirde yapabilirsiniz.
  • 23-04-2022, 00:05:42
    #8
    Riga adlı üyeden alıntı: mesajı görüntüle
    Yazdıklarınızdan css bilginizin söylediğiniz gibi iyi olmadığına inanıyorum. Css dosyasını php üzerinden derlemeninde Seo ile ilgili en ufak bir ilgisi bulunmuyor.

    CSS de "selector" ler vardır class,id v.b..

    Yapacağınız işe örnek vermek gerekirse;

    .color_default
    {
        color:black;
    }
    .color_red
    {
        color:red;
    }
    .color_blue
    {
        color:blue;
    }
    .color_orange
    {
        color:orange;
    }
    .color_yellow
    {
        color:yellow;
    }
    .color_green
    {
        color:green;
    }
    Düz Kullanım

    <b class="color_red">Bu Kırmızı</b> <br>
    <b class="color_blue">Bu Mavi</b>
    PHP Kullanım

    <?php
    
    function html_color($color)
    {
        $available_colors = array('default','red','blue','orange','yellow','green');
        if(in_array($color,$available_colors))
        {
            return 'color_'.$color.'';
        }
        else
        {
            return 'color_default';
        }
    }
    ?>
    
    
    <b class="<?php echo html_color('red'); ?>">Bu Kırmızı</b> <br>
    <b class="<?php echo html_color('blue'); ?>">Bu Mavi</b>
    Buna ek olarak söylediğiniz gibi css dosyasını panelden düzenlenebilirde yapabilirsiniz.
    İlginize teşekkür ederim fakat siz beni net olarak anlamamışsınız benim kastettiğim inline-css/inline-js google botları tarafından sevilmediği ve önerilmediği için sorma ihtiyacı duydum.
    Bahsettiğimiz şekilde tabiiki yapabilirdim veya --root ile de tanımlayabilirdim fakat benim istediğim belirli renk şemasıyla değil Colorpicker ile seçilen renk kodunun direkt etki etmesi içindir.
    Amacım birden fazla renkli bir tema yapmak değil kullanıcı seçimli (Colorpicker ile) bir tema geliştirmek(örnek uygulama)
  • 23-04-2022, 01:05:51
    #9
    ismail03 adlı üyeden alıntı: mesajı görüntüle
    İlginize teşekkür ederim fakat siz beni net olarak anlamamışsınız benim kastettiğim inline-css/inline-js google botları tarafından sevilmediği ve önerilmediği için sorma ihtiyacı duydum.
    Bahsettiğimiz şekilde tabiiki yapabilirdim veya --root ile de tanımlayabilirdim fakat benim istediğim belirli renk şemasıyla değil Colorpicker ile seçilen renk kodunun direkt etki etmesi içindir.
    Amacım birden fazla renkli bir tema yapmak değil kullanıcı seçimli (Colorpicker ile) bir tema geliştirmek
    Tamam aslında yukarıda verdiğim örnekler bunların bir parçasıydı.

    Renk Seçimlerin kullanıcı taraflı olacağını düşünürsek.

    İçeriğin bir adet Box ( Kutu ) ve Kutunun içerisindeki bir yazı içeriğinden oluştuğunu düşünelim.

    custom.css dosyasını kullanıcının seçimine göre düzenlemeniz gerekir.

    Ancak default bir css dosyanız olacak, kullanıcı seçimleri yapmazsa. ( Opsiyonel )

    default.css

    .box
    {
    	width:100px;
    	height:100px;
    	background:#000000;
    }
    .box_p
    {
    	color:#ffffff;
    }

    Kullanıcı seçimlerini yapacak ve işleyecek sayfa

    custom.php

    <form action="#" method="post">
    <fieldset>
      <legend>Kutu Stil Ayarları:</legend>
      <label>Genişlik:</label>
      <input type="text" name="customs[class][box][width]" value="100px"><br><br>
      <label>Yükseklik:</label>
      <input type="text" name="customs[class][box][height]" value="100px"><br><br>
      <label>Arkaplan Renk:</label>
      <input type="color" name="customs[class][box][background-color]"><br><br>
      <label>Yazı Renk:</label>
      <input type="color" name="customs[class][box_p][color]"><br><br>
      <input type="submit" value="Güncelle">
    </fieldset>
    </form>
    <!--
    
    Kullanım Örneği
    
    customs[selector_type][selector_name][attribute]
    // # (id) için Örnek: customs[id][box][background-color]
    -->
    <?php
    
    if($_POST)
    {
    	$custom_css = '';
    	foreach($_POST['customs'] as $selector => $names)
    	{
    		$available_selectors = array('id','class');
    		$replace_selectors = array('#','.');
    		$selector = str_replace($available_selectors,$replace_selectors,$selector);
    
    		foreach($names as $name => $attributes)
    		{
    			$completed_attributes = '';
    			foreach($attributes as $attribute => $value)
    			{
    				$completed_attributes.=''.$attribute.': '.$value.';';
    			}
    			$custom_css.=''.$selector.''.$name.' { '.$completed_attributes.' }'.PHP_EOL;
    		}
    	}
    	
    	/* Örnek Çıktı şöyle birşey olacaktır:
    	.box { width: 100px;height: 100px;background-color: #000000; }
    	.box_p { color: #ffffff; }
    	*/
    	
    	file_put_contents('custom.css',$custom_css);
    }
    ?>

    Site sayfası index.php ( Örnek )

    Zamanı bastırmamızın nedeni yapılan değişikliklerden sonra cachede kalmaması.

    <!DOCTYPE html>
    <html lang="tr">
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
      <title>Default</title>
    	<link rel="stylesheet" href="default.css">
    	<link rel="stylesheet" href="custom.css?v=<?php echo time(); ?>">
    </head>
    <body>
    <div class="box"><p class="box_p">Merhaba hoşgeldin.</p></div>
    </body>
    </html>
    Bu yapıyla ister renk seçimi yaptırın ister genişlik, yükseklik v.b örnekleri geliştirmek size kalmış. Ben işi biraz daha geniş düşünerek hızlı şekilde yazdım kodları. Ben sizin için en iyi örnekleri verdim.

    Umarım başka arkadaşlarında işine yarar.