News:

Wondering if this will always be free?  See why free is better.

Main Menu

mehrere Buttons in Menüleiste

Started by Fipo, October 31, 2007, 09:09:22 AM

Previous topic - Next topic

Johnline

meinst du so ?

nur so funzt das forum gar nicht


// If the user is a guest, show [login] and [register] buttons.
if ($context['user']['is_guest'])
{
echo '
<li', $current_action == 'login' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=login">', $txt[34], '</a></li>
<li', $current_action == 'register' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=register">', $txt[97], '</a></li>';
}
// Otherwise, they might want to [logout]...
else
echo '
<li', $current_action == 'logout' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=logout;sesc=', $context['session_id'], '">', $txt[108], '</a></li>';

echo '

// The nibapage - button
   //if ($context['user']['is_logged'])
   //   echo '<li><a href="http://www.nibapage.at.tf" target="_blank">NiBapage Website</a></li>;
   
</ul>';

Ferrika

Wenn Du Dir den Code jetzt nochmal genau ansiehst und vergleichst den mal mit einem Abschnitt aus dem Original-Code, fällt Dir dann auf, daß da etwas fehlt an dem Block, den Du hinzugefügt hast? Wenn Du eine if-Anweisung eingibst, mußt Du sie in Klammern setzen *tipgeb*

Also, nochmal so ganz allgemein gehalten:

Wenn Du einen Button einfügen willst, kopeire einen entsprechenden Block aus dem Original-Code, setze ihn an der Stelle ein, wo Du den Button haben möchtest und ändere die entsprechenden Stellen (und da gilt meine Gebrauchsanleitung für jedes Theme gleich), um den richtigen Link und die richtige Beschriftung zu bekommen.

So etwas sollte man aber auch sehr aufmerksam machen. Wenn ich den Code sehe, den Du gepostet hast, sehe ich auf den ersten Blick, wo Du ein Problem bekommst. Aber ich werde Dir jetzt nicht vorsagen, wo, denn das kannst Du nun wirklich durch Vergleich selbst rausfinden. Nur, damit Du es beim nächsten Mal weißt  ;D
was ich nicht will, das man mir tu, das füg ich keinem andren zu

Johnline

ich hab diesen code jetzt eingefügt es ist kein neuer button dazugekommen und auch nichts passiert ?

Ist das diesmal auch falsch ich habe es vor "</lu>" geschrieben ?


Code :


// If the user is a guest, show [login] and [register] buttons.
if ($context['user']['is_guest'])
{
echo '
<li', $current_action == 'login' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=login">', $txt[34], '</a></li>
<li', $current_action == 'register' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=register">', $txt[97], '</a></li>';
}
// Otherwise, they might want to [logout]...
else
echo '
<li', $current_action == 'logout' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=logout;sesc=', $context['session_id'], '">', $txt[108], '</a></li>';

// The NiBaPage - button
   //if ($context['user']['is_logged'])
   //   echo '<li><a href="http://www.nibapage.at.tf" target="_blank">NiBaPaGe HOME</a></li>;
   



Liebe Grüße

Jorin

Geht es um den NiBaPage-Button?

Nimm mal die // weg, damit kommentierst du diese Zeile nämlich aus. Sollte so aussehen:

// The NiBaPage - button
if ($context['user']['is_logged'])
echo '<li><a href="http://www.nibapage.at.tf" target="_blank">NiBaPaGe HOME</a></li>;

Johnline

hab ich schon ...

ich bekomme einfach keinen neuen link dazu wenn ich es uploade???

hier ist die ganze index.template.php

guck dir mal das an ich mach das genauso wie du es meinst?

lg


Ferrika

Ist Dir denn aufgefallen, daß Du den Befehl "echo" noch auskommentiert hattest? So kann das nix werden.

Probier mal die Datei aus, die ich Dir angehängt habe.
was ich nicht will, das man mir tu, das füg ich keinem andren zu

