From: Nuri Akman (nuri.akman@hazine.gov.tr)
Date: Fri 16 Feb 2007 - 09:37:55 EET
Arkadaşlar,
Ben şu şekilde böir çözüm geliştirdim. Belki kullanmak isteyen birisi
olabilir düşüncesiyle sizlerle de paylaşmak istedim.
Şunu yaptım: .CSS dosyası içinde değişmesini istediğim yerlere
database'deki alan (field) adını verdim. Herhangi bir karışıklığı
engellemek için de bu alan adının sonuna *#* karakteri ekledim.
Sonra, database içindeki tüm field'lar için dönen bir loop yaptım ve
alan adı "css_" ile başlayanları str_replace komutu ile değiştirdim.
Sanırım ilerleyen günlerde bu ürettiğim çıktıyı da database'e koyup
Sn.EREN'in tavsiyesini de yerine getirerek güzel bir fonksiyonalite
katmış olabileceğim.
Örnek dosyalar aşağıda:
*index.php içindeki kod:*
<link href="*modul.css.php*" rel="stylesheet" type="text/css" />
*modul.css.php dosyası içindeki kod*
$query_rsGenel = "SELECT * FROM genel_ayarlar";
$rsGenel = $cnnKSE->SelectLimit($query_rsGenel) or die($cnnKSE->ErrorMsg());
*$CSSFileName* = "css/css.css";
*$CSSFileContent* = file_get_contents($CSSFileName);
if( strlen($CSSFileContent) > 0 ) { // dosya içeriği dolu ise..
foreach($rsGenel->fields as $key => $value) {
if(substr($key, 0,4) == "css_") { //echo $key."<br>";
$CSSFileContent = str_replace($key . "#",
$rsGenel->Fields($key), $CSSFileContent);
}
}
}
echo $CSSFileContent;
*css/mycss.css dosyası içindeki bölüm*
BODY { /* Sayfa Geneli Ayarları */
background-image: url(*css_site_zemin_image*#);
background-color: *css_site_zemin_rengi*#;
font-family:Geneva, Arial, Helvetica, sans-serif;
font-size:13px;
color:#333333;
}
.UstBanner {
border-bottom: #CCCCCC 1px solid;
border-top: #CCCCCC 1px solid;
padding-top:10px;
padding-bottom:10px;
background-color:* css_site_genel_cizgi_rengi*#;
color:#FFFFFF;
}
*Sevgiler,
Nuri AKMAN*
Timu EREN yazmış:
> Perşembe 15 Şubat 2007 10:19 tarihinde, Nuri Akman şunları yazmıştı:
>
>> Merhaba,
>>
>> Benim aklımdan geçenler:
>>
>> 1.) CSS dosyasını olduğu gibi kullanıcıya gösterip EDIT edebilmesini
>> sağlamak ve edit ederse bunu o kişinin tercihleri içinde kaydetmek,
>> 2.) CSS dosyasının tamamını (Ümit Beyin Örneğinde olduğu gibi) kendim
>> üretmek,
>> 3.) CSS içindeki değişmesini istediğim bölümlere {{KOD1}} gibi bir ifade
>> yazıp, PHP içinde str_replace() komutu ile bunları değiştirerek.
>>
>> Verilen cevaplara baktıktan sonra yukarıda sıraladığım son maddenin
>> yapılması çok daha rahat olacağını düşünüyorum.
>>
>
> Neden her request için aynı işlemi tekrar tekrar process etme gereği
> hissediyorsunuz? Buun yerine kullanıcı tüm ayarlarını bitirdiğinde bir
> dosyaya render edip yazsanız ve bunuda css/user/username/username.css ismi
> ile kaydetseniz hem sunucuya az yük biner hemde cevap süresini kısaltmış
> olursunuz?
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama