Advertisement:

Author Topic: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)  (Read 45037 times)

Offline Horseman

  • Full Member
  • ***
  • Posts: 478
  • Gender: Male
  • 'MAS VALE CABALLO QUE CAUDAL!'
    • H&H Community - die Große Deutsche Reitercommunity
Wir fügen dem oberen Menü einen neuen Button hinzu. Hier ein Beispiel für einen Button namens Chat.
Drei Dinge sind dafür erforderlich:
1. Eine Grafik welche in den Grafik Ordner des Themes übertragen wird
2. Ein Eintrag in die gewünschten Sprachdateien für den Alt Tag der Grafik
3. Das bearbeiten der index.template.php mit einem geeigneten Editor.

Wenn du ein grafisches Menü eingestellt hast fertige dir einen/einige neue/n Button/s für dein Theme / deine Themes.
Dann öffne die vorhandenen Sprachdateien und füge diesen eine Zeile für den Alt Tag der Grafik hinzu.
SMF/Themes/default/languages/index.german.php
Nehme entweder noch eine freie Zahl z.B. zwischen 36 und 40 oder einen freien Begriff. In diesem Beispiel nehmen wir einen eindeutigen Begriff und fügen folgendes hinzu:
$txt[chat] = 'Zum Chat';

Dann öffne die Datei index.template.php im Theme Ordner:
Suche nach:
Code: [Select]
// Show the menu up top.  Something like [home] [help] [profile] [logout]...
Unterhalb dieser Zeile beginnt die Funktion für die Darstellung der Menübuttons, abhängig davon ob der Besucher eingelogt ist oder nicht.
Du must entscheiden wer den Button zu sehen bekommen soll.
Alle Besucher deines Forums oder nur Besucher die sich eingelogt haben.

Sollen alle Besucher den Button sehen können empfiehlt sich ein Einbau bei:
Code: [Select]
// Show the [home] and [help] buttons.

Sollen nur eingelogte Besucher den Button sehen empfiehlt sich ein Einbau vor dem Logout Button:
Code: [Select]
<a href="', $scripturl, '?action=logout;sesc=', $context['session_id'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/logout.gif" alt="' . $txt[108] . '" style="margin: 2px 0;" border="0" />' : $txt[108]), '</a>';

Hier nun die Beispielzeile für den neuen Button der zum Chat führen soll:
Code: [Select]
<a href="zum_chat.php">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/chat.gif" alt="' . $txt[38] . '" style="margin: 2px 0;" border="0" />' : $txt[chat]), '</a>', $context['menu_separator'], '

Beachte dabei folgendes:
Die Ausgabe beginnt immer mit:
Code: [Select]
echo '
Am Ende des Echo Befehls muss ein ; stehen.
 
 Obige Beispiel Zeile endet mit , ' ist keine den Befehl abschliessende Zeile sonder könnte so zum Beispiel vor den logout Button eingefügt werden.
 Soll er dahinter erscheinen musst du hinter der Zeile für den Logout Button das ; entfernen und hinter die Beispielzeile setzen.
« Last Edit: August 26, 2006, 10:23:17 AM by noex »
Gruß Horseman
______________________________________________________

PhpOpenChat Support Portal: http://www.phpopenchat.de

Offline Ripper

  • Jr. Member
  • **
  • Posts: 319
  • Gender: Male
    • Feuerwehr Garbsen
Re: Wie füge ich dem Menü einen Button hinzu?
« Reply #1 on: April 02, 2005, 04:50:21 AM »
Hat dich das so genervt von mir, dass du jetzt erstma ne Anleitung unters FAQ machen musstest oder was ??  ;D

Offline Daniel D.

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 4,426
  • Gender: Male
Re: Wie füge ich dem Menü einen Button hinzu?
« Reply #2 on: April 02, 2005, 01:28:42 PM »
Hat dich das so genervt von mir, dass du jetzt erstma ne Anleitung unters FAQ machen musstest oder was ??  ;D
Das ist so bei FAQs. Damit sollen "nervige" (eigentlich: häufig gestellte) Fragen vermindert werden. Leider liest kaum einer die FAQ Sektion. Naja, hoffe dir konnte endlich geholfen werden. :)

Offline Dennisronja

  • Semi-Newbie
  • *
  • Posts: 91
  • Gender: Male
Re: Wie füge ich dem Menü einen Button hinzu?
« Reply #3 on: May 19, 2006, 06:43:04 PM »
und wie kann ich die adresse ändern.also wo es hingehen soll wenn man auf den button klickt?
..und mein alt text erscheint auch nicht


Quote
$txt[34] = 'Login';
$txt[35] = 'Username';
$txt[36] = 'Password';
   $txt['chat'] = 'Zum Chat';
$txt[40] = 'That username does not exist.';

