1 (10.03.2013 22:23 отредактировано metarad)

Тема: Как поместить название категории в тайтл?

Здравствуйте. Версия Punbb 1.4.2

На форуме создано несколько категорий, в каждой из категорий несколько форумов

Пример:

Категория-1 (Форум-1, Форум-2, Форум-3)

Если я зайду в Категория-1, Форум-1 - то в тайтле будет только: "Форум-1 - название форума"
А хотелось бы чтобы в тайтле было: "Категория-1 - Форум-1 - название форума"

То есть название категории форума не подставляется в тайтл sad
Мне непонятно почему так сделано и кажется это неправильным.

Как исправить ситуацию?

Сайт metarad

Поделиться

2 (11.03.2013 02:04 отредактировано yandrey)

Re: Как поместить название категории в тайтл?

для viewforum.php как то примерно так

vf_qr_get_forum_info

$query['SELECT'] .= ', c.cat_name';

$query['JOINS'][] = array(
                        'INNER JOIN'    => 'categories AS c',
                        'ON'                    => 'c.id=f.cat_id'
                );

vf_pre_header_load

$forum_page['crumbs'][1][0] = $cur_forum['cat_name'].' — '.$cur_forum['forum_name'];

для viewtopic, post и edit повторить с корректировками где требуется

Сайт yandrey

Поделиться

3

Re: Как поместить название категории в тайтл?

Эмм, непонятно sad

Сайт metarad

Поделиться

4

Re: Как поместить название категории в тайтл?

metarad пишет:

Эмм, непонятно sad

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

Сайт yandrey

Поделиться

5

Re: Как поместить название категории в тайтл?

yandrey пишет:
metarad пишет:

Эмм, непонятно sad

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


мне добавить приведенные вами строки в файл viewforum.php ?

после строк vf_qr_get_forum_info и vf_pre_header_load соответственно?

Сайт metarad

Поделиться

6

Re: Как поместить название категории в тайтл?

ладно, опробую скопировать с своего форума без лишнего, 1.3 версия, но не принципиально
где есть изменения, там cat_name и прочие cat

viewforum.php

// Fetch some info about the forum
$query = array(
    'SELECT'    => 'f.forum_name, f.redirect_url, f.moderators, f.num_topics, f.sort_by, fp.post_topics, c.cat_name',
    'FROM'        => 'forums AS f',
    'JOINS'        => array(
        array(
            'INNER JOIN'    => 'categories AS c',
            'ON'            => 'c.id=f.cat_id'
        ),
        array(
            'LEFT JOIN'        => 'forum_perms AS fp',
            'ON'            => '(fp.forum_id=f.id AND fp.group_id='.$forum_user['g_id'].')'
        )
    ),
    'WHERE'        => '(fp.read_forum IS NULL OR fp.read_forum=1 OR f.id=1) AND f.id='.$id
);

// Setup breadcrumbs
$forum_page['crumbs'] = array(
    array($forum_config['o_board_title'], forum_link($forum_url['index'])),
    array($cur_forum['cat_name'].' — '.$cur_forum['forum_name'], forum_link($forum_url['forum'], array($id, sef_friendly($cur_forum['forum_name']))))
);

viewtopic.php

// Fetch some info about the topic
$query = array(
    'SELECT'    => 't.poster, t.subject, t.first_post_id, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, t.num_views, c.cat_name',
    'FROM'        => 'topics AS t',
    'JOINS'        => array(
        array(
            'INNER JOIN'    => 'forums AS f',
            'ON'            => 'f.id=t.forum_id'
        ),
        array(
            'INNER JOIN'    => 'categories AS c',
            'ON'            => 'c.id=f.cat_id'
        ),
        array(
            'LEFT JOIN'        => 'forum_perms AS fp',
            'ON'            => '(fp.forum_id=f.id AND fp.group_id='.$forum_user['g_id'].')'
        )
    ),
    'WHERE'        => '(fp.read_forum IS NULL OR fp.read_forum=1 OR f.id=1) AND t.id='.$id.' AND t.moved_to IS NULL'
);


// Setup breadcrumbs
$forum_page['crumbs'] = array(
    array($forum_config['o_board_title'], forum_link($forum_url['index'])),
    array($cur_topic['cat_name'].' — '.$cur_topic['forum_name'], forum_link($forum_url['forum'], array($cur_topic['forum_id'], sef_friendly($cur_topic['forum_name'])))),
    array($cur_topic['subject'], forum_link($forum_url['topic'], array($id, sef_friendly($cur_topic['subject']))))
);

post.php

// Fetch some info about the topic and/or the forum
if ($tid)
{
    $query = array(
        'SELECT'    => 'f.id, f.forum_name, f.moderators, f.redirect_url, fp.post_replies, fp.post_topics, t.subject, t.closed, s.user_id AS is_subscribed, c.cat_name',
        'FROM'        => 'topics AS t',
        'JOINS'        => array(
            array(
                'INNER JOIN'    => 'forums AS f',
                'ON'            => 'f.id=t.forum_id'
            ),
            array(
                'INNER JOIN'    => 'categories AS c',
                'ON'            => 'c.id=f.cat_id'
            ),
            array(
                'LEFT JOIN'        => 'forum_perms AS fp',
                'ON'            => '(fp.forum_id=f.id AND fp.group_id='.$forum_user['g_id'].')'
            ),
            array(
                'LEFT JOIN'        => 'subscriptions AS s',
                'ON'            => '(t.id=s.topic_id AND s.user_id='.$forum_user['id'].')'
            )
        ),
        'WHERE'        => '(fp.read_forum IS NULL OR fp.read_forum=1) AND t.id='.$tid
    );

    ($hook = get_hook('po_qr_get_topic_forum_info')) ? eval($hook) : null;
}
else
{
    $query = array(
        'SELECT'    => 'f.id, f.forum_name, f.moderators, f.redirect_url, fp.post_replies, fp.post_topics, c.cat_name',
        'FROM'        => 'forums AS f',
        'JOINS'        => array(
            array(
                'INNER JOIN'    => 'categories AS c',
                'ON'            => 'c.id=f.cat_id'
            ),
            array(
                'LEFT JOIN'        => 'forum_perms AS fp',
                'ON'            => '(fp.forum_id=f.id AND fp.group_id='.$forum_user['g_id'].')'
            )
        ),
        'WHERE'        => '(fp.read_forum IS NULL OR fp.read_forum=1) AND f.id='.$fid
    );

    ($hook = get_hook('po_qr_get_forum_info')) ? eval($hook) : null;
}

// Setup breadcrumbs
$forum_page['crumbs'][] = array($forum_config['o_board_title'], forum_link($forum_url['index']));
$forum_page['crumbs'][] = array($cur_posting['cat_name'].' — '.$cur_posting['forum_name'], forum_link($forum_url['forum'], array($cur_posting['id'], sef_friendly($cur_posting['forum_name']))));

edit.php

// Fetch some info about the post, the topic and the forum
$query = array(
    'SELECT'    => 'f.id AS fid, f.forum_name, f.moderators, f.redirect_url, fp.post_replies, fp.post_topics, t.id AS tid, t.subject, t.posted, t.first_post_id, t.closed, p.poster, p.poster_id, p.message, p.hide_smilies, c.cat_name',
    'FROM'        => 'posts AS p',
    'JOINS'        => array(
        array(
            'INNER JOIN'    => 'topics AS t',
            'ON'            => 't.id=p.topic_id'
        ),
        array(
            'INNER JOIN'    => 'forums AS f',
            'ON'            => 'f.id=t.forum_id'
        ),
        array(
            'INNER JOIN'    => 'categories AS c',
            'ON'            => 'c.id=f.cat_id'
        ),
        array(
            'LEFT JOIN'        => 'forum_perms AS fp',
            'ON'            => '(fp.forum_id=f.id AND fp.group_id='.$forum_user['g_id'].')'
        )
    ),
    'WHERE'        => '(fp.read_forum IS NULL OR fp.read_forum=1) AND p.id='.$id
);

// Setup breadcrumbs
$forum_page['crumbs'] = array(
    array($forum_config['o_board_title'], forum_link($forum_url['index'])),
    array($cur_post['cat_name'].' — '.$cur_post['forum_name'], forum_link($forum_url['forum'], array($cur_post['fid'], sef_friendly($cur_post['forum_name'])))),
    array($cur_post['subject'], forum_link($forum_url['topic'], array($cur_post['tid'], sef_friendly($cur_post['subject'])))),
    (($id == $cur_post['first_post_id']) ? $lang_post['Edit topic'] : $lang_post['Edit reply'])
);

Сайт yandrey

Поделиться

7

Re: Как поместить название категории в тайтл?

yandrey, проделал все описываемые изменения, но название категории в тайтл не подставляется sad

Сайт metarad

Поделиться

8

Re: Как поместить название категории в тайтл?

metarad пишет:

yandrey, проделал все описываемые изменения, но название категории в тайтл не подставляется sad

расширение категории для форума

Добавлено спустя 32 минуты 45 секунд:

прошу прощения, кривую ссылку дал вначале.
Вот расширение, ссылка на скачивание Pan Categories

Новые стили и расширения на  PunBB.INFO

Поделиться