Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

 

В 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

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

Опубликовано:

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

Опубликовано:
  • Автор

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

 

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

Опубликовано:

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

Опубликовано:
  • Автор

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

Опубликовано:
и описание

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

 

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

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


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>

Опубликовано:
  • Автор

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

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

Сейчас на странице 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.