Quote
                                <a href="', $scripturl, '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/home.gif" alt="' . $txt[103] . '" style="margin: 2px 0;" border="0" />' : $txt[103]), '</a>', $context['menu_separator'], '
                                <a href="zum_chat.php">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/chat.gif" alt="' . $txt[38] . '" style="margin: 2px 0;" border="0" />' : $txt['chat']), '</a>', $context['menu_separator'], '

                                <a href="', $scripturl, '?action=help" target="_blank">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/help.gif" alt="' . $txt[119] . '" style="margin: 2px 0;" border="0" />' : $txt[119]), '</a>', $context['menu_separator'];

so hab ichs gemacht...

*edit by Neakro*
Code berichtigt...
« Last Edit: November 26, 2006, 08:14:17 AM by Neakro »

Offline dieter4

  • SMF Hero
  • ******
  • Posts: 2,855
Re: Wie füge ich dem Menü einen Button hinzu?
« Reply #4 on: May 20, 2006, 08:53:53 AM »
Bei deinem rot eingefärbten geht es, indem du zum_chat.php durch die Zieladresse ersetzt.

Den Alt-Text hast du wahrscheinlich in die falsche Sprachdatei geschrieben.

Offline Bobby1983

  • Semi-Newbie
  • *
  • Posts: 21
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #5 on: November 18, 2006, 10:11:16 AM »
Hat leider nicht funktioniert. Die Fehlermeldung bleibt immer noch bestehen.

Offline Blackbeard

  • Semi-Newbie
  • *
  • Posts: 25
Re: Wie füge ich dem Menü einen Button hinzu?
« Reply #6 on: November 26, 2006, 07:52:22 AM »
Bei deinem rot eingefärbten geht es, indem du zum_chat.php durch die Zieladresse ersetzt.

Den Alt-Text hast du wahrscheinlich in die falsche Sprachdatei geschrieben.

Hallo. Ich bin zwar noch nicht ganz durchgestiegen bei eurem Forum, find es aber trotzdem super. Hab auch einiges geschafft umzuschreiben. (index.template). Mich würde jetzt mall interessieren, ob ich auch ein butten z.B. (chat-button) gesondert zentrieren kann...

MfG: Blackbeard

Offline J!ass

  • Semi-Newbie
  • *
  • Posts: 18
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #7 on: December 07, 2006, 04:56:38 AM »
So, bin einer, der das FAQ gelesen hat ;)
Hätte da aber noch mal ne Frage dazu.
Und zwar hab ich den Button funktionierend eingebunden und klappt auch alles, aber ich hätte es gerne so, dass nur eine bestimmte Benutzergruppe (Bei mir trusted members) den Button sehen kann.
Gibts eine Möglichkeit, abzufragen, in welcher Gruppe der Member ist und den Button nur im Falle eines trusted members einzublenden?

Gruß
J!ass

Edit:
Ich nutze 1.1 RC3

xduugu

  • Guest
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #8 on: December 07, 2006, 05:10:32 AM »
if (in_array(Gruppenid$user_info['groups')) vor dem Button-Code sollte helfen. Gruppenid muss natürlich durch die ID der entsprechenden Gruppe ersetzt werden.

Offline J!ass

  • Semi-Newbie
  • *
  • Posts: 18
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #9 on: December 07, 2006, 05:19:52 AM »
Ne, klappt leider nicht :(

Bei mir sieht das Ganze so aus:
Code: [Select]
if (in_array(1, $user_info['groups'])) {
                echo '
                        <a href="../coppermine/index.php" target=_blank>', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/galerie.gif" alt="' . $txt['Galerie'] . '" style="margin: 2px 0;" border="0" />' : $txt['Galerie']), '</a>', $context['menu_separator'];
            }

Aber egal, welche Usergruppe ich einsetzte, klappt nicht.
Die Gruppe, die normalerweise genommen werden soll wäre 9, Admin wäre ja 1, aber auch das klappt nicht.
Ich hab mal testweise ne andere Bedingung eingefügt und zwar:
Code: [Select]
if ($context['allow_admin']) {
                echo '
                        <a href="../coppermine/index.php" target=_blank>', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/galerie.gif" alt="' . $txt['Galerie'] . '" style="margin: 2px 0;" border="0" />' : $txt['Galerie']), '</a>', $context['menu_separator'];
            }

Das heißt ja, dass nur die Admins den Link sehen können und das klappt auch wunderbar...

Wie gesagt, ich nutze die Version 1.1RC3

xduugu

  • Guest
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #10 on: December 07, 2006, 05:34:54 AM »
Öhm... ja. Die Variable $user_info ist glaub ich nicht in den Templates verfügbar. Du musstest ein Element zum Array context in der Load.php hinzufügen. Also z.B.

