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

Чуть-чуть подправить мод Top5.. помогите :)


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

вот мод

 

Исправленная панель Top5

 

я убрал столбец "лучшие 5 авторов", столбец "последние сообщения" максимально расширил и поменял местами с "новыми пользователями". хочу еще чтобы показывался форум (раздел) в котором находится топик. см. картинку

 

http://img408.imageshack.us/img408/3775/0017wo.jpg

 

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

 

/sources/action_public/Boards.php

 

$this->ipsclass->DB->query("SELECT * FROM ibf_members WHERE `posts` > 0 ORDER BY `posts` DESC LIMIT 0,5");
$TPosts="";
while($tposts=$this->ipsclass->DB->fetch_row()){
$TPosts.="<tr><td width='80%'><b><a href='?showuser={$tposts['id']}'>{$tposts['name']}</a>";
$TPosts.="</b></td><td align='left' width='20%'><b>{$tposts['posts']}</b></td></tr>";
}
$this->ipsclass->DB->query("SELECT * FROM ibf_members WHERE id>0 ORDER BY `joined` DESC LIMIT 0,5");
$TNew="";
while($tnew=$this->ipsclass->DB->fetch_row()){
$TNew.="<tr><td width='80%'><b><a href='?showuser={$tnew['id']}'>{$tnew['name']}</a>";
$TNew.="</b></td><td align='left' width='20%'><b>{$tnew['posts']}</b></td></tr>";
}
$this->ipsclass->DB->query( "SELECT * FROM ibf_topics ORDER BY last_post DESC LIMIT 0,5");
$ToNew="";
while($tonew=$this->ipsclass->DB->fetch_row()){
$ToNew.="<tr><td width='80%'><b><a href='?act=ST&f={$tonew['forum_id']}&t={$tonew['tid']}&view=getlastpost'>{$tonew['title']}</a>";
$ToNew.="</b></td><td align='left' width='20%'><b>{$tonew['last_poster_name']}</b></td></tr>";
}
$this->output = str_replace( "<!-- STATPANEL -->" , $this->ipsclass->compiled_templates['skin_boards']->Top_Five_Stats($TPosts,$TNew,$ToNew) , $this->output );

 

и skin_boards - шаблон top_five_stats

 

<div class="borderwrap">
<div class=maintitle><b>
<p align="left">Статистика Top 5
</p>
</b></div>
<table width="100%" border="0" cellspacing="1" cellpadding="4">
<tr>
<td class='postlinksbar' width='30%'>Лучшие пять авторов</td>
<td class='postlinksbar' width='30%'>Пятерка новых пользователей</td>
<td class='postlinksbar' width='60%'>Последние пять сообщений</td>
</tr>
<tr>
<td class='row2' width='30%'>
<!-- Top Posters -->
<table width='100%'>
{$TPosts}
</table>
<!-- Top Posters -->
</td>
<td class='row2' width='30%'>
<!-- New Members -->
<table width='100%'>
{$TNew}
</table>
<!-- New Members -->
</td>
<td class='row2' width='30%'>
<!-- Newest Threads -->
<table width='100%'>
{$ToNew}
</table>
<!-- Newest Threads -->
</td>
</tr>
</table>
</div>
<br>

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

Често — не пробовал проверять, но у тебя выхода я смотрю нет... :D в запросы вставляй этот:

$this->ipsclass->DB->query( "SELECT * FROM ibf_forums ORDER BY last_post DESC LIMIT 0, 5");
$ToNew_by_forum="";
while($tonewbyforum=$this->ipsclass->DB->fetch_row()){
$ToNew_by_forum.="<tr><td width='80%'><b><a href='?showforum={$tonewbyforum['id']}'>{$tonewbyforum['name']}</a>";
$ToNew_by_forum.="</b></td></tr>";
}

А в шаблон переменную

{$ToNew_by_forum}

 

А потом пиши результат ;)

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

Jax, спасибо.. но вы слишком хорошо обо мне думаете ))

 

одно дело выкинуть лишнее, которое находится методом тыка, а другое - вставить новое :D

 

с запросом вроде понятно, а вот с шаблоном как?

 

