• Welcome to Simple Machines Community Forum. Please login or sign up.
December 05, 2021, 11:51:20 PM

News:

Join the Facebook Fan Page.


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

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

March 29, 2008, 05:17:35 AM #29 Last Edit: March 30, 2008, 01:10:21 PM by Roesi
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

July 17, 2008, 03:16:48 PM #30 Last Edit: July 17, 2008, 03:19:48 PM by master2oo8
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

July 18, 2008, 12:59:50 AM #31 Last Edit: July 18, 2008, 01:01:33 AM by ThorstenE
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

March 07, 2009, 07:18:19 PM #36 Last Edit: March 07, 2009, 07:20:00 PM by daGroove
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


daGroove

March 08, 2009, 11:08:39 AM #40 Last Edit: March 08, 2009, 11:10:22 AM by daGroove
Die action muss schon stimmen ;)


// 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', 'forumregeln' )))
      $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?
wer zum teufel bin ich und wenn ja wieviele?

Aldebran77

Hallo daGroove,

Danke für deine schnelle Hilfe, jetzt funktioniert es und ich habe wieder etwas dazugelernt.

Gruß
Andreas

Advertisement: