Перейти к публикации
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.

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 комментария

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

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

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

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

Buskopan

IPB Specialist

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

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

 

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

 

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

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

Да.

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

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

Buskopan

IPB Specialist

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

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

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.