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

Status użytkownika na głównej


Przejdź do rozwiązania Rozwiązane przez Macsch15,

Rekomendowane odpowiedzi

  • 4 tygodnie później...

Ładuję:

        if ( ! $this->registry->isClassLoaded( 'memberStatus' ) ) // Load status class
        {
            $classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/member/status.php', 'memberStatus' );
            $this->registry->setClass( 'memberStatus', new $classToLoad( ipsRegistry::instance() ) );
        }

Wyświetlam:

        $fetchstatus = $this->registry->getClass('memberStatus')->fetchMemberLatest( $memberId ); // Fetch

Problem:

Pokazuje tylko : Array

 

 

ipbaddons.com

Odnośnik do komentarza
Udostępnij na innych stronach

No to chyba mamy błąd. Bo $memberId w hooku ma tylko to:

        $status = $this->registry->getClass( 'memberStatus' )->fetchMemberLatest( $memberId ); // Fetch

Tak to wygląda ze strony memberstatus

 /**
     * Fetch the member's latest status update
     *
     * @param	int		Member ID
     */
    public function fetchMemberLatest( $memberId )
    {
    	$status = array();
    	$member = array();
    	
    	$this->DB->build( array( 'select'   => 's.*',
							     'from'	    => array( 'member_status_updates' => 's' ),
							     'where'    => 's.status_member_id=' . intval( $memberId ) . ' AND s.status_author_id=' . intval( $memberId ),
							     'order'    => 's.status_date DESC',
							     'limit'    => array( 0, 1 ),
							     'add_join' => array(array(  'select'	=> 'm.*',
															 'from'	    => array( 'members' => 'm' ),
															 'where'    => 'm.member_id=s.status_member_id',
															 'type'	    => 'left' ),
													 array(  'select'   => 'pp.*',
															 'from'	    => array( 'profile_portal' => 'pp' ),
															 'where'    => 'pp.pp_member_id=m.member_id',
															 'type'	    => 'left' ) ) ) );
															 
		$this->DB->execute();
		
		$row = $this->DB->fetch();
		
		if ( is_array( $row ) AND count( $row ) )
		{
			foreach( $row as $k => $v )
			{
				if ( substr( $k, 0, 7 ) != 'status_' )
				{
					$member[ $k ] = $v;
				}
				
				$status[ $k ] = $v;
			}
		}
		
		$this->_internalData['StatusData']  = $status;
		$this->_internalData['StatusOwner'] = $member;
		
		return is_array( $status ) ? $status : array();
    }
Edytowane przez Adam22

ipbaddons.com

Odnośnik do komentarza
Udostępnij na innych stronach

  • Rozwiązanie

Jeżeli chcesz aby pobierało ID aktualnie zalogowanego użytkownika, możesz zrobić tak:

fetchMemberLatest( $this->memberData['member_id'] )

Gdzie oczywiście obiekt memberData musi być wcześniej zdefiniowany.

(Registry instance...)member()->fetchMemberData()
  • Lubię to 1
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ę.