Skip to content

Внешний вид форума

Уважаемая Fisana, прощу руки помощи))

У меня форум - ipb 2.3.6, установил скин нексус, долго верстал его, в общем, нужно перенести мембер бар в логострип ))

Поможете? собственно скрины, что есть и с чем нужно помочь.

вот скин на данный момент

post-53813-0-75488400-1367570013_thumb.jpg

Edited by damilurg

Featured Replies

  • Author

Вот как-бы хотелось осуществить

post-53813-0-43448200-1367570339_thumb.jpg

  • Author

и еще

post-53813-0-21024200-1367570377_thumb.jpg

Я более четырех лет с 2.3 не работаю. Не помню уже ничего.

Читайте старые темы, точно обсуждалось когда-то.

Например,

http://ipbskins.ru/forum/topic2308.html

 

Но вообще, если хотите, чтобы форум был похож на 3.x в расположении элементов шапки, проще обновиться.

  • Author

Fisana

Я не хочу делать похожим, просто так красивее ))

Спасибо, будем искать ©

  • 4 weeks later...
  • Author

Fisana

прошу помочь мне )

 

Начал делать себе мод "Топик Стартер", но сложилась проблемка, что я не могу прописать if(чтобы отображалось только у создателя темы)

 

ниже приведу сам код, поможете?)

 

<span class="topic_starter" title="Топик Стартер" >Topic Starter</span>

 

 

вот сам RenderRow

Edited by siv1987

  • Author

сам пытался, но результат - все Топик Стартеры :)

В переменных нет информации о starter_id.

  • Author

siv1987

как их добавить? что дописывать? ) подскажите)) пожалуйста))

Для этого нужно изменить SQL запросы.

 

Открыть /sources/sql/mysql_queries.php

 

Найти (функция topics_get_posts)

   	return "SELECT p.*, pp.*,
			m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
			me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size, m.members_display_name
				FROM ".SQL_PREFIX."posts p
			  		LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
					LEFT JOIN ".SQL_PREFIX."profile_portal pp ON (m.id=pp.pp_member_id)
			  		LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
				WHERE p.pid IN(".implode(',', $a['pids']).") 
				ORDER BY {$a['scol']} {$a['sord']}";

Заменить на

   	return "SELECT p.*, pp.*,
			m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
			me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size, m.members_display_name, t.starter_id
				FROM ".SQL_PREFIX."posts p
			  		LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
					LEFT JOIN ".SQL_PREFIX."profile_portal pp ON (m.id=pp.pp_member_id)
			  		LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
			  		LEFT JOIN ".SQL_PREFIX."topics t ON (t.tid=p.topic_id)
				WHERE p.pid IN(".implode(',', $a['pids']).") 
				ORDER BY {$a['scol']} {$a['sord']}";

 

Найти(функция topics_get_posts_with_join)

   	return "SELECT p.*, pp.*,
			m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
			me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size, m.members_display_name,
			pc.*
				FROM ".SQL_PREFIX."posts p
			  		LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
			  		LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
			  		LEFT JOIN ".SQL_PREFIX."pfields_content pc ON (pc.member_id=p.author_id)
				    LEFT JOIN ".SQL_PREFIX."profile_portal pp ON (m.id=pp.pp_member_id)
				WHERE p.pid IN(".implode(',', $a['pids']).") 
				ORDER BY {$a['scol']} {$a['sord']}";

