Перейти к контенту

Как сделать старый вид списка блогов


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

Как сделать вывод списка блогов на старый лад в IP.Blog 1.4.x.

Внимание! Во всех пунктах, где встречается java script, писать его надо слитно!!

 

Результат: http://floomby.ru/content/3d15292d-42e6-4c...c12b4d320b.html

 

skin_blog_list -> bloglist_start_regular:

пробел

 

skin_blog_list -> bloglist_page_end:

<if="$ttl">
</ul>
<div class='clear'></div>
</div>
</if>

заменить на

<if="$ttl">
</table>
<div class="catend"><!-- no content --></div>
</div>
</if>

 

skin_blog_list -> bloglist_end_pinned:

<tr>
<td colspan="9" class="darkrow1">{$this->ipsclass->lang['bloglist_end_pinned']}</td>
</tr>

 

skin_blog_list -> bloglist_start_pinned:

<tr>
<td colspan="9" class="darkrow1">{$this->ipsclass->lang['bloglist_start_pinned']}</td>
</tr>

 

skin_blog_list -> bloglist_start_favourites:

<tr>
<td colspan="9" class="darkrow1">{$this->ipsclass->lang['bloglist_end_favourites']}</td>
</tr>

 

 

skin_blog_list -> bloglist_show_extrow:

<!-- Entry for {$blog['blog_id']} -->
<tr>
	<td width="1%" class="row2">
		<img border="0" src="{$this->ipsclass->vars['img_url']}/be_new.gif"/>
	</td>
	<td class="row2">
		<strong><a href="{$blog['url']}" <if="$this->ipsclass->vars['blog_exturl_newwindow']"> target="_blank"</if>>{$blog['blog_name']}</a></strong>
	</td>
	<td class="row2">
		<strong><a href="{$this->ipsclass->base_url}showuser={$blog['member_id']}" title="{$blog['members_display_name']}">{$blog['members_display_name']}</a></strong>
	</td>
	<td align="center" class="row1">—</td>
	<td align="center" class="row1">
		{$blog['blog_num_exthits']} {$this->ipsclass->lang['visits']}
	</td>
	<td align="center" class="row2">—</td>
	<td align="center" class="row1">—</td>
	<td class="row2">—</td>
	<td align="center" class="row2">
		<if="$this->ipsclass->member['g_blog_ismod'] and $blog['bidon'] == 1">
		<a href="#" title="{$this->ipsclass->lang['click_for_mod']}" onclick="blog_toggle_bid('{$blog['blog_id']}'); return false;"><img name="img{$blog['blog_id']}" src="{$this->ipsclass->vars['img_url']}/topic_selected.gif" /></a>
		</if>
		<if="$this->ipsclass->member['g_blog_ismod'] and $blog['bidon'] == 0">
		<a href="#" title="{$this->ipsclass->lang['click_for_mod']}" onclick="blog_toggle_bid('{$blog['blog_id']}'); return false;"><img name="img{$blog['blog_id']}" src="{$this->ipsclass->vars['img_url']}/topic_unselected.gif" /></a>
		</if>	
	</td>
</tr>
<!-- End of Entry -->

 

skin_blog_list -> bloglist_show_row:

