Сделать отображение подразделов на главной форума как в SMF 2.0 Beta 4

Автор Солярис, 21 октября 2008, 17:31:44

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Солярис

Уважаемые!

Заинтересовал вопрос относительно преобразования вывода подразделов на главной странице (для форума на SMF 1.1.6) как в форуме на SMF 2.0 Beta 4.

Подскажите, каким образом следует преобразовать код и в каких файлах.

Заранее благодарен за помощь.

Badman


Солярис

Присмотритесь! На примере этого форума.
Подразделы в нем умещаются в табличке самого раздела, а не растягиваются на всю ширину форума.

Mavn

не тестировал так что могут быть ошибки
Найти

	
<
td class="windowbg" valign="middle" align="center" style="width: 12ex;"><span class="smalltext">
	
	
	
	
	
', $board['posts'], ' ', $txt[21], ' <br />
	
	
	
	
	
', $board['topics'],' ', $txt[330], '
	
	
	
	
</
span></td>
	
	
	
	
<
td class="windowbg2" valign="middle" width="22%">
	
	
	
	
	
<
span class="smalltext">';

	
	
	
	
/* The board'
and children's 'last_post's have:
	
	
	
	
time, timestamp (a number that represents the time.), id (of the post), topic (topic id.),
	
	
	
	
link, href, subject, start (where they should go for the first unread post.),
	
	
	
	
and member. (which has id, name, link, href, username in it.) */
	
	
	
	
if (!empty($board['
last_post']['id']))
	
	
	
	
	
echo '
	
	
	
	
	
	
<
b>', $txt[22], '</b>  ', $txt[525], ' ', $board['last_post']['member']['link'] , '<br />
	
	
	
	
	
	
', $txt['smf88'], ' ', $board['last_post']['link'], '<br />
	
	
	
	
	
	
', $txt[30], ' ', $board['last_post']['time'];
	
	
	
	
echo '
	
	
	
	
	
</
span>
	
	
	
	
</
td>
	
	
	
</
tr>';
	
	
	
	
// Show the "Child Boards: ". (there'
s a link_children but we're going to bold the new ones...)
	
	
	
	
if (!empty($board['
children']))
	
	
	
	
{
	
	
	
	
	
// Sort the links into an array with new boards bold so it can be imploded.
	
	
	
	
	
$children = array();
	
	
	
	
	
/* Each child in each board'
s children has:
	
	
	
	
	
	
	
idnamedescription, new (is it new?), topics (#), posts (#), href, link, and last_post. */
	
	
	
	
	
foreach (
$board['children'] as $child)
	
	
	
	
	
{
	
	
	
	
	
	
	
$child['link'] = '<a href="' $child['href'] . '" title="' . ($child['new'] ? $txt[333] : $txt[334]) . ' (' $txt[330] . ': ' $child['topics'] . ', ' $txt[21] . ': ' $child['posts'] . ')">' $child['name'] . '</a>';
	
	
	
	
	
	
	
$children[] = $child['new'] ? '<b>' $child['link'] . '</b>' $child['link'];
	
	
	
	
	
}

	
	
	
	
	
echo 
'
	
	
	
<tr>
	
	
	
	
<td colspan="3" class="windowbg'
, !empty($settings['seperate_sticky_lock']) ? '3' '''">
	
	
	
	
	
<span class="smalltext"><b>'
$txt['parent_boards'], '</b>: 'implode(', '$children), '</span>
	
	
	
	
</td>
	
	
	
</tr>'
;

заменить на


	
<
td', !empty($board['children']) ? ' rowspan="2"' : '', ' class="windowbg stats smalltext">
	
	
	
	
	
', $board['posts'], ' ', $board['is_redirect'] ? $txt['redirects'] : $txt['posts'], ' <br />
	
	
	
	
	
', $board['is_redirect'] ? '' : $board['topics'] . ' ' . $txt['board_topics'], '
	
	
	
	
</
td>
	
	
	
	
<
td', !empty($board['children']) ? ' rowspan="2"' : '', ' class="windowbg2 smalltext lastpost">';

	
	
	
	
/* The board'
and children's 'last_post's have:
	
	
	
	
time, timestamp (a number that represents the time.), id (of the post), topic (topic id.),
	
	
	
	
link, href, subject, start (where they should go for the first unread post.),
	
	
	
	
and member. (which has id, name, link, href, username in it.) */
	
	
	
	
if (!empty($board['
last_post']['id']))
	
	
	
	
	
echo '
	
	
	
	
	
<
strong>', $txt['last_post'], '</strong>  ', $txt['by'], ' ', $board['last_post']['member']['link'] , '<br />
	
	
	
	
	
', $txt['in'], ' ', $board['last_post']['link'], '<br />
	
	
	
	
	
', $txt['on'], ' ', $board['last_post']['time'];
	
	
	
	
echo '
	
	
	
	
</
td>
	
	
	
</
tr>';

	
	
	
	
// Show the "Child Boards: ". (there'
s a link_children but we're going to bold the new ones...)
	
	
	
	
if (!empty($board['
children']))
	
	
	
	
{
	
	
	
	
	
// Sort the links into an array with new boards bold so it can be imploded.
	
	
	
	
	
$children = array();
	
	
	
	
	
/* Each child in each board'
s children has:
	
	
	
	
	
	
	
idnamedescription, new (is it new?), topics (#), posts (#), href, link, and last_post. */
	
	
	
	
	
foreach (
$board['children'] as $child)
	
	
	
	
	
{
	
	
	
	
	
	
if (!
$child['is_redirect'])
	
	
	
	
	
	
	
$child['link'] = '<a href="' $child['href'] . '" title="' . ($child['new'] ? $txt['new_posts'] : $txt['old_posts']) . ' (' $txt['board_topics'] . ': ' $child['topics'] . ', ' $txt['posts'] . ': ' $child['posts'] . ')">' $child['name'] . '</a>';
	
	
	
	
	
	
else
	
	
	
	
	
	
	
$child['link'] = '<a href="' $child['href'] . '" title="' $child['posts'] . ' ' $txt['redirects'] . '">' $child['name'] . '</a>';

	
	
	
	
	
	
// Has it posts awaiting approval?
	
	
	
	
	
	
if (
$child['can_approve_posts'] && ($child['unapproved_posts'] | $child['unapproved_topics']))
	
	
	
	
	
	
	
$child['link'] .= ' <a href="' $scripturl '?action=moderate;area=postmod;sa=' . ($child['unapproved_topics'] ? 'topics' 'posts') . ';brd=' $child['id'] . ';sesc=' $context['session_id'] . '" title="' sprintf($txt['unapproved_posts'], $child['unapproved_topics'], $child['unapproved_posts']) . '" class="moderation_link">(!)</a>';

	
	
	
	
	
	
$children[] = $child['new'] ? '<strong>' $child['link'] . '</strong>' $child['link'];
	
	
	
	
	
}
	
	
	
	
	
echo 
'
	
	
	
<tr>
	
	
	
	
<td class="windowbg3 smalltext largepadding"><strong>'
$txt['parent_boards'], '</strong>: 'implode(', '$children), '</td>
	
	
	
</tr>'
;

PS кстати поменяйте языковые переменные
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

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