$context['groupxy'] = in_array(Gruppenid$user_info['groups'); und dann im Template den Wert von $context['groupxy'] überprüfen.

Offline J!ass

  • Semi-Newbie
  • *
  • Posts: 18
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #11 on: December 07, 2006, 06:08:06 AM »
Aalso:
In der Load.php hab ich oben folgende Zeile eingefügt:
$context['grouptrusted'] = in_array(9, $user_info['groups']);

Und in der index.template.php folgende:
if ($context['grouptrusted']) {
           echo '
                        <a href="../coppermine/index.php" target=_blank>', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/galerie.gif" alt="' . $txt['Galerie'] . '" style="margin: 2px 0;" border="0" />' : $txt['Galerie']), '</a>', $context['menu_separator'];
            }


Das müsste doch eigentlich passen, oder?
Wird aber nicht mehr angezeigt, der Button.
« Last Edit: December 07, 2006, 06:23:42 AM by J!ass »

xduugu

  • Guest
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #12 on: December 07, 2006, 12:46:17 PM »
Du kannst die Zeile nicht irgendwo beliebig in die Load.php schreiben.

Offline J!ass

  • Semi-Newbie
  • *
  • Posts: 18
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #13 on: December 08, 2006, 03:20:33 AM »
Kannst du mir denn sagen, wo ich die reinscheiben muss?

xduugu

  • Guest
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #14 on: December 08, 2006, 04:01:29 AM »
Ich hatte gestern keine Datei da, aber jetzt hab ich mal nachgeschaut.

Nach der Zeile
Code: [Select]
$context['user']['name'] = &$user_info['name'];
könntest du es z.B. einfügen.

Offline J!ass

  • Semi-Newbie
  • *
  • Posts: 18
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #15 on: December 08, 2006, 04:14:57 AM »
Also ich weiß auch nicht...
Es will und will nicht klappen.
Hab die Codezeile genau an der von dir angegebenen Stelle eingefügt und auch mal testweise die Variable $context['grouptrusted'] statt des Buttons ausgeben lassen.
Die Variable ist immer leer, daher wird dann der Button auch nicht angezeigt.

xduugu

  • Guest
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #16 on: December 08, 2006, 04:37:42 AM »
Hast du die Zeile direkt von mir kopiert?

$context['groupxy'] = in_array(Gruppenid$user_info['groups'); ist natürlich falsch und sollte $context['groupxy'] = in_array(Gruppenid$user_info['groups']); heißen, wobei eigentlich ein Syntaxerror kommen sollte.

edit: Bei mir gehts 1a.
« Last Edit: December 08, 2006, 04:40:45 AM by xduugu »

Offline J!ass

  • Semi-Newbie
  • *
  • Posts: 18
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #17 on: December 08, 2006, 07:07:38 AM »
Ich hatte es eben auch mal zwischenzeitlich, hab dann aber was probiert.
Und zwar ist die Gruppe, die den Link nicht sehen soll die mit der ID14.
Was muss ich denn anpassen, damit genau diese Gruppe den Link nicht sieht, alle anderen aber schon.

Es geht nämlich darum, dass ich als Admin, da ich nicht die primäre Gruppe "Trusted Member" mit ID9 habe, sondern Admin mit ID1, den Link dann nicht sehe...
Deshalb würde ich es gerne so anpassen, dass alle Gruppen den Link sehen, nur eben die Member der Gruppe mit der ID14 nicht.

xduugu

  • Guest
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #18 on: December 08, 2006, 07:32:47 AM »
Entweder stellst du dann bei dir als sekundäre Gruppe Trusted Member ein oder du tauschsts die Zeile $context['groupxy'] = in_array(9$user_info['groups']); durch $context['groupxy'] = !in_array(14$user_info['groups']); aus. Dadurch sehen aber auch alle, die als sekundäre Gruppe die Gruppe 14 eingestellt haben, den Link nicht.

Offline J!ass

  • Semi-Newbie
  • *
  • Posts: 18
Re: [Tutorial] Wie füge ich dem Menü einen Button hinzu? (Version 1.0.x)
« Reply #19 on: December 08, 2006, 07:55:08 AM »
Also bei mir siehts derzeit so aus:
Load.php:
Code: [Select]
else
$context['user']['name'] = &$user_info['name'];
        $context['grouptrusted'] = !in_array(14, $user_info['groups']);

und index.template.php:
Code: [Select]
if ($context['grouptrusted']) {
                echo '
                        <a href="../coppermine/index.php" target=_blank>', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/' . $context['user']['language'] . '/galerie.gif" alt="' . $txt['Galerie'] . '" style="margin: 2px 0;" border="0" />' : $txt['Galerie']), '</a>', $context['menu_separator'];
            } else { echo "Test"; }

Ich hab mal zum Test das echo ausgegeben und er springt immer ins else.
Hab ich irgendwo noch nen Fehler?

Btw: Vielen Dank für deine Geduld :)