добавляю переменную, дальше как? я же хочу чтоб было не отдельным столбцом таблицы, а внутри столбца последние сообщения.. см. рис.

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

добавляю переменную, дальше как? я же хочу чтоб было не отдельным столбцом таблицы, а внутри столбца последние сообщения.. см. рис.

c html знакомы? вставьте переменную {$ToNew_by_forum} куда нужно в вашем шаблоне :D

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

с html знаком по принципу - знаю что он существует.. знаю где посмотреть, что делает тот или иной тэг :D

 

давайте как для танкиста )) просто взять и вставить именно и только {$ToNew_by_forum}? или также как другие переменные??

 

например вот так

 

<td class='row2' width='30%'>
<!-- New Members -->
<table width='100%'>
{$TNew}
</table>
<!-- New Members -->

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

akura, настоящие танкисты разбираются методом тыка

просто взять и вставить именно и только {$ToNew_by_forum}? или также как другие переменные??

Какие другие? Вот у вас есть шаблон. Я вам сказал

вставьте переменную {$ToNew_by_forum} куда нужно

Я разве про другие сказал что-нибудь? :D

{$ToNew_by_forum} - выведет форумы с последнеми обновлениями в них в них (0,5), аналогично выводу последних ответов в темах

 

Найдите у себя в шаблоне

{$ToNew}

И замените на

{$ToNew} в форуме {$ToNew_by_forum}

Что должно дать такой результат:

Название темы в форуме название форума

Если конечно я правильно составил запрос =)

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

падает форум.. на мускул ссылается ))

 

mySQL query error: SELECT * FROM ibf_forum ORDER BY last_post DESC LIMIT 0, 5

 

SQL error: Table 'usr_XXXXXXXX.ibf_forum' doesn't exist

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

Запрос замените на этот, я букву "s" забыл дописать :D

$this->ipsclass->DB->query( "SELECT * FROM ibf_forums ORDER BY last_post DESC LIMIT 0,5");
$ToNew_by_forum="";
while($tonewbyforum=$this->ipsclass->DB->fetch_row()){
$ToNew_by_forum.="<tr><td width='80%'><b><a href='?showforum={$tonewbyforum['forum_id']}'>{$tonewbyforum['name']}</a>";
$ToNew_by_forum.="</b></td></tr>";
}

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

