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

Portal 1.3 - newsy z konkretnego forum


ololol
Przejdź do rozwiązania Rozwiązane przez DawPi,

Rekomendowane odpowiedzi

Witajcie,

prócz problemu z IP. Content o ktorym pisalem w poprzednim temacie, mam pytanie co do innego portalu - Portal 1.3. 
Otóż wyświetla mi ostatnie tematy na stronie głównej z całego forum. Jest możliwość wyświetlania tematów jedynie z jednego działu? Wtedy mógłbym zrobić sobie swojego rodzaju system newsow. Wstawiam ponizej kod blocka.

 

<?php

if ( ! $this->registry->isClassLoaded( 'portalBlocks' ) )
{
	$classToLoad =  IPSLib::loadLibrary( IPSLib::getAppDir( 'portal' ) . "/sources/blocks.php", 'portalBlockGateway' );
	$this->registry->setClass( 'portalBlocks', new $classToLoad( ipsRegistry::instance() ) );
}

print $this->registry->getClass('portalBlocks')->latest_topics_main();

?>

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
print $this->registry->getClass('portalBlocks')->latest_topics_main();

Poszukaj metody w plikach tego portalu (co to za portal?) o nazwie latest_topics_main i podaj jej kod.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

nie wiem, czy to to ?

 

/**
	 * Show the "news" articles
	 *
	 * @return	string		HTML content to replace tag with
	 */
	public function latest_topics_main()
 	{
 		//-----------------------------------------
 		// INIT
 		//-----------------------------------------

 		$attach_pids	= array();
 		$attach_posts	= array();
 		$forums			= array();
 		$rows			= array();
 		$output			= array();
		$where_clause	= array();
 		$limit			= $this->settings['latest_topics_main'] ? $this->settings['latest_topics_main'] : 3;
 		$posts			= intval($this->memberData['posts']);

 		//-----------------------------------------
    	// Grab articles new/recent in 1 bad ass query
    	//-----------------------------------------

 		foreach( explode( ',', $this->settings['portal_latest_topics_forums'] ) as $forum_id )
 		{
 			if( !$forum_id )
 			{
 				continue;
 			}

 			$forums[] = intval($forum_id);
 		}
		
		/* Loop through the forums and build a list of forums we're allowed access to */
		$forumIdsOk  = array();
	
		foreach( $this->registry->class_forums->forum_by_id as $id => $data )
		{
			/* Allowing this forum? */
			if ( count($forums) && !in_array( $id, $forums ) )
			{
				continue;
			}
			
			/* Can we read? */
			if ( ! $this->registry->permissions->check( 'read', $data ) )
			{
				continue;
			}

			/* Can read, but is it password protected, etc? */
			if ( ! $this->registry->class_forums->forumsCheckAccess( $id, 0, 'forum', array(), true ) )
			{
				continue;
			}

			if ( ! $data['can_view_others'] )
			{
				continue;
			}
			
			if ( $data['min_posts_view'] > $posts )
			{
				continue;
			}

			$forumIdsOk[] = $id;
		}

		if( !count($forumIdsOk) )
		{
			return '';
		}

		/* Add allowed forums */
		$where_clause[] = "t.forum_id IN (" . implode( ",", $forumIdsOk ) . ")";
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
  • Rozwiązanie

Nad ten kod:

$where_clause[] = "t.forum_id IN (" . implode( ",", $forumIdsOk ) . ")";

Dodaj:

$forumIdsOk = array ( 1, 2, 3, 4 );

Gdzie te liczby to ID forów skąd ma pobierać informacje.

 

Choć ja widzę, że powinno być od tego ustawienie w ACP:

$this->settings['portal_latest_topics_forums']
  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • 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ę.