ovi8 5 09/27/2019 12:27 PM (edited) Как сделать, чтобы предварительный просмотр был всегда открыт? В 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 September 27, 2019 by ovi8 Share this post Link to post
siv1987 2,623 09/27/2019 01:55 PM В каком смысле открыт? Чтобы все группы имели доступ к нему, или чтобы он по умолчанию выводился? - насколько я знаю он подгружается через аджакс, а не грузится вместе со страницей. 1 Share this post Link to post
ovi8 5 09/27/2019 05:57 PM Да, чтобы постоянно был открытый. Группы итак имеют доступ - настраивается в правах, хочется чтобы без нажатия загружался с развернутым описанием. Если загружать вместе со страницей это сильно замедлит работу сайта? Хочется сделать похоже на ХедХантер, в десктоп версии листинг вакансий имеет заголовок и описание, которое берется из самого объявления, что похоже на форум при открытом предпросмотре тем. Share this post Link to post
siv1987 2,623 09/27/2019 08:32 PM Тогда придется колхозить чтобы сгенерировать предпросмотр для каждой темы на странице. Если не сильно увлекаться сообщениями из темы и вывести только первое то можно добиться вполне разумных результатов по нагрузке. В любом случае нужно дорабатывать код и смотреть какие там данные уже есть в массиве data возможно удастся что нибудь из них сварганить. 1 Share this post Link to post
ovi8 5 09/28/2019 05:45 AM Спасибо за ответ. В таком случае оставлю эту затею до лучших времен. :) Share this post Link to post
newbie 1,721 09/30/2019 10:43 AM и описаниеЭтих данных нет в массиве. Группы итак имеют доступ - настраивается в правах,При запросе еще проверяются права на просмотр скрытых/удаленных постов. Там же показывается еще последнее (которое юзер может видеть) сообщение.admin/applications/forums/modules_public/forums/forums.php1. Находим 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> 2 Share this post Link to post
ovi8 5 10/03/2019 04:32 PM Newbie, спасибо за решение, но сейчас его протестировать не могу переосмысливаю структуру сайта и пока хочу остаться при своих :) Share this post Link to post