Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Navmenu - Mały problem


Kinto

Rekomendowane odpowiedzi

Witajcie,

 

Nigdy nie musiałem tego robić i jakoś brak mi wiedzy w tym aspekcie. A mianowicie mam na forum zainstalowaną wtyczkę: http://forums.ipbzone.com/files/file/75-tb-moods/ . Wszystko działa prawidłowo, oprócz jednego w sumie kluczowego aspektu. A mam tutaj na myśli navmenu:

 

help1.png

 

W tym miejscu powinna być ikonka:

 

icon_moods.png

 

A jak widać "box" grafiki jest jakby dopiero w połowie pasku, gdzie można go zaznaczyć. W plikach wtyczki znalazłem element, który odpowiada za tą część kodu:

 

<?php
/**
 * (TB) Mood
 * @file		tbMoodsGlobal.php 	Template hook (global template)
 *
 * @copyright	(c) 2006 - 2012 Invision Byte
 * @link		http://www.invisionbyte.net/
 * @author		Terabyte
 * @since		26/11/2009
 * @updated		24/07/2011
 */

class tbMoodsGlobal
{
	public $registry;
	public $memberData;
	public $caches;
	
	public function __construct()
	{
		/* Make registry objects */
		$this->registry   =  ipsRegistry::instance();
		$this->memberData =& $this->registry->member()->fetchMemberData();
		$this->caches     =& $this->registry->cache()->fetchCaches();
		
		require_once( IPSLib::getAppDir('moods').'/sources/moodLibrary.php' );
	}
	
	public function getOutput()
	{
		/* Can we REALLY use it?! */
		if ( TBMoodLibrary::canUse( $this->memberData ) )
		{
			return $this->registry->getClass('output')->getTemplate('tb_moods')->tbMoodMenu( ( empty($this->caches['tb_moods'][ $this->memberData['tb_mood'] ]) ? $this->caches['tb_moods'][0] : $this->caches['tb_moods'][ $this->memberData['tb_mood'] ] ), TBMoodLibrary::getFolder() );
		}
		
		return '';
	}
}

 

 

Mogę liczyć na waszą pomoc? Nigdy nie spotkałem się z potrzebą edycji, navmenu, a jest to dość ważne dla mnie. ;)

 

Pozdrawiam,

Kinto

Edytowane przez Kinto
Odnośnik do komentarza
Udostępnij na innych stronach

1. Tak, wszystkie pliki są na serwerze. Wtyczka działa prawidłowo, tylko właśnie ten pasek widzi jakiś problem. Dopiero kiedy zostaje wgrany powyższy kod (Sprawdzałem, co jest za to odpowiedzialne) w pliku hooks - ipb dodaje w navmenu pusty przesunięty do góry kwadrat. Grafiki są dodatkowo w odpowiednich miejscach. W nim jest odwołanie do pliku moodLibrary.php, który wygląda tak:

<?php
/**
 * (TB) Moods
 * @file		moodLibrary.php 	Mood main functions
 *
 * @copyright	(c) 2006 - 2012 Invision Byte
 * @link		http://www.invisionbyte.net/
 * @author		Terabyte
 * @since		24/07/2011
 * @version		3.0.1 (30001)
 */

/**
 * @class		TBMoodLibrary
 * @brief		Mood main functions
 */
class TBMoodLibrary
{
	/**
	 * Flag to check for initialization
	 *
	 * @var		$initialized
	 */
	private static $initialized = FALSE;
	
	/**
	 * Cached data (canUse, groups, folder)
	 *
	 * @var		$cache
	 */
	private static $cache = array( 'canUse' => NULL, 'groups' => array(), 'folder' => NULL );
	
	/**
	 * Check is the class is already initialized
	 *
	 * @return	@e boolean
	 */
	static public function isInitialized()
	{
		return self::$initialized === TRUE ? TRUE : FALSE;
	}
	
	/**
	 * Initializes the class
	 *
	 * @return	@e void
	 */
	static private function init()
	{
		if ( !self::isInitialized() )
		{
			/* Workaround for IPB 3.2.0 not rebuilding properly the global caches... */
			if ( !ipsRegistry::cache()->exists('tb_moods') )
			{
				try
				{
					IPSLib::cacheGlobalCaches();
					ipsRegistry::cache()->getCache('tb_moods');
				}
				catch( Exception $e ){}
			}
			
			/* Init some vars */
			ipsRegistry::$settings['tb_moods_skins']	= empty(ipsRegistry::$settings['tb_moods_skins'])		? '' : IPSText::cleanPermString(ipsRegistry::$settings['tb_moods_skins']);
			ipsRegistry::$settings['tb_moods_darktheme']= empty(ipsRegistry::$settings['tb_moods_darktheme'])	? '' : IPSText::cleanPermString(ipsRegistry::$settings['tb_moods_darktheme']);
			
			self::$cache['canUse'] = TRUE;
			self::$cache['groups'] = empty(ipsRegistry::$settings['tb_moods_groups']) ? array() : explode(',', IPSText::cleanPermString(ipsRegistry::$settings['tb_moods_groups']));
			
			if ( !IPSLib::appIsInstalled('moods') )
			{
				self::$cache['canUse'] = FALSE;
			}
			
			if ( self::$cache['canUse'] && !empty(ipsRegistry::$settings['tb_moods_skins']) )
			{
				if ( in_array(ipsRegistry::getClass('output')->skin['set_id'], explode(',', ipsRegistry::$settings['tb_moods_skins'])) )
				{
					self::$cache['canUse'] = FALSE;
				}
			}
			
			/* Yeah, initialized now! */
			self::$initialized = TRUE;
		}
	}
	
	/**
	 * Check is the mood can be used (app/skin check)
	 *
	 * @return	@e boolean
	 */
	static public function isEnabled()
	{
		self::init();
		
		return self::$cache['canUse'] === TRUE ? TRUE : FALSE;
	}
	
	/**
	 * Can the member use the mood?
	 *
	 * @param	array		$member			Member data
	 * @param	boolean		$checkGuest		Check if we have a member ID
	 * @return	@e boolean
	 */
	static public function canUse( $member, $checkGuest=true )
	{
		self::init();
		
		$return = FALSE;
		
		if ( $checkGuest && empty($member['member_id']) )
		{
			$return = FALSE;
		}
		elseif ( self::$cache['canUse'] && count(self::$cache['groups']) )
		{
			$return = IPSMember::isInGroup( $member, self::$cache['groups'] );
		}
		
		return $return;
	}
	
	/**
	 * Return which folder to use (theme)
	 *
	 * @return	@e string
	 */
	static public function getFolder()
	{
		self::init();
		
		if ( is_null(self::$cache['folder']) )
		{
			self::$cache['folder'] = 'moods';
			
			if ( !empty(ipsRegistry::$settings['tb_moods_darktheme']) && in_array(ipsRegistry::getClass('output')->skin['set_id'], explode(',', ipsRegistry::$settings['tb_moods_darktheme'])) )
			{
				self::$cache['folder'] = 'moods_dark';
			}
		}
		
		return self::$cache['folder'];
	}
} 

 

2. Grafiki są na swoich miejscach. Wszystkie elementy działają właściwie, oprócz jednego.

Edytowane przez Kinto
Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.