<!-- Entry for {$blog['blog_id']} -->
<tr>
	<td width="1%" class="row2">
		<if="$blog['icon']">
			<a id="b-{$blog['blog_id']}" href="{$this->ipsclass->base_url}autocom=blog&req=markread&blogid={$blog['blog_id']}" title="{$this->ipsclass->lang['blog_markread']}"  onclick='blog_send_marker_update( "{$blog['blog_id']}" );return false;'><img src='{$this->ipsclass->vars['img_url']}/bb_new.gif' /></a>
		<else />
			<img src='{$this->ipsclass->vars['img_url']}/bb_nonew.gif' />
		</if>
	</td>
	<td class="row2">
		<div style="float: right;">{$blog['favicon']}</div>
		<if="$this->ipsclass->vars['blog_enable_rating'] && $blog['blog_rating_count']>$this->ipsclass->vars['blog_rating_treshhold']">
			<span title="{$blog['blog_rating']} {$this->ipsclass->lang['rate_out_of']}; {$this->ipsclass->lang['rate_votes']} {$blog['blog_rating_count']}">{$blog['blog_rate_img']}</span>
		</if>
		<strong><a href="{$blog['url']}">{$blog['blog_name']}</a></strong><br />
		<span class='desc'>{$blog['blog_desc']}</span>
	</td>
	<td class="row2">
		<strong><a href="{$this->ipsclass->base_url}showuser={$blog['member_id']}" title="{$blog['members_display_name']}">{$blog['members_display_name']}</a></strong>
	</td>
	<td align="center" class="row1">{$blog['blog_num_entries']}</td>
	<td align="center" class="row1">{$blog['blog_num_views']}</td>
	<td class="row2">
			<if="$blog['blog_last_entry']">
				<span class='desc'>{$blog['blog_last_date']}</span><br />
				<a href="{$blog['url']}showentry={$blog['blog_last_entry']}" title='{$this->ipsclass->lang['list_goto_entry']} {$blog['blog_last_entrytitle']}'>{$blog['blog_last_entryname']}</a>
			<else />
				<em>{$blog['members_display_name']} {$this->ipsclass->lang['no_entries_to_show']}</em>
			</if>
	</td>
	<td align="center" class="row1">{$blog['blog_num_comments']}</td>
	<td class="row2">
		<if="$blog['blog_last_comment_entry']">
		<span class="desc"><a href="{$blog['url']}showentry={$blog['blog_last_comment_entry']}&show=lastcomment"> <{LAST_POST}></a> {$blog['blog_last_comment_date']}</span><br/>
		<strong>{$this->ipsclass->lang['in']}</strong> <a href="{$blog['url']}showentry={$blog['blog_last_comment_entry']}" title='{$this->ipsclass->lang['list_goto_entry']} {$blog['blog_last_comment_entrytitle']}'>{$blog['blog_last_comment_entryname']}</a><br/>
		<strong>{$this->ipsclass->lang['by']}</strong> <a href="{$this->ipsclass->base_url}showuser={$blog['blog_last_comment_mid']}" title="{$blog['blog_last_comment_name']}">{$blog['blog_last_comment_name']}</a>
		<else />
		—
		</if>
	</td>
	<td align="center" class="row2">
		<if="$this->ipsclass->member['g_blog_ismod'] and $blog['bidon'] == 1 AND $listmod">
		<a href="#" title="{$this->ipsclass->lang['click_for_mod']}" onclick="blog_toggle_bid('{$blog['blog_id']}'); return false;"><img name="img{$blog['blog_id']}" src="{$this->ipsclass->vars['img_url']}/topic_selected.gif" /></a>
		</if>
		<if="$this->ipsclass->member['g_blog_ismod'] and $blog['bidon'] == 0 AND $listmod">
		<a href="#" title="{$this->ipsclass->lang['click_for_mod']}" onclick="blog_toggle_bid('{$blog['blog_id']}'); return false;"><img name="img{$blog['blog_id']}" src="{$this->ipsclass->vars['img_url']}/topic_unselected.gif" /></a>
		</if>			
	</td>
</tr>
<!-- End of Entry -->

 

skin_blog_list -> bloglist_page_header, в конец добавить:

<div class="borderwrap">
<div class="maintitle">
	<p><{CAT_IMG}> {$this->ipsclass->lang['blog_list']}</p>
