Редактирование пунктов меню форума

Автор remixsamara, 09 июля 2023, 18:52:51

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

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

remixsamara

Уважаемые, подскажите пожалуйста, - уже всю голову сломал (в php не сильно силён, мягко говоря).

В 2.0.19 хочу убрать лишние пункты меню, такие как "Помощь" и "Поиск", например. Единственное что нарыл, это строчки в header файла index.template.php

<link rel="help" href="', $scripturl, '?action=help" />
<link rel="search" href="', $scripturl, '?action=search" />

Но их удаление ни на что не повлияло. 


remixsamara

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

digger®

Цитата: remixsamara от 10 июля 2023, 14:59:36Cпасибо!
Мод, действительно, решил поставленную задачу. Но нарисовалась новая: теперь есть желание ещё и поменять местами некоторые пункты меню. Похоже, всё же придётся искать где-же прячется этот кусок кода, выводящий меню форума...
В Sources/Subs.php функция setupMenuContext() в ней массив со стандартными кнопками, можно элементы массива поменять местами.

remixsamara

Опять нуждаюсь в помощи. Решил добавить новый пункт меню, - нашёл перечень пунктов "function setupMenuContext()" , прописал новый в параметре  "$buttons = array( "  (после "home" добавил "musical"), всё работает, открывается... Но при открытии нового пункта в меню подсвечивается не он, а пункт "Главная". Что-то где-то ещё нужно подправить?

И ещё один момент. После установки портала TinyPortal был добавлен пункт меню "Форум" после первого пункта "Главная". И теперь эта парочка находятся в связке и новые пункты добавляются либо перед ними, либо после. А как бы разместить новый пункт между ними? Можно сделать это средствами самого портала, но при этом, опять же, пункт меню не подсвечивается и не нашёл как сделать разворачивающийся список в пункте средствами портала.

function setupMenuContext()
{
global $context, $modSettings, $user_info, $txt, $scripturl;

// Set up the menu privileges.
$context['allow_search'] = allowedTo('search_posts');
$context['allow_admin'] = allowedTo(array('admin_forum', 'manage_boards', 'manage_permissions', 'moderate_forum', 'manage_membergroups', 'manage_bans', 'send_mail', 'edit_news', 'manage_attachments', 'manage_smileys'));
$context['allow_edit_profile'] = !$user_info['is_guest'] && allowedTo(array('profile_view_own', 'profile_view_any', 'profile_identity_own', 'profile_identity_any', 'profile_extra_own', 'profile_extra_any', 'profile_remove_own', 'profile_remove_any', 'moderate_forum', 'manage_membergroups', 'profile_title_own', 'profile_title_any'));
$context['allow_memberlist'] = allowedTo('view_mlist');
$context['allow_calendar'] = allowedTo('calendar_view') && !empty($modSettings['cal_enabled']);
$context['allow_moderation_center'] = $context['user']['can_mod'];
$context['allow_pm'] = allowedTo('pm_read');

// Aeva Media changes - recalculate number of unseen items
if (!empty($user_info['aeva_unseen']) && $user_info['aeva_unseen'] == -1)
{
global $sourcedir;
require_once($sourcedir . '/Aeva-Subs.php');
aeva_loadSettings();
}
// End Aeva Media changes

$cacheTime = $modSettings['lastActive'] * 60;

// All the buttons we can possible want and then some, try pulling the final list of buttons from cache first.
if (($menu_buttons = cache_get_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $cacheTime)) === null || time() - $cacheTime <= $modSettings['settings_updated'])
{
$buttons = array(
'home' => array(
'title' => $txt['home'],
'href' => $scripturl,
'show' => empty($modSettings['addremovetab_home']) ? true : false,
'sub_buttons' => array(
),
'is_last' => $context['right_to_left'],
),
      'musical' => array(
'title' => $txt['musical'],
'href' => $scripturl . '?page=musical',
'show' => empty($modSettings['addremovetab_home']) ? true : false,       
'sub_buttons' => array(
        'iisus' => array(
'title' => $txt['iisus'],
'href' => $scripturl . '?page=musical2',
'show' => true,
),
            'notrdam' => array(
'title' => $txt['notrdam'],
'href' => $scripturl . '?page=musical3',
'show' => true,
),
            'mozart' => array(
'title' => $txt['mozart'],
'href' => $scripturl . '?page=musical4',
'show' => true,
),
            'montecristo' => array(
'title' => $txt['montecristo'],
'href' => $scripturl . '?page=musical5',
'show' => true,
),
            'kingartur' => array(
'title' => $txt['kingartur'],
'href' => $scripturl . '?page=musical6',
'show' => true,
),
            'romeoandjuli' => array(
'title' => $txt['romeoandjuli'],
'href' => $scripturl . '?page=musical7',
'show' => true,
),
            'prizrakopery' => array(
'title' => $txt['prizrakopery'],
'href' => $scripturl . '?page=musical8',
'show' => true,
),
            'portal2' => array(
'title' => $txt['portal2'],
'href' => $scripturl . '?page=musical9',
'show' => true,
),
            '12month' => array(
'title' => $txt['12month'],
'href' => $scripturl . '?page=musical10',
'show' => true,
),
            'bremen' => array(
'title' => $txt['bremen'],
'href' => $scripturl . '?page=musical10',
'show' => true,
),
            'snowqween' => array(
'title' => $txt['snowqween'],
'href' => $scripturl . '?page=musical10',
'show' => true,
),
),
),

digger®

Цитата: remixsamara от 15 июля 2023, 18:39:45Опять нуждаюсь в помощи. Решил добавить новый пункт меню, - нашёл перечень пунктов "function setupMenuContext()" , прописал новый в параметре  "$buttons = array( "  (после "home" добавил "musical"), всё работает, открывается... Но при открытии нового пункта в меню подсвечивается не он, а пункт "Главная". Что-то где-то ещё нужно подправить?
https://www.simplemachines.ru/index.php?topic=5134.0

remixsamara

Цитата: digger® от 16 июля 2023, 22:15:56https://www.simplemachines.ru/index.php?topic=5134.0
Спасибо, - прочитал тему, разобрался. В качестве новых пунктов меню я делал страницы, сгенерированные порталом с адресом вида "index.php?page=name", а не "index.php?action=name". Поэтому подсветка активного пункта меню у меня не работает, к сожалению. И мод "Ultimate Menu" тоже не помогает в этом случае. Жаль.

remixsamara

Цитата: remixsamara от 15 июля 2023, 18:39:45...И ещё один момент. После установки портала TinyPortal был добавлен пункт меню "Форум" после первого пункта "Главная". И теперь эта парочка находятся в связке и новые пункты добавляются либо перед ними, либо после. А как бы разместить новый пункт между ними? 
Разобрался. Порядок расположения пункта меню "Форум" определяется файле TinyPortal\Integrate.php
В нём нужно параметр "home " заменить на обозначение того пункта меню, после которого хочется разместить "Форум"

        // Add the forum button
        $buttons = array_merge(
                array_slice($buttons, 0, array_search('home', array_keys($buttons), true) + 1),
                array (
                    'forum' => array (
                        'title' => isset($txt['tp-forum']) ? $txt['tp-forum'] : 'Forum',
                        'href' => $scripturl.'?action=forum',
                        'show' => ($context['TPortal']['front_type'] != 'boardindex') ? true : false,
                        'icon' => 'menu_tpforum',
                    ),
                ),
                $buttons
        );