Заменить на

   	return "SELECT p.*, pp.*,
			m.id,m.name,m.mgroup,m.email,m.joined,m.posts, m.last_visit, m.last_activity,m.login_anonymous,m.title,m.hide_email, m.warn_level, m.warn_lastwarn,
			me.msnname,me.aim_name,me.icq_number,me.signature, me.website,me.yahoo,me.location, me.avatar_location, me.avatar_type, me.avatar_size, m.members_display_name,
			pc.*, t.starter_id
				FROM ".SQL_PREFIX."posts p
					LEFT JOIN ".SQL_PREFIX."members m ON (m.id=p.author_id)
					LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)
					LEFT JOIN ".SQL_PREFIX."pfields_content pc ON (pc.member_id=p.author_id)
					LEFT JOIN ".SQL_PREFIX."profile_portal pp ON (m.id=pp.pp_member_id)
					LEFT JOIN ".SQL_PREFIX."topics t ON (t.tid=p.topic_id)
				WHERE p.pid IN(".implode(',', $a['pids']).") 
				ORDER BY {$a['scol']} {$a['sord']}";

 

Теперь в переменной $post будет starter_id, где можно сравнивать с author_id

 

<if="$post['author_id'] == $post['starter_id']">
This is a topic starter
</if>

  • Author

siv1987

Спасибо, помогли :), только вот в функции topics_get_posts_with_join после m.members_display_name, забыли дописать t.starter_id :)

 

Может кому понадобится еще:( по проще, потому что мало кто ставил еще какие моды, где затрагиваются функции topics_get_posts и topics_get_posts_with_join)

 

найти( функция topics_get_posts_with_join))

----------------------------

m.members_display_name

----------------------------

 

добавить после

 

------------------------

, t.starter_id

-----------------------

 

Найти

 

--------------------------------------------------------

LEFT JOIN ".SQL_PREFIX."member_extra me ON (me.id=m.id)

-------------------------------------------------------

 

добавить после

------------------------------------------------------

LEFT JOIN ".SQL_PREFIX."topics t ON (t.tid=p.topic_id)

------------------------------------------------------

 

 

Найти(функция topics_get_posts_with_join)

--------------------------

m.members_display_name

--------------------------

 

Добавить после

-------------------

, t.starter_id,

-------------------

 

Найти

---------------------------------------------------------------------

LEFT JOIN ".SQL_PREFIX."profile_portal pp ON (m.id=pp.pp_member_id)

---------------------------------------------------------------------

 

Добавить после

---------------------------------------------------------------------

LEFT JOIN ".SQL_PREFIX."topics t ON (t.tid=p.topic_id)

---------------------------------------------------------------------

 

 

RendeRow

 

Вставляем, куда душе угодно

------------------------------------------------------------------------------------------------------------------------------------

<if="$post['author_id'] == $post['starter_id']"> <span class="topic_starter" title="Топик Стартер" >Topic Starter</span></if>

-------------------------------------------------------------------------------------------------------------------------------------

 

css

добавляем вниз

---------------------------------------------------------------------

.topic_starter {

font-weight: bold;

border: 1px #9400D3 dotted;

padding: 2px;

margin-top: 2px;

overflow: hidden;

}

---------------------------------------------------------------------

 

Все :) теперь все у вас есть мод "Топик Стартер" для ipb 2.3.x (думаю для 2.х тоже пойдет :))

  • Author

А тут javascripter`ы обитают?? могли бы они помочь исправить одну ошибку

 

Uncaught TypeError: Cannot read property 'style' of null 

 

Если что стучите в асю - 606415894 знаю из-за чего, но не знаю как решить проблемочку)

только вот в функции topics_get_posts_with_join после m.members_display_name, забыли дописать t.starter_id

Не забыл, потому что оно не после members_display_name.

 

Если что стучите в асю

Ага, тут же все побежали стучать в асю.

  • Author

siv1987

 

:lol: это я так, на всякий)

 

ставил по вашему - не отображался "ТС"

добавил - Все заработало. :)

 

Вы случаем в состоянии помочь с работой яваскрипта?

ставил по вашему - не отображался "ТС"

Значит не тот запрос скопировали, или не скопировали.

Если присмотреться по лучше, можно его увидеть в следующем ряду.

  • Author

siv1987

точно, пардон)

Create an account or sign in to comment

Account

Navigation

Search

Search

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.