</div>
<table cellspacing="1" class="ipbtable">
	<tbody><tr>
		<th width="25%" nowrap="nowrap" colspan="2"><a href="java script: do_sort( 'blog_name', '{$sort_orders['blog_name']}');">{$this->ipsclass->lang['bloglist_name']} {$sort_pics['blog_name']}</a></th>
		<th width="12%" nowrap="nowrap"><a href="java script: do_sort( 'members_display_name', '{$sort_orders['members_display_name']}');">{$this->ipsclass->lang['bloglist_member']} {$sort_pics['members_display_name']}</a></th>
		<th width="8%" nowrap="nowrap" align="center"><a href="java script: do_sort( 'blog_num_entries', '{$sort_orders['blog_num_entries']}');">{$this->ipsclass->lang['blog_num_entries']} {$sort_pics['blog_num_entries']}</a></th>
		<th width="8%" nowrap="nowrap" align="center"><a href="java script: do_sort( 'blog_num_views', '{$sort_orders['blog_num_views']}');">{$this->ipsclass->lang['blog_num_views']} {$sort_pics['blog_num_views']}</a></th>
		<th width="20%" nowrap="nowrap" align="center"><a href="java script: do_sort( 'blog_last_date', '{$sort_orders['blog_last_date']}');">{$this->ipsclass->lang['blog_last_entry']} {$sort_pics['blog_last_date']}</a></th>
		<th width="10%" nowrap="nowrap" align="center"><a href="java script: do_sort( 'blog_num_comments', '{$sort_orders['blog_num_comments']}');">{$this->ipsclass->lang['blog_num_comments']} {$sort_pics['blog_num_comments']}</a></th>
		<th width="20%" nowrap="nowrap" align="center"><a href="java script: do_sort( 'blog_last_comment', '{$sort_orders['blog_last_comment']}');">{$this->ipsclass->lang['blog_last_comment']} {$sort_pics['blog_last_comment']}</a></th>
		<th width="1%" align="center"> </th>
	</tr>

 

С шаблоном skin_blog_list -> bloglist_featured можно поступить по своему усмотрению, например убрать из него

	<div style='float: left;' class='profile_photo'>
	<a href="{$this->ipsclass->base_url}showuser={$entry['member_id']}" title="{$entry['members_display_name']}"><img src="{$entry['pp_main_photo']}" width="{$entry['pp_main_width']}" height="{$entry['pp_main_height']}" /></a>
</div>

для лаконичности: http://floomby.ru/content/d4c42d8b-78d6-48...87a8f51cfb.html :D

post-36662-1227035443_thumb.png

Ссылка на комментарий
Поделиться на других сайтах

Что уже есть.

Интересно у них всё сделано, есть проблемы с любимыми и важными блогами...

Ссылка на комментарий
Поделиться на других сайтах

Во! Девченки наши аж поперхнулись от счастья!

 

Как такое сделать, сколько это стоит и пр.пр. Можно в личку.

 

Ну вот. ;)

 

Sannis, опять пропал. :)

Я думаю как последний комментарий вытянуть, в таком же виде :D Могу опубликовать то, что есть на данный момент, оплата по желанию, не настаиваю.

Ссылка на комментарий
Поделиться на других сайтах

а) я не жмот и никогда им не был. Просто напиши сколько это будет весить (можно в личку). если адекватно - то конечно оплачу.

б) думаю многим людям, которые приобрели блоги 1.4.1 будет интересно как это сделать. Опять же я тут не жмот - готов делиться. Потому можно и в открытом доступе сделать. ;)

в) труд людей должен быть оплачен по любому. :D

Ссылка на комментарий
Поделиться на других сайтах

Результат чуть выше. Пока что нет последних комментариев и сортировки столбцов. Для первого придётся переносить немного кода из 1.3, со вторым пока не определился. Будет справедливо, если нуждающиеся перечислят по 100р на любой из кошельков в профиле. По времени это заняло и ещё займёт рублей 200-300.

 

:D

 

Если будут проблемы с шаблонами, могу проверить пункты.

Ссылка на комментарий
Поделиться на других сайтах

