Yazar İsmi Yerine Yazarın Kullanıcı Adını Göstermek
| Joomla! Kodlama |
Bildiğiniz gibi Joomla!'da bir içerik girdiğinizde, eğer bunu gösterecek menü öğesinin ayarlarında yazar isminin gösterilmesi seçilmişse, içeriğin başlığı ile içerik metni arasında yazarına yer verilir. Yazar adı bir içerik için 2 şekilde gösterilebilir. Bunlardan ilki, varsayılanda olduğu haliyle, yani yazarın sistemdeki asıl ismidir. Örneğin benim yazılarımda Aytuğ Halil AKAR gözükür. Oysa kullanıcı adım farklıdır. İkincisi ise içerikte eğer Yazar Rumuzu girilmişse bunun gösterilecek olmasıdır. Dolayısıyla bir üye girişi yaparakbirden çok yazar isminde içerik ekleyebilirsiniz.
Forumda bugün yer alan bir soruda, aynı isimdeki yazarların bulunması sebebiyle oluşacak kargaşaya mahal vermemek için yazar adı yerinde kullanıcı adının nasıl gösterilebileceği danışılmış. Şimdi forumda da verdiğim cevap gibi buna değineceğim. Belki aynı şekilde kullanmak isteyen daha çok kimsenin bu kaynağı bulabilmesini sağlamış oluruz.
Yapacağımız işlem, yazar ismini çağıran sorgulardaki u.name tanımını u.username ile değiştirmek olacak. Ancak bu değişiklik tek yerde yapılmayacak. İlk dosya dışındaki diğer tüm dosyalar farklı bir yerdeki görünümü kontrol etmek için kullanılacak. Örneğin frontpage.php dosyası önsayfa içeriğinin görünümünde, article.php dosyası içeriğin kendi sayfasındaki görünümünde yazar isminin gösterimini değiştirecek. Buna göre dilediğinizi kullanmakta serbestsiniz. Diğer dosyalara gelirsek, archive.php dosyası arşivlenmiş içerik blogunda, category.php dosyası kategori blogu görünümünde, section.php dosyası ise bölüm blogu görünümünde istediğimiz davranışın uygulanmasını sağlayacak.
İlk dosyamız olan query.php dosyasındaki değişikliği yapmazsak diğer dosyalarda yapacağımız değişiklik bir şey ifade etmeyecek.
Hazırsanız başlayalım. Çalışacağınız her dosyanın bir yedeğini alarak daha sonra lazım olması durumunda geri dönüşünüzü kolaylaştıracak şekilde bir txt dosyasına bu dosyaların isimlerini ve çalıştıkları dizini yazmayı unutmayın.
components/com_content/helper/query.php dosyasını açın
| Şurayı bulun | |
84 |
case 'author' : |
Aşağıdaki şekilde değiştirin
| Şununla değiştirin | |
84 |
case 'author' : |
Kaydedin. İlk adımı tamamladık.
Şimdi sırasıyla diğer dosyaları düzenleyelim. Unutmayın, hangisi gerekliyse onu düzenlemeniz yeterli.
components/com_content/models/archive.php dosyasını açın
| Şurayı bulun | |
115 |
$query = 'SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by,'. |
Aşağıdaki şekilde değiştirin:
| Şununla değiştirin | |
115 |
$query = 'SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by,'. |
Ardından aynı dosyada şurayı
| Şu satırlar bulup | |
201 |
case 'author' : |
Aşağıdaki şekilde değiştirin
| Şu şekilde değiştirin | |
201 |
case 'author' : |
components/com_content/models/article.php dosyasını açın
| Şu sorguyu bulun | |
531 |
$query = 'SELECT a.*, u.name AS author, u.usertype, cc.title AS category, s.title AS section,' . |
Aşağıdaki şekilde değiştirin
| İlk satırındaki değişiklikle şu hale gelmeli | |
531 |
$query = 'SELECT a.*, u.username AS author, u.usertype, cc.title AS category, s.title AS section,' . |
components/com_content/models/category.php dosyasını açın
| Aşağıdaki sorguyu bulun | |
361 |
$query = 'SELECT cc.title AS category, a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by,' . |
Aşağıdaki şekilde değiştirmelisiniz
| Şöyle değişmeli | |
361 |
$query = 'SELECT cc.title AS category, a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by,' . |
Yine aynı dosyada
| Şurayı bulun | |
495 |
case 'author' : |
Aşağıdaki şekilde değiştirin
| Şu hali almalı | |
495 |
case 'author' : |
components/com_content/models/frontpage.php dosyasını açın
| Aşağıdaki sorguyu bulun |
|
128 |
$query = ' SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by,' . |
Aşağıdaki şekilde değiştirin
| Sorgu şu hali almalı | |
128 |
$query = ' SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by,' . |
components/com_content/models/section.php dosyasını açın
| Şu sorguyu bulun | |
414 |
$query = 'SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by,' . |
Şu şekilde değiştirin
| Sorgu şu hale gelmeli | |
414 |
$query = 'SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.fulltext, a.sectionid, a.state, a.catid, a.created, a.created_by, a.created_by_alias, a.modified, a.modified_by,' . |
Aynı dosyada aşağıdaki yeri bulup
| Bulunacak satırlar | |
545 |
case 'author' : |
Aşağıdaki şekilde değiştirin
| Değiştirilmiş hali şöyle olacak | |
545 |
case 'author' : |
Dosyalarınızı kaydedin.
Sıklıkla tercih edilen AlphaContent ya da benzer bir bileşeni kullanıyorsanız ilaveten düzenlemeler yapmanız gerekecek. AlphaContent bileşeni için models/list.php dosyasında 3 yerde geçen her bir u.name yerine u.username yazarak kaydetmeniz yeterli olacaktır.
Kabul ediyorum; basit bir değişiklik için uzun bir işlem yapmanız gerekiyor gibi görünüyor. Ancak yazar isimlerinin genellikle sitenin tamamında değil belli yerlerde gösterildiğini düşünürsek bir çoğunuz için bu düzenlemelerin hepsini yapmak gerekmeyecek.
Güle güle kullanın.
|
< Önceki Joomla! ile reCaptcha Kullanmak |
Sonraki > Joomla! İçerik Yöneticisini Filtrelenmiş Şekilde Açın |
|---|
Buna Benzer Diğer Yazılar: | |
