PAYLAŞ
Joomla İçerik Başlığında Karakter Sınırlama

İçerik başlıklarınızı belli bir standarda oturtmak istiyorsunuz. Ön sayfada iyi bir görünüm elde ederken bir yandan da adreslerinizin bozulmamasını, içerik sayfasında da içerik başlığının tam manasıyla yer almasını diliyorsunuz. O zaman substr kullanarak içerik başlığınızın sadece istediğiniz kısmını ön sayfada gösterebilirsiniz. Örneğin ilk 10 karakter, ilk 20 karakter gibi. Böylece hem ön sayfa görünümünüz düzgün kalacak hem de aslında içerik başlığı değişmeyecek. Şimdi beraberce içerik başlıklarımızın nasıl ilk 15 karakterini göstereceğimize bakalım. İşlemi sadece ön sayfa için geçerli olacak şekilde yapalım ki içerik sayfasında başlığın tamamı görülebilsin.

İçerik başlıklarınızı belli bir standarda oturtmak istiyorsunuz. Ön sayfada iyi bir görünüm elde ederken bir yandan da adreslerinizin bozulmamasını, içerik sayfasında da içerik başlığının tam manasıyla yer almasını diliyorsunuz. O zaman substr kullanarak içerik başlığınızın sadece istediğiniz kısmını ön sayfada gösterebilirsiniz. Örneğin ilk 10 karakter, ilk 20 karakter gibi. Böylece hem ön sayfa görünümünüz düzgün kalacak hem de aslında içerik başlığı değişmeyecek. Şimdi beraberce içerik başlıklarımızın nasıl ilk 15 karakterini göstereceğimize bakalım. İşlemi sadece ön sayfa için geçerli olacak şekilde yapalım ki içerik sayfasında başlığın tamamı görülebilsin.

Joomla! dizininizde

components/com_content/views/frontpage/tmpl/default_item.php dosyasının 17-18-19-20. satırları şöyledir:

components/com_content/views/frontpage/tmpl/default_item.php dosyasının 17-18-19-20.
17
18
19
20
<?php echo $this->item->title; ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
<?php endif; ?>

 

 

Bunu şöyle değiştirelim:

17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
$gosterilecek =15;
if (strlen($this->item->title) > $gosterilecek) {
echo (substr($this->item->title, 0, $gosterilecek)) . " ... ";
}
else {
echo $this->item->title;
}
?> </a>
<?php else : ?>
<?php
$gosterilecek =15;
if (strlen($this->item->title) > $gosterilecek) {
echo (substr($this->escape($this->item->title),0,$gosterilecek)) . " ... ";
}
else {
echo $this->item->title;
}
?>
<?php endif; ?>

 

Düzenleme aslında güncellemelerde sorun yaşamamak ve aktif temamızla sınırlı tutabilmek için aktif tema klasörümüzde

html/com_content/frontpage/default_item.php dosyasında yapılırsa kalıcı olur. Bu dosya çekirdek dosya olmayıp temanızın üreticisi tarafından override özelliği için hazırlandığından satır numaralarında değişiklik olabilir. Verilen ilk kodu bulmanız ve değiştirmeniz yeterli olacaktır.

Temanızın dosyasında aradığınız kod

Çekirdek dosya yerine tema dosyası düzenlerken satır numarası değişiklik gösterebilir.
17
18
19
20
<?php echo $this->item->title; ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
<?php endif; ?>

 

yerine sadece

Çekirdek dosya yerine tema dosyası düzenlerken satır numarası değişiklik gösterebilir.
17
<?php echo $this->item->title; ?>

olarak da yer alabilir. Bu durumda değiştireceğimiz kısım bu olacaktır.

Eğer temanız override özelliğini html amaçlı kullanmıyorsa html klasörü bulunmayabilir. Böyle temalarda değişiklik ilk gösterdiğimiz şekilde yapılmalı.

 

Bakalım Başlık karakterini sınırlamak hoşunuza gidecek mi. Bu bir sınırlama değil, önsayfada istediğimiz kadarını göstermek olduğundan veritabanında bir işlem yapmamız gerekmiyor. Güle güle kullanın.