Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
ovi8

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

Рекомендованные сообщения

09/27/19 12:27 (изменено)

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

 

В 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, но куда это ставить?

Изменено пользователем ovi8

Поделиться сообщением


Ссылка на сообщение

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

 

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

Поделиться сообщением


Ссылка на сообщение

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
и описание

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

 

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

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


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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...