İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

joomla yeni component için dinamik title ve meta

selim61

0
İyinet Üyesi
Onaylı Üye
Katılım
10 Mayıs 2006
Mesajlar
5,299
Reaction score
11
Konum
<?=selim61?>
joomla siteme mamboflashgames bileşeni kurdum, fakat bir sorunum var: oyunlarda ve kategorilerde title ve meta dinamik değil.
Joomlanın title ve meta sistemi nasıl yada nasıl dinamikleştirebilirim?
 

selim61

0
İyinet Üyesi
Onaylı Üye
Katılım
10 Mayıs 2006
Mesajlar
5,299
Reaction score
11
Konum
<?=selim61?>
joomla.php içerisindeki birinci önemdeki sınıfımız (class) mainFrame' dir. mainFrame sınıfı içerisinde joomlanın çalışmasını sağlayan birçok fonksiyon barınmaktadır.

Bunlardan bir tanesi Joomla sitemizin sayfa başlığını oluşturan setPageTitle fonksiyonudur. Kullanımı da oldukça basittir. Örneğin bir bileşen yaptık ve sayfamızda o bileşenin linkine tıklandığında sayfa başlığının değişmesini istiyoruz. O zaman bileşenimizin ana dosyasının içerisine şöyle bir kod koyduğumuzda sayfa başlığının değiştiğini göreceksiniz.
PHP:
global $mainframe;

$mainframe->setPageTitle('Bileşenimizin Adı');

Aynı şekilde bileşenimizin meta etiketlerini de html içerisine koyabiliriz. Örneğin;

$mainframe->addMetaTag('Yapımcı', 'Soner Ekici');

<head>...</head> etiketleri arasına bir kod koymak istersek addCustomHeadTag fonksiyonu bizim işimizi görecektir. Örneğin bileşenimizin bir css dosyası var ve bunu bileşenimizin linki tıklandığında html sayfasına ekletmek istiyoruz. O zaman bileşen ana dosyasına şöyle bir kod eklersek istediğimizi yapmış olacağız;
PHP:
$html = "<link href=\"http://www.siteadresi.com/components/com_bilesen/css/style.css\" rel=\"stylesheet\" type=\"text/css\" />";

$mainframe->addCustomHeadTag($html);

Bu kod sayesinde css dosyalarını sadece kodu koyduğumuz sayfada çağırabilir ve böylece css çakışmalarının önüne geçmiş oluruz. Ayrıca bu kod ile <head>...</head> etiketleri arasına gelen birçok javascript uygulamasının da çakışmasını engelleyerek sitemizin düzgün görünmesini sağlayabiliriz. Bu kodun bir diğer faydalı tarafı ise sitemize çağırdığımız dosya sayısını azaltarak sitemizin açılış hızını arttırabilmemizdir.


Bir diğer faydalı fonksiyon ise sitemizin ayar dosyası olan configuration.php dosyasındaki verileri çekebilen getCfg fonksiyonudur. Örnek verecek olursak, sitemizin adresini belirten $mosConfig_live_site ve sitemizin dizinini söyleyen $mosConfig_absolute_path değerlerini tek bir global tanımlayarak çekelim.

Normalde şöyle bir kod yazımı hatalı olmamakla birlikte fazla kod yazmış olmamız nedeniyle işimizi uzatır;

PHP:
<?php
global $mosConfig_live_site, $mosConfig_absolute_path;

echo "Sitemizin Adresi :".$mosConfig_live_site;
echo "<br />";
echo "Sitemizin Ana Dizini :".$mosConfig_absolute_path;
?>

Bu kod yerine şöyle bir kodlama yapmak daha doğru olacaktır.
PHP:
<?php
global $mainframe;

echo "Sitemizin Adresi :".$mainframe->getCfg('live_site');
echo "<br />";
echo "Sitemizin Ana Dizini :".$mainframe->getCfg('absolute_path');
?>

$mainframe->getCfg() fonksiyonu ile configuration.php içerisindeki herhangi bir değeri alabilmek mümkündür.
http://www.joomlaturkiye.org/content/view/257/1/
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst