• Welcome to Simple Machines Community Forum. Please login or sign up.
November 30, 2021, 05:40:16 PM

News:

Want to get involved in developing SMF, then why not lend a hand on our github!


mehrere Buttons in Menüleiste

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

Previous topic - Next topic

Fipo

Hallo,

in der Menü leiste, wo Übersicht Hilfe Admin usw steht, möchte ich gerade auf mein Gästebuch und meine Chat verweisen...

wi kann ich den Chat-Button einbauen?

inthro

Hallo,


in der index.template.php nach den Codes für die Button suchen

(ab Zeile 689)

zB der Galerie Button

Quote// Show the [gallery] button.
   echo '
         <td align="center" valign="top"><img src="' . $settings['images_url'] . '/menu_devider.gif" width="31" height="28" alt="" /></td>
         <td class="mainNav"><a href="', $scripturl, '?action=gallery">Galerie</a></td>';

Einfach kopieren, umbenennen, Link rein fertig.


MfG

Fipo

mhh also irgendwie kapier ich das noch nicht, ich würde gerne auf mein Gästebuch und Chat verlinken.:

Chat link ist: http://fipo.fi.ohost.de/Chat/chat.html [nofollow]

Gästebuch link ist: http://www.guestbook-free.com/books2/tict4c/ [nofollow]

könntet ihr mir das einbauen? das wäre nett...

Ferrika

Was kapierst Du denn daran nicht? Und wieso soll das ein Anderer für Dich machen?

Du öffnest die index.template.php Deines aktuellen Themes und suchst nach der Stelle:

Quote// // Show the menu up top. Something like [home] [help] [profile] [logout]....

Darunter sind die Anweisungen für die entsprechenden Buttons in Blöcken. Du nimmst Dir einen Block

Quote// Show the [home] button.
   echo'
            <td align="center" class="menubg' , $current_action == 'home' ? '2' : '' , '">
               <a href="', $scripturl, '">' , $txt[103] , '</a>
            </td>';

und kopierst diesen, machst eine Leerzeile unter den Block, wo Du den neuen Button einsetzen willst und fügst dort den neuen Block ein.

Dann ersetzt Du
Quote<a href="', $scripturl, '">' , $txt[103] , '</a>

den roten Text mit der entsprechenden Url, den grünen Text mit der Bezeichnung des Buttons.

Ausserdem, um Fehler zu vermeiden, solltest Du dort, wo der pinkfarbene Text angezeigt steht, einen eigenen Namen für den Button vergeben (kannst Du frei wählen) und den Namen, den Du dort vergeben hast, in dieser Zeile

Quoteif (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';

Das wiederholst Du für jeden Button, den Du einfügen willst.

Achte darauf, daß Du den Block vor
Quote// If the user is a guest, show [login] button.
einfügst.

Bevor Du das machst, mache eine Sicherungskopie von der Datei, damit Du im Notfall das Original wieder einspielen kannst. Keine Angst vor Fehlermeldungen, wir haben alle mal angefangen ;o)
was ich nicht will, das man mir tu, das füg ich keinem andren zu

Fipo


Ferrika

*indieTischkantebeiss*

Also weischt...

1. Wer das nach DER Beschreibung nicht hinbekommt, sollte vielleicht, bevor er versucht, ein Forum zu moderieren, einen html-Kurs belegen.

2. Mit "Klappt irg nicht" kann hier niemand was anfangen. Wie wärs, wenn Du es mal mit ganzen Sätzen versuchst? Und etwas detaillierter?

*grmpf*  :-X
was ich nicht will, das man mir tu, das füg ich keinem andren zu

Jorin


Dom

Hi Leute,
also nach der Anleitung habe ich es auch geschafft.
Ich habe jetzt nur ein kleines Design Problem, was aber sicherlich leicht lösen läßt.
Und zwar, werden die Button(Text) Markiert bzw, anders farbig unterlegt.
Ich habe einen Link zu meinen Portal gemacht, vor der Übersicht, wenn ich Forumsübersicht  bin, ist ein kleiner Teil von dem Portal-Button auch anders farbig markiert. Wie bekomme ich es weg?

mfg Dom :)
Ich benutze SMF 1.1.8  mit MKPortal M1.1.2b zusammen.

www.soessen.de.vu

Ferrika

