Simple Machines Community Forum

SMF Support => Türkçe Bölümü (Turkish) => Language Specific Support => İpuçları ve Hileler => Topic started by: bolubeyi61 on July 13, 2012, 04:42:35 PM

Title: Her kategori için headerde farklı logo görünsün
Post by: bolubeyi61 on July 13, 2012, 04:42:35 PM
Bu mod her boardda farklı logo göstermeye yarar. Ayrıca bu mod sayesinde her board için farklı bir css dosyası oluşturarak forumunuzdaki bölümlere birbirinden farklı görsellik vermeniz mümkündür.

Anlatım sıfır default temaya göre olup farklı temalar için değişiklik arz edebilir.

Modifikasyon index.template.php ve index.css dosyası olmak üzere 2 dosyada değişiklik gerektirmekle beraber bölüm sayısı kadar da css dosyası ve bölüm sayısı kadar da logo oluşturulması gerektirmektedir.

Bazı bölümlerde standart logonuzu kullanmak isteyebilirsiniz. Bu bölümler için ayrıca css dosyası ve logo oluşturmanıza gerek yok.

Demo: http://spinabifidaturkey.com/demo4/index.php

İşlem Basamakları:

index.template.php
Bul:
<div id="top_section">
<h1 class="forumtitle">
<a href="', $scripturl, '">', empty($context['header_logo_url_html_safe']) ? $context['forum_name'] : '<img src="' . $context['header_logo_url_html_safe'] . '" alt="' . $context['forum_name'] . '" />', '</a>
</h1>';


Değiştir:
<div id="top_section">';

Bul:
echo '
<link rel="stylesheet" type="text/css" href="', $settings['theme_url'], '/css/index', $context['theme_variant'], '.css?fin20" />';


Değiştir:
// The ?fin20 part of this link is just here to make sure browsers don't cache it wrongly.
if($GLOBALS['board'] == "1.0" || $GLOBALS['board'] == "2.0" || $GLOBALS['board'] == "3.0")
{
echo'
    <link rel="stylesheet" type="text/css" href="',$settings['theme_url'],'/css/index',$GLOBALS['board'],'.css?fin20" />';
}
else
{
echo'
<link rel="stylesheet" type="text/css" href="', $settings['theme_url'], '/css/index', $context['theme_variant'], '.css?fin20" />';
}


index.css

Bul:
#top_section
{
min-height: 65px;
overflow: hidden;
margin-bottom: 3px;
}


Değiştir:
#top_section
{
min-height: 148px;
overflow: hidden;
margin-bottom: 3px;
    background: url(../images/logolar/diger.png) no-repeat center center;
}


Ekteki sıkıştırılmış dosyanın içinden çıkan logolar isimli klasörü temanızın images klasörüne atın.
Ekteki main_block.png dosyasını mevcut olanla değiştirin.

Daha sonra  hangi bölümlerde farklı logo görünmesini istiyorsak index.template.php dosyasına eklediğimiz kod üzerinde değişiklik yapalım.

Kodumuzun bi parçası şu idi:
if($GLOBALS['board'] == "1.0" || $GLOBALS['board'] == "2.0" || $GLOBALS['board'] == "3.0")

Kod bu haliyle 1, 2 ve 3 idli boardlara girildiğinde farklı logolar göstermeye yarar. Örneğin siz 23 idli boardda da bir başka logonun görüntülenmesini istiyorsunuz. Bu durumda bu kodda şu şekilde değişiklik yapmanız lazım:
if($GLOBALS['board'] == "1.0" || $GLOBALS['board'] == "2.0" || $GLOBALS['board'] == "3.0" || $GLOBALS['board'] == "23.0")

Sıra geldi css dosyalarımızı oluşturmaya. Bir örnekle açıklayalım. Aşağıdaki örnekte 1 idli board için logo ataması yapalım.

index.css dosyamızda şu kodu buluyoruz:
#top_section
{
min-height: 148px;
overflow: hidden;
margin-bottom: 3px;
    background: url(../images/logolar/diger.png) no-repeat center center;
}


Bu kodu şu şekilde değiştirip dosyamızı index1.css olarak farklı kaydedip temamızın css klasörüne atıyoruz.
#top_section
{
min-height: 148px;
overflow: hidden;
margin-bottom: 3px;
    background: url(../images/logolar/bolum_1.png) no-repeat center center;
}


Koddan anlaşılacağı üzere bolum_1.png isimli resim 1 idli kategorinin logo resimi oluyor.

Artık hangi kategorilerde farklı logo göstermek istiyorsanız logolar isimli klasöre bolum_4.png, bolum_5.png isminde resimler oluşturup atarsınız.