не работает! название форумов не показывает ((

 

появилась только надпись "в форуме" из шаблона, в том месте где у меня на картинке написано красным "последний топик"

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

нашел ошибку!

 

там в boards внизу кода нужно было входящую переменную тоже дописать

 

желаемое достигнуто, но!

 

надпись "на форуме" там где и сказал, а название форумов расположено под названием топиков... т.е. не параллельно им в соседнем столбце, а в этом же столбце внизу

 

$this->ipsclass->DB->query( "SELECT * FROM ibf_forums ORDER BY last_post DESC LIMIT 0,15");
$ToNew_by_forum="";
while($tonewbyforum=$this->ipsclass->DB->fetch_row()){
$ToNew_by_forum.="<tr><td width='77%'><b><a href='?showforum={$tonewbyforum['forum_id']}'>{$tonewbyforum['name']}</a>";
$ToNew_by_forum.="</b></td></tr>";
}
$this->ipsclass->DB->query("SELECT * FROM ibf_members WHERE id>0 ORDER BY `joined` DESC LIMIT 0,15");
$TNew="";
while($tnew=$this->ipsclass->DB->fetch_row()){
$TNew.="<tr><td width='77%'><b><a href='?showuser={$tnew['id']}'>{$tnew['name']}</a>";
$TNew.="</b></td><td align='left' width='10%'><b>{$tnew['posts']}</b></td></tr>";
}
$this->ipsclass->DB->query( "SELECT * FROM ibf_topics ORDER BY last_post DESC LIMIT 0,15");
$ToNew="";
while($tonew=$this->ipsclass->DB->fetch_row()){
$ToNew.="<tr><td width='77%'><b><a href='?act=ST&f={$tonew['forum_id']}&t={$tonew['tid']}&view=getlastpost'>{$tonew['title']}</a>";
$ToNew.="</b></td><td align='left' width='15%'><b>{$tonew['last_poster_name']}</b></td></tr>";
}
$this->output = str_replace( "<!-- STATPANEL -->" , $this->ipsclass->compiled_templates['skin_boards']->Top_Five_Stats($TPosts,$TNew,$ToNew,$ToNew_by_forum) , $this->output );

 

<div class="borderwrap">
<div class=maintitle><b>
<p align="left">Top 
</p>
</b></div>
<table width="100%" border="0" cellspacing="1" cellpadding="4">
<tr>
<td class='postlinksbar' width='60%'>Последние сообщения</td>
<td class='postlinksbar' width='0%'>Новые пользователи</td>
</tr>
<tr>
</td>
<td class='row2' width='30%'>
<!-- Newest Threads -->
<table width='100%'>
{$ToNew} в форуме {$ToNew_by_forum}
</table>
<!-- Newest Threads -->
</td>
<td class='row2' width='17%'>
<!-- New Members -->
<table width='0%'>
{$TNew}
</table>
<!-- New Members -->
</tr>
</table>

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

Arhar, в первом постинге картинка

 

насколько я понимаю, инфа "последний топик" и "его автор" в столбце таблицы "последние сообщения" управляются одной переменной {$ToNew}..

 

так вот сложность в том, что новую переменную {$ToNew_by_forum} нужно вставить во внутрь переменной {$ToNew}, т.е чтоб столбец форум расположился между "топиком" и "автором"

 

я мож и чушь говорю, но я так всё это дело понимаю :D

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

Вынесите эти таблицы

$ToNew.="<tr><td width='77%'><b><a href='?act=ST&f={$tonew['forum_id']}&t={$tonew['tid']}&view=getlastpost'>{$tonew['title']}</a>";
$ToNew.="</b></td><td align='left' width='15%'><b>{$tonew['last_poster_name']}</b></td></tr>";

В шаблон. Тогда переменная $ToNew будет чистой, без внутренних таблиц.

Да и вообще, советую все таблицы убрать из кода и вставить в шаблон. Так будет куда проще.

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

Jax, я без понятия что значит вынести в шаблон.. вернее как его туда вынести...

 

мне советовать бесполезно, потому как я сам ничего нового не строю и учится этому мне давноооо уже поздно

 

я просто пытаюсь переделать готовый мод, так как считаю более рациональным и/или полезным для юзера который находится на форуме

 

-----

 

я поэтому и просил чтоб для танкистов, потому как почти каждый ваш ответ вызвает у меня еще с десяток вопросов

 

а самое лучшее, что у меня получается это пользоваться командами "копировать" и "вставить" :D

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

http://forums.invisionize.com/index.php?showtopic=89888

 

Это тема поддержки этого мода - там его настоящий автор. Советую обратиться к нему.

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

да нее... по-англицки писать сложно, лень думать.. умирает он у меня.. вытесняется немецким с каждым годом всё больше и больше ))

 

да и потом, я такие понятия как: переменные, шаблоны и тд, только недавно по-русски узнал.. куда уж мне ими по-англицки кидаться

 

уповаю на то, что кто-нибудь мне здесь поможет.. если вам конкретно лень

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

господа, основную помощь Jax мне уже оказал.. спс и решпект за выдержку!!.. потом ему моя тупость просто, скорее всего, надоела )))

 

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

 

http://img408.imageshack.us/img408/3775/0017wo.jpg

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

По правде говоря, запрос составлен не очень корректно. Из него надо исключать категории (там пишется что-то $this->forum_only, но точно не уверен), к тому же, там надо писать не ['forum_id'], а просто ['id']. Оказалось все не так просто :D
Ссылка на комментарий
Поделиться на других сайтах

откатываемся назад? :D

 

насколько я понимаю, именно так устроен вывод инфы по линку "Новые сообщения"

 

http://www.ibresource.ru/forums/index.php?...amp;CODE=getnew

 

нельзя ли сделать по такому же принципу?

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

Не могу понять, какое имеет отношение ссылка данная вами и вывод форумов соотносительно последним ответам в них (которые тоже выводятся) :D

 

Может просто я не понимаю, что вы хотите? ;)

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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