Tworzenie nowych pozycji menu w SMF

Wiele osób boryka się z problemem dodawania nowych przycisków do menu forum. Główny problem polega na tym, że aby dodać nową pozycję, trzeba edytować pliki .php, a z tym nie każdy umie sobie poradzić. Modyfikacje te jednak nie są skomplikowane, a po zapoznaniu się z tym tutorialem, każdy powinienem sobie z nimi poradzić. Jak się zatem do tego zabrać?

Aby móc dodawać własne przyciski, należy zrozumieć kod, dzięki temu będziemy mogli tworzyć zaawansowane pozycje menu, dopasowane do naszych potrzeb. Znajduje się on w pliku o nazwie Subs.php w folderze sources. Struktura kodu pojedynczej pozycji menu zawsze wygląda tak:

‚forum’ => array(
‚title’ => ‚Forum’,
‚href’ => $scripturl . ‚?action=forum’,
‚show’ => true,
‚sub_buttons’ => array(
‚regulamin’ => array(
‚title’ => ‚Regulamin forum’,
‚href’ => $scripturl . ‚?topic=1.msg18’,
‚show’ => true,
),
),
),

Interesujące nas pozycje to: title, href, show i sub_buttons.

Title – to tytuł przycisku, który pojawi się na pasku menu, w prezentowanym przykładzie jest to przycisk, który odsyła nas do forum, a w menu pojawia się jako napis „Forum”. Jeśli nasze forum ma kilka wersji językowych nazwę należy przedstawić w taki sposób ‚title’ => $txt[‚Forum’]

Href – jak się można domyślić to adres, do którego przycisk będzie przekierowywać. Tutaj jest kilka opcji podawania tego parametru, może to być zwykły ciąg znaków, będący pełnym adresem url np. http://example.com lub (jeśli chcemy odesłać użytkownika do miejsca na naszym forum) można wykorzystać zmienną $scripturl, która wyświetla adres główny forum. Zapis z przykładu ‚href’ => $scripturl . ‚?action=forum’, tworzy adres tego typu http://adresnaszegoforum.pl?action=forum.

Show – ten parametr jest wartością boolean (tryb logiczny), co znaczy, że przyjmuje tylko dwie wartości – true lub false. Wartość true oznacza, że przycisk będzie widoczny zawsze, w całym naszym serwisie, natomiast false, że tylko na wybranych stronach.

Sub_buttons – opcja ta pozwala na tworzenie zagnieżdżonych elementów menu tzw. menu rozwijanego. Jak widać na przykładzie składa się również z tablicy, w której w taki sam sposób jak w przypadku głównych przycisków, podajemy tile, href i opcje show. Każdy przycisk w zagnieżdżonym menu powinien tworzyć osobną tablicę. Na przykład:

‚forum’ => array(
‚title’ => ‚Forum’,
‚href’ => $scripturl . ‚?action=forum’,
‚show’ => true,
‚sub_buttons’ => array(
‚podpunkt1’ => array(
‚title’ => ‚Pierwszy Zagnieżdżony Element’,
‚href’ => $scripturl . ‚?topic=1.msg18’,
‚show’ => true,
),
‚podpunkt2’ => array(
‚title’ => ‚Drugi Zagnieżdżony Element’,
‚href’ => $scripturl . ‚?topic=1.msg18’,
‚show’ => true,
),
),
),

Jak widać rozumiejąc kod można w bardzo prosty sposób dodawać i edytować poszczególne elementy menu. Dla tych, którzy mimo wszystko wolą iść na łatwiznę, powstało wiele modyfikacji, które pozwalają na wygodniejsze zarządzanie pozycjami menu z poziomu panelu administracyjnego.

Leave a Reply

Required fields are marked*