Перейти к содержимому
Русский язык для Invision Community 5

IP.Content делаем колонку материалов красивой

(0 отзывов)

По умолчанию, шаблон вывода материалов в IP.Content очень простенький и не красивый.

 

Но если зайти в АЦП IP.Content> Templates > Article Templates выбрать один из самых неудачных шаблонов(например Front Page (Single Column)) и немного его подредактировать, то получим более красивый вид.

 

Что я переделал?

 

1. Ссылка читать полностью теперь в виде кнопки

2. Ссылка на комментарии в виде кнопки

3. Автор, дата и рейтинг переехали выше

4. Название темы запихано в более красивую оболочку и с нее убрана ссылка на тему.

5. Добавлены пробелы между материалами, а так же между вступлением и фотографией.

 

Вот думаю, что бы еще сделать. Но дизайнерского глаза не хватает.

 

8ed238fff5ca.jpg

 

 

 

доработанный шаблон выглядит

 

 

 

так

<div class='type-1x1x1'>
<php>
	// Category or global?
	if( isset( $data['category']['category_id'] ) ){
		$rss = array( 
			'enabled' => ( substr( $data['category']['category_rss'], 0, 1 ) == 1 && $data['category']['category_show_records'] ) ? 1 : 0,
			'type' => 'category',
			'id' => $data['database']['database_id'].'c'.$data['category']['category_id'],
			'name' => $data['category']['category_name']
		);
		$title = $data['category']['category_name'];
		$this->settings['_active_cat'] = $data['category']['category_id'];
	} else {
		$rss = array( 
			'enabled' => ( substr( $data['database']['database_rss'], 0, 1 ) == 1 ),
			'type' => 'global',
			'id' => $data['database']['database_id'],
			'name' => $data['database']['database_name']
		);
		$title = $this->lang->words['fpdt_latestnews'];
	}
</php>
<div class='utilities right'>
	<if test="$data['category']['category_id']">
		<a href='{$data['category']['category_link']}?view=archive' title='{$this->lang->words['fpdt_viewarchives']}'><img alt='' src='{$this->settings['img_url']}/archive.png' /></a>
	</if>
	   
	<if test="$rss['enabled']"><a href='{parse url="app=core&module=global&section=rss&type=ccs&id={$rss['id']}" seotitle="{$rss['name']}" template="section=rss2" base="public"}' class='right'><img src='{$this->settings['img_url']}/feed.png' alt='' /></a></if>
</div>
<h2 class='section_title'>
	{$title}
	<if test="$data['database']['_can_add']">
		<a href='{$data['database']['base_link']}do=add&category={$this->request['category']}' title='{$this->lang->words['add_record_button']}' accesskey='s' class='add_link'>{$this->lang->words['add_record_button']}</a>
	</if>
	<if test="$this->memberData['member_id'] AND $this->request['category']">
		<if test="$this->settings['cpu_watch_update'] AND ( is_array( $this->memberData['_cache'] ) AND is_array( $this->memberData['_cache']['watchedContentCats'] ) AND in_array( $this->request['category'], $this->memberData['_cache']['watchedContentCats'] ) )">
			<a href='{$data['database']['base_link']}do=unwatch&category={$this->request['category']}' title='{$this->lang->words['watch_category_stop']}' class='add_link'>{$this->lang->words['watch_category_stop']}</a>
		<else />
			<a href='{$data['database']['base_link']}do=watch&category={$this->request['category']}' title='{$this->lang->words['watch_category']}' class='add_link'>{$this->lang->words['watch_category']}</a>
		</if>
	</if>
</h2>

