Uutiset:

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

Main Menu
Advertisement:

Custom action nur für Mitglieder

Aloittaja freemn78, lokakuu 25, 2007, 07:45:35 AP

« edellinen - seuraava »

freemn78

Hi an alle;

ich habe seit geraumer Zeit den genialen Mod "custom actions" laufen. Ich hätte nun gern eine solche Aktion definiert, die ausschließlich für Mitglieder zu sehen sein soll. Hat da jemand eine Idee?

LG René
www.otworld.de [nofollow]

PfalzNacht

Einfach beim Button

if ($context['user']['is_logged'])

dazu setzen.

freemn78

Lainaus käyttäjältä: PfalzNacht - lokakuu 25, 2007, 08:18:06 AP
Einfach beim Button

if ($context['user']['is_logged'])

dazu setzen.

klingt im Ansatz nicht schlecht, aber welchen Button meinst du? Den Link zur Custom action?

PfalzNacht

Ja, eigentlich schon.

Oder wie kommt man sonst zu den actions?

freemn78

ich denke ganz so easy is es dann doch nicht; ich habe mir folgendes vorgestellt (aus index.template.php):
    // Go to PM center... [pm]
if ($context['user']['is_logged'] && $context['allow_pm'])
echo ($current_action == 'pm' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
<td valign="top" class="maintab_' , $current_action == 'pm' ? 'active_back' : 'back' , '">
<a href="', $scripturl, '?action=pm">' , $txt['pm_short'] , ' ', $context['user']['unread_messages'] > 0 ? '[<strong>'. $context['user']['unread_messages'] . '</strong>]' : '' , '</a>
</td>' , $current_action == 'pm' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';


das müsste sich doch so umbauen lassen, dass man statt zur PM zu einer custom action kommt; PS: muss auch nicht Multi Language sein; das heist wir müssen nicht gesondert Variablen definieren. In meinem Fall geht es um eine Stellenbörse, die nur Mitgliedern zugänglich sein soll. Ich bin nicht so der Coder, ich dachte an irgendwas in der Art:

// Meine custom action
if ($context['user']['is_logged'])
echo Link zu meiner Custom Action ($context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '

Ich komme mit dem ganzen Tab Code nicht klar...

einer von den Profi´s ne Idee?

PfalzNacht

Ok, anderer Vorschlag:

da du anscheinend nicht verstehst was ich meine (was aber eigentlich in dem Code von z.B. der PM schon drin steht), mach ich dir nen Vorschlag.

Sag einfach mal wie die Custom Action heissen soll, und stell deine index.template.php hier ein.
Ich ändere es dann.

freemn78

na das bringt mich doch aber auch nicht weiter; ich wills doch selber begreifen; der Link zu action ist index.php?action=joboffer; die index.template.php hast Du doch; gell  ;D

PfalzNacht

#7
// Show the [joboffer] button.
if ($context['user']['is_logged'])
echo ($current_action=='joboffer' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
<td valign="top" class="maintab_' , $current_action == 'joboffer' ? 'active_back' : 'back' , '">
<a href="', $scripturl, '">Stellenangebote</a>
</td>' , $current_action == 'joboffer' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';


Um das ganze auch noch als aktiven Button anzeigen zu lassen, musst du noch etwas oben drüber bei "// Work out where we currently are.", genauer gesagt bei $current_action = 'admin';
if (in_array($context['current_action'], array('staff','usercp','search', 'unread', 'arcade', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm',)))
noch das "joboffer" dazu machen.

freemn78

knapp dran; so hats dann letztendlich hingehauen

// Show the [joboffer] button.
if ($context['user']['is_logged'])
echo ($current_action=='joboffer' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
<td valign="top" class="maintab_' , $current_action == 'joboffer' ? 'active_back' : 'back' , '">
<a href="', $scripturl, '?action=joboffer">Stellenangebote</a>
</td>' , $current_action == 'joboffer' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';


Besten Dank
MfG René

PfalzNacht

Ja, Sorry, habs vergessen.  :'(

Aber gut wenn es trotzdem geklappt hat.  ;)

Advertisement: