İpucu XF2 Kullanıcı Adlarını Tüm Alanlarda Renklendirme

Kullanıcı Değerlendirmesi
5.00 Oylama

XDinc

Moderatör
Katılım
Ocak 2, 2017
Mesajlar
1,248
Tepki puanı
2,915
Puanları
115
Arkadaşlar bildiğiniz gibi XF2 yapısında,
Kullanıcı adları bir çok alanlarda tanımladığınız renklerde değil default olarak görünür.

Peki bu default rengi tanımlamış olduğunuz renklere nasıl çevireceğiz şimdi buna bakalım. Bir çok arkadaş şuan zaten bunun eklentisi var diyor.
Doğru söylüyorsunuz ama bizim hedefimiz eklenti olmadan yapmak ve bunu sizlere nasıl yapacağımızı aktarmak...

Başlıyoruz ilk olarak aşağıdaki kodlar yardımı ile, bir PHP dosyası oluşturuyoruz.
Dosya adı Templater.php


Kod:
<?php

namespace XenForotr\XF\Template;

use XF\App;
use XF\Language;

class Templater extends XFCP_Templater
{
    protected $displayGroupIds = [];
   
    public function fnUsernameClasses($templater, &$escape, $user, $includeGroupStyling = true)
    {
        $includeGroupStyling = true;

        if (empty($user['display_style_group_id']))
        {
            $user['display_style_group_id'] = $this->getDisplayStyleGroupIdFromCache($user['user_id']);
        }
        else
        {
            $this->displayGroupIds[$user['user_id']] = $user['display_style_group_id'];
        }

        return parent::fnUsernameClasses($templater, $escape, $user, $includeGroupStyling);
    }

    protected function getDisplayStyleGroupIdFromCache($userId)
    {
        if (!isset($this->displayGroupIds[$userId]))
        {
            $displayGroupId = \XF::db()
                ->fetchOne("SELECT display_style_group_id FROM xf_user WHERE user_id=?", $userId);
            $this->displayGroupIds[$userId] = $displayGroupId;
        }

        return $this->displayGroupIds[$userId];
    }
}

Hazırladığımız php dosyamızı XF altyapısına uygun olacak şekilde sunucumuz üzerinde,
SRC/ Dizinine giderek, Ben burda dizinimi kodlarıma göre tanımlıyorum.

addons > XenForotr > XF > Template > Templater.php olarak belirliyoruz.

Yada bu alana kadar yaptıklarımızı es geçerek ekteki yer alan dosyayı indirmeniz yeterlidir.

Gelelim şimdi tanımladığımız PHP dosyasını class üzerinden sisteme aktarmaya.

Bunun için ilk olarak Geliştirme modunu aşağıdaki kodu src dizininde yer alan config.php dosyamıza ekleyerek açıyoruz.

Kod:
$config['development']['enabled'] = true;
Artık Geliştirme Seçenekleri panelimizde açıldı.

1539506238491.png


Geliştirme alanında,
Sınıf uzantıları -Class ExtensionS alanından dosyamızı XenForo Sistemine entegre ediyoruz.

Seçenekleri aşağıdaki gibi ayarlayınız.

1539506303066.png

Tüm bu işlemlerin ardından artık kullanıcı adlarınız forumun tüm alanlarında renkli.
Ve hiç bir eklenti kullanmadınız...


1539506974780.png
 

Ekli dosyalar

dtblocker

Üye
Katılım
Ocak 7, 2019
Mesajlar
1
Tepki puanı
1
Puanları
3
Yaş
49
arkadaşlar elinize sağlık vbluttinden geçince baya zorlandım inşallah çözeceğim
 

Bizi sosyal sitelerde takip edin


Üst Alt