Akzeptieren

Diese Website verwendet Cookies. Durch die Nutzung dieser Webseite erklären Sie sich damit einverstanden, dass Cookies gesetzt werden. Mehr erfahren

 

Tipps zum SMF Menü im Header

  • Antworten 0
  •  
  • Aufrufe 738

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Franky

  • Administrator
  • Neuling
  • *****
  • Beiträge: 19
Tipps zum SMF Menü im Header
« am: 01 Juni 2017, 19:27 »
Grundsätzlich warne ich davor Menüpunkte in der Subs.php zu entfernen. Dies könnte das Forum lahmlegen oder das Fehlerprotokoll unendlich befüllen. Einige Modifikationen nutzen einige Menüpunkte zum einfügen vor oder nach einem Menüpunkt ihre Menü Buttons einzufügen. Um Menüpunkte zu entfernen folgende Tipps am Beispiel Menüpunkt "Hilfe". Funktioniert auch bei den anderen Buttons.

Subs.php

Menü Button ausblenden
Code: PHP
  1.          'help' => array(
  2.             'title' => $txt['help'],
  3.             'href' => $scripturl . '?action=help',
  4.             'show' => true,
  5.             'sub_buttons' => array(
  6.             ),
  7.          ),

Um einen Menüpunkt aus dem Menü zu entfernen gibt es 2 Möglichkeiten:
1. komplett ausblenden
Code: PHP
  1. 'show' => true,
zu
Code: PHP
  1. 'show' => false,
Das deaktiviert den Menüpunkt für alle

2. nur für bestimmte Benutzergruppen ausblenden
ändern zu
Code: PHP
  1. 'show' => allowedTo('admin_forum'),
dieser Button ist dann nur mit Admin Berechtigung zu sehen

Code: PHP
  1. 'show' => $context['allow_moderation_center'],
dieser wäre nur für Moderatoren sichtbar

Code: PHP
  1. 'show' => $user_info['is_guest'],
dieser ist nur für Gäste sichtbar

Code: PHP
  1. 'show' => !$user_info['is_guest'],
dieser ist nur für registrierte Benutzer sichtbar. Wichtig ist das Ausrufezeichen vor $user_info => !$user_info

Da kann man auch für bestimmte benutzerdefinierte Benutzer Gruppen benutzerdefinierte Berechtigungen einsetzen.

Menü Button einfügen
Zum Beispiel vor dem Button "Hilfe"
Findet
Code: PHP
  1.                         'help' => array(
  2.                                 'title' => $txt['help'],
  3.                                 'href' => $scripturl . '?action=help',
  4.                                 'show' => true,
  5.                                 'sub_buttons' => array(
  6.                                 ),
  7.                         ),
davor fügt ihr euren Button ein. Siehe als Beispiel nächsten Block
Code: PHP
  1.                         'link_1' => array(
  2.                                 'title' => 'Link 1',
  3.                                 'href' => 'http://www.link_1.dev',
  4.                                 'show' => true,
  5.                                 'sub_buttons' => array(
  6.                                 ),
  7.                         ),

Mit Untermenü
Beim letzten Untermenü muss immer beim letzten Untermenü 'is_last' => true, eingefügt werden
Code: PHP
  1.                         'link_1' => array(
  2.                                 'title' => 'Link 1',
  3.                                 'href' => 'http://www.link_1.dev',
  4.                                 'show' => true,
  5.                                 'sub_buttons' => array(
  6.                                         'unterlink_1' => array(
  7.                                                 'title' => 'Unterlink 1',
  8.                                                 'href' => 'http://www.unterlink_1.dev',
  9.                                                 'show' => true,
  10.                                                 'is_last' => true,
  11.                                         ),
  12.                                 ),
  13.                         ),

Code: PHP
  1.                         'link_1' => array(
  2.                                 'title' => 'Link 1',
  3.                                 'href' => 'http://www.link_1.dev',
  4.                                 'show' => true,
  5.                                 'sub_buttons' => array(
  6.                                         'unterlink_1' => array(
  7.                                                 'title' => 'Unterlink 1',
  8.                                                 'href' => 'http://www.unterlink_1.dev',
  9.                                                 'show' => true,
  10.                                         ),
  11.                                         'unterlink_2' => array(
  12.                                                 'title' => 'Unterlink 2',
  13.                                                 'href' => 'http://www.unterlink_2.dev',
  14.                                                 'show' => true,
  15.                                                 'is_last' => true,
  16.                                         ),
  17.                                 ),
  18.                         ),

Um die Buttons je nach Berechtigung anzeigen zu lassen, schaut oben 2. nur für bestimmte Benutzergruppen ausblenden

Wenn ihr die Titel nicht HardCoded  einfügen wollt oder in mehreren Sprachen anzeigen lassen wollt, müsst ihr folgendermaßen vorgehen:

Ändert
Code: PHP
  1. 'Link 1',
zu
(self_ ist ein Beispiel, kann auch huber_ sein. Passt aber auf das dieses Präfix nicht schon anders verwendet wird)
Code: PHP
  1. $txt['self_link_eins'],

Öffnet dann Themes/default/languages/Modifications.*dein_Sprachpaket.php
fügt am Anschluss vorhandener Strings mit einer Leerzeile danach ein
Code: PHP
  1. //self links
  2. $txt['self_link_eins'] = 'Link 1';

Anschließend den Cache im Admin Center leeren. Fertig