PDA


Tüm Versiyonu Göster : OSCommerce de Infobox Yapımı, Kendi infobox larınızı yapabilirsiniz...


KraL
01-11-2007, 00:48
Evet farkettim ki herkes kendi infobox ını yapmak istiyor.. O zaman ben izah ediyim infobox ların nasıl yapılacağını..

Öncelikle infobox ımızın sabit kodlarını boş bir php dosyasına ekleyelim..

<!-- yeni infobox //-->
<tr>
<td>



</td>
</tr>
<!-- yeni infobox_eof //-->


Yukarıdaki kodlar bizim boş infobox ımızı oluşturur.. Şimdi bunu tam olarak oscommerce infobox ı yapabilmek için gerekli kodları yazalım..


<!-- yeni infobox //-->
<tr>
<td>
<?
$info_box_contents = array(); // yeni infobox oluşturalım..
$info_box_contents[] = array('text' => BOX_HEADING_DOVIZ_BOX); //infobox ımıza bir başlık yazalım..

new infoBoxHeading($info_box_contents, true, true); // infobox başlığımız ne şekilde görünecek.. burada göreceğiniz iki adet true değeri var..bunlardan birincisi başlığın sol tarafı diğeri de sağ tarafı..Farkettiniz mi bilmem, oscommerce i ilk kurduğunuz zaman sol taraftaki infobox ların en üsttekinin sol tarafı eğimli sağ tarafı düz dür.Aynı şekilde sağ taraftaki infoboxların da tam tersi. İşte bu iki true değeri bu kısımları belirler.true değeri eğimli olacağını false değeri düz olacağını belirtir. Bir de alışveriş sepetinin ve diğer bazı şnfoboxların sağ tarafında bir ok ve bu oka bağlı bir link vardır.. eğer sizde bu şekilde bir link oluşturmak isterseniz. Bu fonksiyon a bir değer daha göndermek gerekiyor. Örn. new infoBoxHeading($info_box_contents, true, true, 'index.php'); artık infobox ın sağ kenarında bir ok çıkıcak ve bu oka tıklayınca index.php dosyasında gidecek.

// infobox ımızın başlığını oluşturduk şimdi içeriğine geçelim...

$info_box_contents = array();
$info_box_contents[] = array('align' => 'center', // infobox içeriğini ortalıyoruz
'text' => '<table><tr><td>&nbsp;</td><td class="main" align="center"><b>Alis</b></td><td class="main" align="center"><b>Satis</b></td></tr><tr><td><img src="images/infobox/dollar.jpg" width="30" height="30" border="0"></td><td class="main">' . $usd_doviz[1] . '</td><td class="main">' . $usd_doviz[2] . '</td></tr><tr><td><img src="images/infobox/euro.jpg" width="30" height="30" border="0"></td><td class="main">' . $eur_doviz[1] . '</td><td class="main">' . $eur_doviz[2] . '</td></tr></table>'); // bu kısımda tam olarak içeriği belirlediğimiz kısım.


// evet başlığı oluşturduk. içeriği de oluşturduk. geriye tek bir şey kaldı infobox ı tamamlamak.yani yarattığımız bilgiler le yeni bir infobox oluşturmak.

new infoBox($info_box_contents);
?>

</td>
</tr>
<!-- yeni infobox_eof //-->

Evet yukarıda doviz kurlarını gösteren bir infobox hazırladım..Ama daha işim bitmedi. Çünkü bu değişkenlere bir değer atamadım. Onun için bu kodların yukarısı na da kodlar eklemem gerekecek..yani tamamı aşağıdaki gibi olacak.

<?
error_reporting(E_ALL);
function tcmb($bakilacak,$site){
$dosya = @fopen($site, "r");
if ($dosya) {
$geldi = false;
while(!feof($dosya)) {

$satir = fgets($dosya,512);
$code = substr($satir, 0, 3);
if (($code == $bakilacak) && ($geldi == false)) {
$geldi = true;
$sonuc = split("[[:space:]]+" , $satir);
$doviz[1] = substr($sonuc[4], 0, 9);
$doviz[2] = substr($sonuc[5], 0, 9);
$doviz[3] = substr($sonuc[6], 0, 9);
$doviz[4] = substr($sonuc[7], 0, 9);
}

}
return $doviz;
}
}

$usd_doviz = tcmb('USD','http://www.tcmb.gov.tr/kurlar/today.html');
$eur_doviz = tcmb('EUR','http://www.tcmb.gov.tr/kurlar/today.html');
$gbp_doviz = tcmb('GBP','http://www.tcmb.gov.tr/kurlar/today.html');

?>

<!-- doviz_kurlari infobox //-->
<tr>
<td>
<?php
$info_box_contents = array();
$info_box_contents[] = array('text' => BOX_HEADING_DOVIZ_BOX);

new infoBoxHeading($info_box_contents, true, true);

$info_box_contents = array();
$info_box_contents[] = array('align' => 'center',
'text' => '<table><tr><td>&nbsp;</td><td class="main" align="center"><b>Alis</b></td><td class="main" align="center"><b>Satis</b></td></tr><tr><td><img src="images/infobox/dollar.jpg" width="30" height="30" border="0"></td><td class="main">' . $usd_doviz[1] . '</td><td class="main">' . $usd_doviz[2] . '</td></tr><tr><td><img src="images/infobox/euro.jpg" width="30" height="30" border="0"></td><td class="main">' . $eur_doviz[1] . '</td><td class="main">' . $eur_doviz[2] . '</td></tr></table>');

new infoBox($info_box_contents);
?>
</td>
</tr>
<!-- doviz_kurlari infobox eof//-->


Evet artık infobox ımız hazır.. Ama işimiz bununla bitmiyor tabiki. Şimdi bu dosyayı includes/boxes klasörünün içerisine doviz_kurlari.php olarak kaydedelim.. Unutmamamız gereken şey biz bu infobox için bir başlık değeri girmiştik BOX_HEADING_DOVIZ_BOX bunu sisteme tanıtmamız lazım. Bunun için includes/languages/turkish.php dosyasını açıp aşağıdaki kodu ekliyoruz..

define('BOX_HEADING_DOVIZ_BOX', 'Döviz Kurlar&yacute;');

Daha sonra bu info box ı sitemizin hangi tarafında göstereceğimizi belirliyoruz. Eğer sol tarafta görünmesini istiyorsak includes/column_left.php sağ tarafta görünmesini istiyorsak includes/column_right.php dosyasını açıp hangi sırada çıkartıcaksak o sıraya aşağıdaki kodu ekleyelim

require(DIR_WS_BOXES . 'doviz_kurlari.php');

İşte hepsi bu kadar.. Biraz karışık bir anlatım olmuş olabilir..Kusura bakmayın..

Alıntı..

netalan
06-02-2007, 11:43
Dostum anlatımın için teşekkürler.

Yanlız benim bi isteğim olacak ben yeni bi infobox yapmayı beceremedim

Mesela infobox 'un içerisinde bir adet resim olacak ve tıklandıgında ilgili sayfaya yönlenecek.bu şekilde bi infobox lazım bana yardımcı olabilirsen şimdiden çok teşekkürler