Johnline

hi ferrika,

mit deiner index bekomme ich diese fehlermeldung im forum ..


Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in .../Themes/Leather/index.template.php on line 319

emplate Parse Error!
There was a problem loading the /Themes/Leather/index.template.php template or language file. Please check the syntax and try again - remember, single quotes (') often have to be escaped with a slash (\). To see more specific error information from PHP, try accessing the file directly.

310: echo '
311: <li', $current_action == 'profile' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=profile">', $txt[467], '</a></li>';
312:
313:    // The NiBaPage - button
314:    if ($context['user']['is_logged'])
315:      echo '<li><a href="http://www.nibapage.at.tf" target="_blank">NiBaPaGe HOME</a></li>;
316:
317:
318: // Go to PM center... [pm]

319: if ($context['user']['is_logged'] && $context['allow_pm'])

320: echo '
321: <li', $current_action == 'pm' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=pm">' , $txt['pm_short'] , ' ', $context['user']['unread_messages'] > 0 ? '<blink>['. $context['user']['unread_messages'] . ']</blink>' : '' , '</a></li>';
322:
323: // The [calendar]!




noex

In Zeile 315 fehlt das ' vor dem ;

Die Zeile sollte so aussehen:

315:      echo '<li><a href="http://www.nibapage.at.tf" target="_blank">NiBaPaGe HOME</a></li>';


lg
noex
"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Johnline

super jetzt gehts :)

danke euch sehr ...

Flips

#29
Bei mir sind zu viele Buttons nebeneinander.
Mit welchem Befehl erzeuge ich einen Sprung in die nächste Zeile ?

Diesen müßte ich ja dann nur an der entsprechenden Stelle zwischen einem von den Blöcken schreiben das es ein 2teilig wird ?

edit:
Ist gelöst.

master2oo8

#30
Hi,

ich hoffe es ist ok, dass ich so ein altes Thema wieder ausgrabe, wollte keinen neuen Thread desshalb eröffnen.

Ich hab den Button "Chat" hinzugefügt, funktioniert auch einwandfrei, verwende das Blackrain Design.

Aber ich bekomme diesen Fehler in der Error log
Quote
8: Use of undefined constant chat - assumed 'Chat'
File: /smf/Themes/default/MessageIndex.template.php (main_above sub template - eval?)
Line: 518

Quote
if (in_array($context['current_action'], array('galerie', 'admin', 'ban', 'boardrecount', 'cleanperms', 'detailedversion', 'dumpdb', 'featuresettings', 'featuresettings2', 'findmember', 'maintain', 'manageattachments', 'manageboards', 'managecalendar', 'managesearch', 'membergroups', 'modlog', 'news', 'optimizetables', 'packageget', 'packages', 'permissions', 'pgdownload', 'postsettings', 'regcenter', 'repairboards', 'reports', 'serversettings', 'serversettings2', 'smileys', 'viewErrorLog', 'viewmembers')))
      $current_action = 'admin';
Hab ich in der index.template.php bei blackrain nicht gefunden, habs aber beim Standarttemplate reineditiert, allerdings wird das schätzungsweiße nichts bringen.
Also wohin muss ich "chat" schreiben?

Folgenden Text habe ich bei index.template.php reineditiert:
Quote
   // The [chat] button
      if ($context['user']['is_logged'])
        echo '<li><a href="/chat" target="_blank"><span>', Chat, '</span></a></li>';

ThorstenE

#31
der Fehler ist hier:
// The [chat] button
      if ($context['user']['is_logged'])
        echo '<li><a href="/chat" target="_blank"><span>', Chat, '</span></a></li>';

genauer gesagt: ', Chat, '

probier einfach mal:
// The [chat] button
      if ($context['user']['is_logged'])
        echo '<li><a href="/chat" target="_blank"><span>Chat</span></a></li>';