чуть монет отправил в качестве стимула в доделке ... :D

 

я тогда в качестве эксперимента ставлю? или ещё имеет смысл подождать? ;)

Ссылка на комментарий
Поделиться на других сайтах

Если не терпится, то можно поставить, но лучше до часов 8ми подождать, думаю ещё кусочек выложу :D
Ссылка на комментарий
Поделиться на других сайтах

Вроде всё, ставьте, посмотрим если что будет не так :D
Ссылка на комментарий
Поделиться на других сайтах

Ща займусь :D

 

пасиб

 

Поставил, есть небольшой косяк.

 

Sannis, глянешь?

 

Я про верхушку блогов.

Изменено пользователем aromashka
Ссылка на комментарий
Поделиться на других сайтах

Ща займусь :D

 

пасиб

 

Поставил, есть небольшой косяк.

 

Sannis, глянешь?

 

Я про верхушку блогов.

Что у вас в шаблоне skin_blog_list -> bloglist_page_end?

Ссылка на комментарий
Поделиться на других сайтах

ага, уже разобрался ... всё по новой пересмотрел. невнимательно файл отредактировал. вернее 2 -а раза один отредактировал. Названия схожи. + усталость. Спасибо за классную доработку. :D
Ссылка на комментарий
Поделиться на других сайтах

Осталось залить картинки в папку скина из дистрибутива блогов и будет как 1.3 :D Спасибо.
Ссылка на комментарий
Поделиться на других сайтах

так роде все залил ... сейчас проверю конечно.

 

И ещё. ну может быть совсем уж круто, но спрошу.

 

Если сделать слева в поле от названия блога маленькую картинку с авика или с фото пользователя? реально?

Ссылка на комментарий
Поделиться на других сайтах

Можно, не обещаю что завтра, но на этой неделе время будет :D
Ссылка на комментарий
Поделиться на других сайтах

И ещё. ну может быть совсем уж круто, но спрошу.

 

Если сделать слева в поле от названия блога маленькую картинку с авика или с фото пользователя? реально?

Если не вдаваться в тонкости вёрстки таблиц, то вывести фото автора блога можно в шаблонах skin_blog_list->bloglist_show_row и skin_blog_list->bloglist_show_extrow конструкцией

<a href="{$this->ipsclass->base_url}showuser={$blog['member_id']}" title="{$blog['members_display_name']}"><img src="{$blog['pp_thumb_photo']}" width="{$blog['pp_thumb_width']}" height="{$blog['pp_thumb_height']}" /></a>

Чтобы вывести аватар, нужно будет в ./sources/components_public/blog/list.php после строки

$blog = $this->ipsclass->member_set_information( $blog );

добавить:

$blog ['avatar'] = $this->ipsclass->get_avatar( $blog['avatar_location'], $this->ipsclass->member['view_avs'], $blog['avatar_size'], $blog['avatar_type'] );

В файле ./sources/sql/mysql_blog_queries.php найти:

	function blog_get_list( $a )
{
	return "SELECT b.blog_id, b.member_id, b.blog_name, b.blog_desc, b.blog_type, b.blog_exturl, b.blog_num_exthits, bl.blog_num_entries, bl.blog_num_drafts,
				   b.blog_num_views, bl.blog_last_entry, bl.blog_last_entryname, bl.blog_last_date, bl.blog_num_comments, bl.blog_last_comment,
				   bl.blog_last_comment_date, bl.blog_last_comment_entry, bl.blog_last_comment_entryname, bl.blog_last_comment_name, bl.blog_last_comment_mid,
				   b.blog_private, b.blog_pinned, b.blog_disabled, b.blog_rating_total, b.blog_rating_count, b.blog_friendly_url, b.blog_allowguests,
				   case when b.blog_rating_count>{$a['treshhold']} then (b.blog_rating_total/b.blog_rating_count) else 0 end as blog_rating,
				   CASE WHEN b.blog_id IN({$a['favourites']}) THEN 2 ELSE b.blog_pinned END as base_ordering,
				   m.members_display_name, br.last_read, bl.blog_last_update, bl.blog_last_entry_excerpt, pp.* 
			FROM ".SQL_PREFIX."blog_blogs b
			INNER JOIN ".SQL_PREFIX."members m ON b.member_id=m.id
			LEFT JOIN ".SQL_PREFIX."profile_portal pp ON b.member_id=pp.pp_member_id 
			LEFT JOIN ".SQL_PREFIX."blog_read br ON b.blog_id=br.blog_id AND br.member_id={$a['member_id']}
			LEFT JOIN ".SQL_PREFIX."blog_lastinfo bl ON b.blog_id=bl.blog_id {$a['leveljoin']}".
			($a['query'] ? " WHERE {$a['query']} " : '').
		   "ORDER BY {$a['sort_by']} {$a['sort_order']}
			LIMIT {$a['limit_a']}, {$a['limit_b']}";
}