November 02, 2007, 01:00:46 PM #8 Last Edit: November 02, 2007, 01:03:10 PM by Ferrika
Quote from: nehcregit on November 02, 2007, 11:32:27 AM
Ruhig, Brauner... Brrrrr...  ;D

is doch wahr *knurr*  :D

@Dom

Du hast vergessen, den Text, den ich pinkfarben gekennzeichnet habe, einzufügen, bzw. zu ändern... deswegen hatte ich das extra noch dazu gefügt.

Du mußt in dieser Zeile

Quoteif (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';

die Namen, die Du den Button gibst, einfügen und in den Kopfzeilen der Button genau diesen Namen in der Klammer angeben. Ansonsten wird jeder Button (der meistens [home] ist), als ausgewählt gekennzeichnet und deshalb andersfarbig unterlegt...

Gruß Ferrika
was ich nicht will, das man mir tu, das füg ich keinem andren zu

Dom

Hi Ferrika,
ich bekomme den Fehler einfach nicht weg.
Ich hatte deinen pinkfarben Änderungen auch schon gemacht gehabt.
Jetzt habe ich noch zusätzlich Portal in die erste Zeile mit eingetragen, aber es gab auch keine Änderung.
// Show the menu up top. Something like [portal] [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('Portal', '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';


Ich vermute den Fehler in diesen Bereich.

// Show the start of the tab section.
echo '
<table cellpadding="0" cellspacing="0" border="0" style="margin-left: 10px;">
<tr>
<td class="maintab_' , $first , '">&nbsp;</td>';

// Show the [portal] button.
echo ($current_action=='portal' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
<td valign="top" class="maintab_' , $current_action == 'Portal' ? 'active_back' : 'back' , '">
<a href="http://www.hairstories.de/hs">' , $txt[500] , '</a>
</td>' , $current_action == 'home' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';




// Show the [home] 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="', $scripturl, '">' , $txt[103] , '</a>
</td>' , $current_action == 'home' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';



Und zwar müßte irgentwie das hier weg, finde ich.

, $current_action == 'home' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';

Ich hatte es auch schongelöscht gehabt, da kam denn eine Fehlermeldung.


mfg Dom :)
Ich benutze SMF 1.1.8  mit MKPortal M1.1.2b zusammen.

www.soessen.de.vu

Ferrika

Quote// Show the [portal] button.
      echo ($current_action=='portal' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
               <td valign="top" class="maintab_' , $current_action == 'Portal' ? 'active_back' : 'back' , '">
                  <a href="http://www.hairstories.de/hs">' , $txt[500] , '</a>
               </td>' , $current_action == 'home' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';

Ich sag doch, Du hast einen vergessen *g
was ich nicht will, das man mir tu, das füg ich keinem andren zu

Dom

Hi Ferrika,
Danke, daß "home" habe ich echt Übersehen.

mfg Dom :)
Ich benutze SMF 1.1.8  mit MKPortal M1.1.2b zusammen.

www.soessen.de.vu

vmaxx98

Hallo,
mit dem Standard-Theme ist das kein Problem, ich benutze aber BlackRain, da funktioniert das nicht.
Die template.php sieht so aus:

Quote// 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')))
      $current_action = 'admin';
   if (in_array($context['current_action'], array('search', 'admin', 'calendar', 'shop', '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';

   // Are we using right-to-left orientation?
   if ($context['right_to_left'])
   {
      $first = 'last';
      $last = 'first';
   }
   else
   {
      $first = 'first';
      $last = 'last';
   }
        echo '<div id="tabs6">';

   // How about the [home] button?
      echo '<ul><li><a href="', $scripturl, '"><span>'.$txt[103].'</span></a></li>';

   // How about the [help] button?
       echo '<li><a href="', $scripturl, '?action=help" ><span>', $txt[119], '</span></a></li>';

   // How about the [search] button?
   if ($context['allow_search'])
      echo '<li><a href="', $scripturl, '?action=search"><span>', $txt[182] , '</span></a></li>';

   // Is the user allowed to administrate at all? ([admin])
        if ($context['allow_admin'])
      echo '<li><a href="', $scripturl, '?action=admin"><span>', $txt[2], '</span></a></li>';
       
   // Edit Profile... [profile]
   if ($context['allow_edit_profile'])
      echo '<li><a href="', $scripturl, '?action=profile"><span>', $txt[467], '</span></a></li>';

   // The [calendar]!
   if ($context['allow_calendar'])
      echo '<li><a href="', $scripturl, '?action=calendar"><span>', $txt['calendar24'], '</span></a></li>';

   // The [shop] button
   //if ($context['user']['is_logged'])
   //   echo '<li><a href="http://www.domain/xshop [nofollow]" target="_blank">', $txt[15000], '</a></li>;


Ich möchte also als Button eine Verlinkung in eine neues Browserfenster aufmachen - geht bei diesem Thema aber nicht. Könnt ihr helfen?

Jorin

// The HierDeinText - button
   //if ($context['user']['is_logged'])
   //   echo '<li><a href="http://www.HierDeineURL.de" target="_blank">HierDeinText</a></li>;


Einfach an gewünschte Stelle einbauen, z.B. vor dem Shop-Button?

Ferrika

Quote
   // The [shop] button
   //if ($context['user']['is_logged'])
   //   echo '<li><a href="http://www.domain/xshop" target="_blank"><span>', $txt[15000], '</span></a></li>;

Das mußt Du mit reinnehmen.

Gruß Ferrika
was ich nicht will, das man mir tu, das füg ich keinem andren zu

Jorin

Na gut. Ich hab den "Shop-Button" kopiert, da fehlte das schon.

vmaxx98

So funzt es, herzlichen Dank.
Nun möchte ich aber das nur berechtigte Mitglieder, also solche die in eine bestimmte Berechtigungsgruppe aufgenommen worden sind diesen Butto sehen.
Kann man das machen?

ディン1031

Klar geht das ;).

In der $user_info['groups'] werden alle gruppen in der der user ist geladen.

Nun kann man z.B. mit in_array(1$user_info['groups']); oder wenn man mehere gruppen prüfen will kann man das z.B. mit
$alloweGroups = array(1,2);
$result1 = array_intersect($user_info['groups'], $alloweGroups);
if(!empty($result1))
echo 'ALLOWED';
else
echo 'NOT ALLOWED';
machen. (Natürlich muß man das dem entsprechend anpassen XD, das sind nur beispiele wie es geht *g*).

Gruß
DIN1031
Support only via MOD Thread! NO PM Support!
My Forum: ayu][kult Forum
My Mods: My Small Mod Collection
My Parser: DIN1031's ModParser
Current Info: More away the next days, because i've to much work to do :x

Johnline

Hallo Leute ...

habe genau das selbe Problem

verwende die theme leather kann aber leider kein neues code bzw button einfügen ich füge es zwar ein aber es wird einfach nicht angezeigt?


wo ist hier der Fehler?
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')))
      $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';

   echo '
            <ul>';

   // Show the [home] and [help] buttons.
   echo '
               <li', $current_action == 'home' ? ' id="selected"' : '', '><a href="', $scripturl, '">', $txt[103], '</a></li>';

   // How about the [search] button?
   if ($context['allow_search'])
      echo '
               <li', $current_action == 'search' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=search">', $txt[182], '</a></li>';

   // Is the user allowed to administrate at all? ([admin])
   if ($context['allow_admin'])
      echo '
               <li', $current_action == 'admin' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=admin">', $txt[2], '</a></li>';

   // Edit Profile... [profile]
   if ($context['allow_edit_profile'])
      echo '
               <li', $current_action == 'profile' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=profile">', $txt[467], '</a></li>';

   // Go to PM center... [pm]
   if ($context['user']['is_logged'] && $context['allow_pm'])
      echo '
               <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>';

   // The [calendar]!
   if ($context['allow_calendar'])
      echo '
               <li', $current_action == 'calendar' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=calendar">', $txt['calendar24'], '</a></li>';

   // the [member] list button
   if ($context['allow_memberlist'])
      echo '
               <li', $current_action == 'mlist' ? ' id="selected"' : '', '><a href="', $scripturl, '?action=mlist">' , $txt[331] , '</a></li>';

   // 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 '
            </ul>';
}
// The nibapage - button
   //if ($context['user']['is_logged'])
   //   echo '<li><a href="hxxp:www.nibapage.at.tf [nonactive]" target="_blank">NiBapage Website</a></li>;

Ferrika

Du mußt den in die Liste mit einfügen, nicht unten drunter. Das <ul> bezeichnet den Beginn der Liste, in dem dann mit <li> die liste weitergeführt wird. Wenn Du den Button ausserhalb der Liste einfügst, wird der natürlich nicht angezeigt.

Gruß Ferrika
was ich nicht will, das man mir tu, das füg ich keinem andren zu

Advertisement: