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

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

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

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

Пример:

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

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

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

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

Сайт metarad

Поделиться

2 (11.03.2013 14: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

расширение (Please log in or register to see this URL)

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

прошу прощения, кривую ссылку дал вначале.
Вот расширение, ссылка на скачивание (Please log in or register to see this URL)

(Please log in or register to see this URL)

Сайт Xakker

Поделиться