После

				INNER JOIN ".SQL_PREFIX."members m ON b.member_id=m.id

добавить:

				LEFT JOIN ".SQL_PREFIX."member_extra me ON b.member_id=me.id

После

pp.*

добавить(внимательней с запятой):

, me.avatar_location, me.avatar_size, me.avatar_type

После этого в шаблоне можно будет использовать так:

<a href="{$this->ipsclass->base_url}showuser={$blog['member_id']}" title="{$blog['members_display_name']}">{$blog ['avatar']}</a>

 

P.S. Полностью вторую часть не тестировал, но работать она от этого хуже не должна. Если будут вопросы, задавайте :D

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
И ещё. ну может быть совсем уж круто, но спрошу.

 

Если сделать слева в поле от названия блога маленькую картинку с авика или с фото пользователя? реально?

Если не вдаваться в тонкости вёрстки таблиц, то вывести фото автора блога можно в шаблонах skin_blog_list->bloglist_show_row и skin_blog_list->bloglist_show_extrow конструкцией

<a href="{$this->ipsclass->base_url}showuser={$blog['member_id']}" title="{$blog['members_display_name']}"><img src="{$blog['pp_thumb_photo']}" width="{$blog['pp_thumb_width']}" height="{$blog['pp_thumb_height']}" /></a>

 

Спасибо за ваши усовершенствования. Вы ими затмеваете програмеров invisionboard :D

 

Но хочу вмешаться немного, и обратится к вашему опыту:

Мне кажется, что фотка будет намного лучше выглядеть не на главной странице с названием блога , а в самом блоге напротив Автора записи.

 

post-74173-1228479195_thumb.jpg

 

Там в комментариях оставляются фотки, а вот у автора записи фотки – нет.

Подскажите, как замутить чтоб фотка была и у Автора поста?

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

У меня вопрос такого плана(применительно к стандартному варианту последней версии)).

Возможно ли на личной странице автора Блога выполнить условие при загрузке страницы =

-появляется только содержание последней записи и все.

А то ждать пока ВСЕ загрузится-это жестоко,особенно когда фоток много.Кому надо посмотреть остальное-воспользуется списком справа.

Ссылка на комментарий
Поделиться на других сайтах

  • 4 месяца спустя...

Sannis!

Олег, немного скинул на Ваш WMR кошелек за эту модификацию. А также написал в ПМ небольшое ТЗ - нужно продолжение данного проекта.

Прошу ответить.

Ссылка на комментарий
Поделиться на других сайтах

Спасибо ;)В ПМ нет письма :D Нашёл где оно :) Прочитаю сегодня, отвечу скорее всего только завтра, много работы.
Ссылка на комментарий
Поделиться на других сайтах

В обще-то не горит, но и откладывать - т.е. совсем забросить :D
Ссылка на комментарий
Поделиться на других сайтах

Пока что курсовая горит более ярким пламенем :/
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.