<if test="count( $data['records'] )">
	<!-- START ARTICLE POSITION 1 -->
	<foreach loop="$data['records'] as $record">
		<div class='article block block-1<if test="!$record['record_approved']"> moderated</if>'>
		<h2 class="maintitle"> {$record['article_title']}</h2>
		  <h3>
		  	<span class='desc posted_info'>{$record['article_date']} | <a href='{parse url="showuser={$record['member_id']}" base="public" template="showuser" seotitle="{$record['members_seo_name']}"}'>{$record['members_display_name']}</a> {$this->lang->words['fpdt_in']} <a href='{$record['category_link']}'>{$record['category_name']}</a>
				  
				<if test="$data['database']['database_rate']">
				<if test="$record['rating_real'] >= 1">{parse replacement="rate_on"}<else />{parse replacement="rate_off"}</if><if test="$record['rating_real'] >= 2">{parse replacement="rate_on"}<else />{parse replacement="rate_off"}</if><if test="$record['rating_real'] >= 3">{parse replacement="rate_on"}<else />{parse replacement="rate_off"}</if><if test="$record['rating_real'] >= 4">{parse replacement="rate_on"}<else />{parse replacement="rate_off"}</if><if test="$record['rating_real'] >= 5">{parse replacement="rate_on"}<else />{parse replacement="rate_off"}</if>
				</if>
			</span>
		 </h3>
		 <br>
			<div class='overview'>
			<br>
			    <if test="$record['article_image']">
				<img src='{$record['article_image']}' class='photo' {parse resize_image="$record['article_image']" maxwidth="150"} alt='' />
			    </if>

			<div class='excerpt'>
		                	<br />
					{IPSText::truncate( strip_tags($record['article_body']), 255 )}

					<br />
					<ul class="post_controls">
					   <li class="report">
						<a href='{$record['record_link']}' class='read_more'><img alt="Редактировать" src="http://www.mydisput.com/forums/public/style_images/com/page_white_add.png">{$this->lang->words['fpdt_readstory']}</a>
					   </li>
						  
					   <li class="report">
						<a href='{$record['record_link']}#comments' class='comments'>{$record['record_comments']} {$this->lang->words['fpdt_comments']}</a>
					   </li>
	                                  </ul>

					</span>
				</div>
			</div>
		</div>

	</foreach>
<else />
	<div class='no_messages'>
		{$this->lang->words['fpdt_noarticles']}
		<if test="$data['database']['_can_add']">
			<a href='{$data['database']['base_link']}do=add&category={$this->request['category']}' title='{$this->lang->words['add_record_button']}'><strong>{$this->lang->words['fpdt_addone']}</strong></a>
		</if>
	</div>
</if>

<if test="$this->caches['ccs_frontpage']['paginate']">
<div class='pagelinks'>
	<if test="$this->request['p'] AND $this->request['p'] > 1">
		<div class='left'>
			<a href='<if test="$data['category']['category_id']">{$data['category']['category_link']}?p=1<else />{$data['database']['base_link']}p=1</if>'>{$this->lang->words['frontpage_previouspage']}</a>
		</div>
	</if>

	<php>
		$_ttlPgs	= $data['database']['database_record_count'] ? ceil( $data['database']['database_record_count'] / $this->caches['ccs_frontpage']['limit'] ) : 0;
		$_curPg		= $this->request['p'] ? $this->request['p'] : 1;
		$_nextPg	= $_curPg + 1;
	</php>
	<if test="$_ttlPgs AND $_curPg < $_ttlPgs">
		<div class='right'>
			<a href='<if test="$data['category']['category_id']">{$data['category']['category_link']}?p={$_nextPg}<else />{$data['database']['base_link']}p={$_nextPg}</if>'>{$this->lang->words['frontpage_nextpage']}</a>
		</div>
	</if>
</div>
</if>
</div>
<br class='clear' />

 

4 комментария

Рекомендованные комментарии

Fisana Newbie

ip.content 2.1 – это совсем не то, что 2.0

В контенте 2.1.x вообще не прилагается никакого шаблона страницы для сайта без использования форумного враппера.

Buskopan Newbie

Buskopan

IPB Specialist

ну так..да. Помните я искал шаблоны?

 

Только руками.

 

Ведь не сложно если знаешь, что делаешь.

Fisana Newbie

Да.

Но раньше было проще. Css под контент работал на отдельный шаблон.

Нужно было только переделать, а не с нуля начинать.

Buskopan Newbie

Buskopan

IPB Specialist

а раньше я вообще медициной был занят ) даже и не видел старого контента.

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.