bei deiner Schreibweise erwartet er nach dem Hochkomma und Komma eine PHP-Anweisung .. und Chat würde er demnach als Konstante interpretieren. daher auch der Fehler im Log..

if (in_array($context['current_action'].. ist übrigens deshalb nur in einigen Themes enthalten, weil nicht alle die aktuelle Position des Menüs ermitteln (also die Stelle, wo du dich gerade innerhalb des Menüs befindest)..

master2oo8


Aldebran77

Hallo,
ich benutzte das SMF Standard-Theme - Core und habe mir gerade erfolgreich einen Button erstellt.

Der erstellte Button bleibt aber beim drauf klicken, von der Grafik her, inaktiv.
Sprich: die Zielseite wird zwar korrekt angezeigt, aber der aktive Button steht beim Menüpunkt "Übersicht".

Habe ich irgendwo eine Einstellung übersehen?
Ich benutzte SMF Version 1.1.8

wer es sich anschauen möchte hier der Link:
http://www.a-junge.de/vermessung-forum/

es geht um den Menüpunkt Forenregeln.

Ich hoffe ihr könnt mir weiterhelfen,

Gruß
Andreas

daGroove

Moin...

Öffne mal deine "index.template.php" und suche nach:

Quote// Show the menu up top. Something like [home] [help] [profile] [logout]...
function template_menu() {

Dort findest du einige Arrays in denen die Aktionen stehen.
Beispiel:
if (in_array($context['current_action'], array('articles', 'downloads', 'search', ...)))
        $current_action = $context['current_action'];


Achte darauf das du die Zeile in der "$context['current_action']" gesetzt wird nimmst und schreib dann in das Array einfach hinten dein chat mit dran.

Beispiel:
if (in_array($context['current_action'], array('articles', 'downloads', 'search', ... , 'chat')))
        $current_action = $context['current_action'];


Damit sollte das dann klappen ;)
wer zum teufel bin ich und wenn ja wieviele?

Aldebran77

Hallo,
dort hat ich den Eintrag schon drinn. Es kann also nicht daran liegen.

mein Code sieht bisher folgendermaßen aus:


Quote// Show the menu up top. Something like [home] [help] [profile] [logout]...
function template_menu()
{
   global $context, $settings, $options, $scripturl, $txt;

   // Work out where we currently are.
   $current_action = 'home';
   if (in_array($context['current_action'], array('regeln', 'admin', 'ban', 'boardrecount', 'cleanperms', 'detailedversion', 'dumpdb', 'featuresettings', 'featuresettings2', 'findmember', 'maintain', 'manageattachments', 'manageboards', 'managecalendar', 'managesearch', 'membergroups', 'modlog', 'news', 'optimizetables', 'packageget', 'packages', 'permissions', 'pgdownload', 'postsettings', 'regcenter', 'repairboards', 'reports', 'serversettings', 'serversettings2', 'smileys', 'viewErrorLog', 'viewmembers')))
      $current_action = 'admin';
   if (in_array($context['current_action'], array('search', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm')))
      $current_action = $context['current_action'];
   if ($context['current_action'] == 'search2')
      $current_action = 'search';
   if ($context['current_action'] == 'theme')
      $current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';


und der Button:

Quote// Show the [regeln] button.
   echo ($current_action == 'regeln' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
            <td valign="top" class="maintab_' , $current_action == 'regeln' ? 'active_back' : 'back' , '">
               <a href="http://www.a-junge.de/vermessung-forum/index.php?action=forumregeln">' ,Forumregeln , '</a>
            </td>' , $current_action == 'regeln' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';

Gruß
Andreas

daGroove

#36
Quote from: daGroove on March 07, 2009, 03:56:51 AM
Achte darauf das du die Zeile in der "$context['current_action']" gesetzt wird nimmst und schreib dann in das Array einfach hinten dein chat mit dran.

NICHT bei "$current_action = 'admin';"

Versuchs mal ein Array drunter!
wer zum teufel bin ich und wenn ja wieviele?

Aldebran77

Hallo,
das ist leider auch nicht des Rätsels Lösung!?!

Gruß
Andreas


daGroove

Muss es sein!
Dir ist aber schon klar das du das dann in allen Themes machen musst? (Sicher das du das Array überall erweitert hast?)

Ansonsten klappt das bei mir wunderbar (Ich hab vorhin erst wieder einen Button erstellt)
wer zum teufel bin ich und wenn ja wieviele?

Aldebran77

Hallo,

hier nochmal mein Code aus der index.template.php

Ich habe einen Button regeln angelegt:

Quote
// Show the [regeln] button.
      echo ($current_action == 'regeln' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
            <td valign="top" class="maintab_' , $current_action == 'regeln' ? 'active_back' : 'back' , '">
               <a href="http://www.a-junge.de/vermessung-forum/index.php?action=forumregeln">' ,Forumregeln , '</a>
            </td>' , $current_action == 'regeln' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';


und anschließend die arrays an folgender Stelle erweitert:

Quote
// Show the menu up top. Something like [home] [help] [profile] [logout]...
function template_menu()
{
   global $context, $settings, $options, $scripturl, $txt;

   // Work out where we currently are.
      $current_action = 'home';
   if (in_array($context['current_action'], array('admin', 'ban', 'boardrecount', 'cleanperms', 'detailedversion', 'dumpdb', 'featuresettings', 'featuresettings2', 'findmember', 'maintain', 'manageattachments', 'manageboards', 'managecalendar', 'managesearch', 'membergroups', 'modlog', 'news', 'optimizetables', 'packageget', 'packages', 'permissions', 'pgdownload', 'postsettings', 'regcenter', 'repairboards', 'reports', 'serversettings', 'serversettings2', 'smileys', 'viewErrorLog', 'viewmembers', 'regeln' )))
      $current_action = 'admin';
   if (in_array($context['current_action'], array('search', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm', 'regeln' )))
      $current_action = $context['current_action'];
   if ($context['current_action'] == 'search2')
      $current_action = 'search';
   if ($context['current_action'] == 'theme')
      $current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';

   // Are we using right-to-left orientation?

nur der Button wird immer noch nicht aktiv geschalten.
setze ich an folgender Stelle regeln anstatt home ein verhält es sich geau umgekehrt, d.h. der Übersichtsbutton ist nicht mehr aktive sondern immer der neue Button.

Quote
// Work out where we currently are.
      $current_action = 'regeln';
   if (in_array($context['current_action'], array('admin', 'ban', 'boardrecount', 'cleanperms', 'detailedversion', 'dumpdb', 'featuresettings', 'featuresettings2', 'findmember', 'maintain', 'manageattachments', 'manageboards', 'managecalendar', 'managesearch', 'membergroups', 'modlog', 'news', 'optimizetables', 'packageget', 'packages', 'permissions', 'pgdownload', 'postsettings', 'regcenter', 'repairboards', 'reports', 'serversettings', 'serversettings2', 'smileys', 'viewErrorLog', 'viewmembers', 'regeln' )))

Wenn ich beim erstellten Buttun die alten Vorgaben drinn lasse sind immer beide Buttons gleichzeitig aktiv im Menü

Quote
// Show the [regeln] button.
      echo ($current_action == 'home' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
            <td valign="top" class="maintab_' , $current_action == 'home' ? 'active_back' : 'back' , '">
               <a href="http://www.a-junge.de/vermessung-forum/index.php?action=forumregeln">' ,Forumregeln , '</a>
            </td>' , $current_action == 'home' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';   

Es muss also irgendwie noch ein Eintrag fehlen, der den Button grafisch aktiviert!

Warum muss ich die Anderungen in allen Themes machen, wenn ich nur eines benutze? SMF greift du nur auf die index.template.php des aktuellen Themes zu.

Gruß
Andreas


Advertisement: