Jump to content

Блок вопросов [Дизайн, хуки и тп]

Featured Replies

Posted
comment_25674

День добрый. Есть несколько вопросов. За решение которых был бы очень благодарен.

 

Первый - Шапка:

Облазил кучу тем, кучу форумов включая ваш. Нашел много инфы но почему то не чего мне не подходит.

Ну не хочет у меня шапка становится резиновой и тянутся на всю ширину экрана. Был один более менее подходящий вариант. Но у людей с широкоформатным экраном она была склеена аж из 3 картинок. По этому подскажите по возможности знаний еще варианты.

 

Второе - Блоки.

Стоит портал. Суть даже не в том какой версии и какой именно портал. Вопрос в том как в нем выводить нужные мне данные ( вопрос немного из раздела "научите") например. Мне нужно чтобы в блоке выводились последние обновленные темы. Именно не последние созданные, а обновленные ( то есть темы в которых был дан ответ последним). И вообще как это работает и откуда брать инфу из БД? Так же как пример вывести в блоке тех кто сегодня отмечает день рождения. 

 

Пока все но еще добавятся.

comment_25675

Akrus64, ну шапка состоит из 3-х картинок, по бокам, и по центру которая умножается на сколько нужно, в зависимости от разрешения монитора. Средняя картинка должна быть подходящей и удобной, не знаю как это описать :D

 

А по поводу Портала, если у тебя 1.4.0, то в настройках есть пунктик.

Чтобы днюхи выводить, нужен установленный календарь.

comment_25679

Первый - Шапка: Облазил кучу тем, кучу форумов включая ваш. Нашел много инфы но почему то не чего мне не подходит. Ну не хочет у меня шапка становится резиновой и тянутся на всю ширину экрана. Был один более менее подходящий вариант. Но у людей с широкоформатным экраном она была склеена аж из 3 картинок. По этому подскажите по возможности знаний еще варианты.

в css используй position: fixed; (А лучше в личку кинь мне урлу форума) либо же сразу после background: (url); используй fixed тогда повторяться не будет (а может и я не прав, и я тебя не так понял :D )

Edited by Павлушка

  • Author
comment_25751

Akrus64, ты мой пост вообще читал? А настройки Портала?

 

А ты мое?)) А последние обновленные темы? для них тоже нужно календарик ставить?)

comment_25756

Akrus64, читал! Я всё читаю на этом форуме ;)

 

А по поводу Портала, если у тебя 1.4.0, то в настройках есть пунктик.

 

Какой точно сказать не могу, ибо сейчас не имею доступа к своему сайту.

  • Author
comment_25825

Возможно ты не так понял. Вот пример блока который выводит Топ постеров форума:

 

 

<?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')->show_top_posters();

?>
 

А именно

 

show_top_posters

 

Вот где брать все эти функции, например show_newest_members покажет уже новых зарегенных пользователей. Где брать то их, из таблиц в бд? Или где то как то вычленять?

Edited by Akrus64

comment_25854

Akrus64, вот теперь ты меня запутал. Количество пользователей в блоке настраивается в настройках  :think:  

  • Author
comment_25950

Ты говоришь о стандартах, о том что есть в настройках, а мне нужен так скажем не стандарт, например ну вот захотел я вывести например топ пользователей в блоке на портале которые за сутки написали больше 3 постов, или тех у кого создано 5 тем в таком то форуме. Как это все реализовать?))

comment_26111

Akrus64, для этого нужно писать свои функции в файлике  /sources/blocks.php

Например функция show_top_posters выглядит следующим образом:

public function show_top_posters()
	{
		/* Init our members array */
		$members = array();
		$mids    = array();
		$final   = array();
		$rank    = 0;
        
		/* Query for the top posters */
		$this->DB->build( array( 'select' => 'member_id',
								 'from'   => 'members',
								 'where'  => "member_banned=0 AND members_display_name <> '' AND member_group_id NOT IN (" . $this->settings['portal_top_posters_exclude'] . ")",
								 'order'  => 'posts DESC',
								 'limit'  => array( 0, $this->settings['portal_top_posters_number'] ),
						)	   );
		$this->DB->execute();
		
		/* Got any results? */
		while ( $row = $this->DB->fetch() )
		{
			$mids[] = $row['member_id'];
		}
		
		/* Load their data */
		$members = IPSMember::load( $mids, 'all' );
		
		/* Loop and build display data */
		foreach ( $mids as $mid )
		{
			$members[$mid]['rank'] = ++$rank;
			$final[]               = IPSMember::buildProfilePhoto( $members[$mid] );
		}
		
		/* Return the top posters template */
		return $this->registry->output->getTemplate('portal')->topPosters( $final );
  	} 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.