Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
ovi8

Открыть предпросмотр тем по умолчанию

Recommended Posts

Как сделать, чтобы предварительный просмотр был всегда открыт?

 

В topic нашел этот код:

<if test="canReadPreview:|:$this->registry->permissions->check( 'read', $forum_data ) && $data['state'] != 'link'">
<td class='col_f_preview __topic_preview'>
	<a href='{$data['_url']}' class='expander closed' title='{$this->lang->words['view_topic_preview']}'> </a>
</td>
<else />
<td></td>
</if>

Как я понимаю, сначала проверяет права - возможен ли просмотр для данной группы, а после сама ссылка, но что здесь менять непонятно, в интернете нашел информацию о IsExpanded, но куда это ставить?

Edited by ovi8

Share this post


Link to post
Share on other sites

В каком смысле открыт? Чтобы все группы имели доступ к нему, или чтобы он по умолчанию выводился? - насколько я знаю он подгружается через аджакс, а не грузится вместе со страницей.

  • Upvote 1

Share this post


Link to post
Share on other sites

Да, чтобы постоянно был открытый. Группы итак имеют доступ - настраивается в правах, хочется чтобы без нажатия загружался с развернутым описанием. Если загружать вместе со страницей это сильно замедлит работу сайта?

 

Хочется сделать похоже на ХедХантер, в десктоп версии листинг вакансий имеет заголовок и описание, которое берется из самого объявления, что похоже на форум при открытом предпросмотре тем.

Share this post


Link to post
Share on other sites

Тогда придется колхозить чтобы сгенерировать предпросмотр для каждой темы на странице. Если не сильно увлекаться сообщениями из темы и вывести только первое то можно добиться вполне разумных результатов по нагрузке. В любом случае нужно дорабатывать код и смотреть какие там данные уже есть в массиве data возможно удастся что нибудь из них сварганить.

  • Upvote 1

Share this post


Link to post
Share on other sites

Спасибо за ответ. В таком случае оставлю эту затею до лучших времен. :)

Share this post


Link to post
Share on other sites
и описание

Этих данных нет в массиве.

 

Группы итак имеют доступ - настраивается в правах,

При запросе еще проверяются права на просмотр скрытых/удаленных постов. Там же показывается еще последнее (которое юзер может видеть) сообщение.


admin/applications/forums/modules_public/forums/forums.php

1. Находим

			if ( $this->settings['tags_enabled'] AND !$this->forum['bw_disable_tagging'] )
		{
			$_joins[]	= $this->registry->tags->getCacheJoin( array( 'meta_id_field' => 't.tid' ) );
		}

Ниже добавляем

			$_joins[] = array( 
			'select'	=> 'fp.post as first_post_content',
			'from'		=> array( 'posts' => 'fp' ),
			'where'		=> 't.topic_firstpost=fp.pid'
		);

2. Находим

$this->DB->build( array( 'select'   => 't.*',

Выше добавляем

			$_joins	= array();

		$_joins[] = array( 
			'select'	=> 'fp.post as first_post_content',
			'from'		=> array( 'posts' => 'fp' ),
			'where'		=> 't.topic_firstpost=fp.pid'
		);

		if ( $this->settings['tags_enabled'] AND !$this->forum['bw_disable_tagging'] )
		{
			$_joins[] = $this->registry->tags->getCacheJoin( array( 'meta_id_field' => 't.tid' ) );
		}

3. Находим

									 'add_join' => ( $this->settings['tags_enabled'] AND !$this->forum['bw_disable_tagging'] ) ? array( $this->registry->tags->getCacheJoin( array( 'meta_id_field' => 't.tid' ) ) ) : array() 

Заменяем на

									 'add_join' => $_joins

4. Находим

			$topic_array[ $t['tid'] ] = $t;

Выше добавляем

			$t['first_post_content'] = IPSText::truncate( IPSText::getTextClass( 'bbcode' )->stripAllTags( strip_tags( $t['first_post_content'], '<br>' ) ), 500 );

 

В шаблоне Forum View - topic используем

<if test="$this->registry->permissions->check( 'read', $forum_data ) && $data['state'] != 'link'">
{$data['first_post_content']}
</if>

  • Upvote 2

Share this post


Link to post
Share on other sites

Newbie, спасибо за решение, но сейчас его протестировать не могу переосмысливаю структуру сайта и пока хочу остаться при своих :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...