Uutiset:

SMF 2.1.4 has been released! Take it for a spin! Read more.

Main Menu
Advertisement:

[gelöst]index.php?action=meine.seite

Aloittaja Badelehrling, marraskuu 02, 2006, 12:04:06 IP

« edellinen - seuraava »

Badelehrling

Heyho,

(Wie) ist es möglich dem Forum eine weitere Seite, ähnlich wie z.B. action=calendar zu machen?
Einen Button, habe ich bereits im Menü. Per klick auf ihn, soll index.php?action=portal aufgerufen werden (schaffe ich noch selbst).
Aber wie bekomme ich dann, eine von mir designde Seite angezeigt?

Sorry, wenns das Thema schon gibt, aber die Suchfunktion hat nichts ausgespuckt...

dieter4

In der index.php im SMF-root können ganz einfach Punkte hinzugefügt werden:

Suche nach:
Koodi (index.php) [Valitse]

'who' => array('Who.php', 'Who'),


Ersetze es mit:
Koodi (index.php) [Valitse]

'who' => array('Who.php', 'Who'),
'portal' => array('Portal.php', 'PortalIndex'),


Jetzt musst du noch eine Datei Portal.php im Ordner Sources mit der Funktion PortalIndex(), in die alles reinkommt, erstellen.

Badelehrling

#2
Danke, das habe ich soweit hinbekommen ;)

Jetzt stehe ich aber erst vor den richtig grossen Problemen...

Ich habe mal -testweise- die Datei Sources/Who.php in Sources/Portal.php umbenannte und in dieser Who() durch PortalIndex() ersetzt. Jetzt zeigt der mir, wenn ich auf index.php?action=portal gehe logischerweise die Wer ist online anzeige an. Soweit so gut.

Wie kann ich in dieser Datei, ohne grosses Wissen, jetzt die Inhalte ändern? Wenn ich das richtig sehe, werden da zuerst Berechtigungen gecheckt und sowas. Das kann alles bleiben, ich suche nur die Stelle wo die eigentlichen Inhalte hinkommen. Wäre toll, wenn Du (oder sonstwer ;)) noch'n Tipp für mich hat.

Achja, was Templates angeht...
Das würde ich gerne alles in der Portal.php einstellen - wenn möglich - dann muss ich nicht noch extra nen Template shreiben (das würde auch nochmal Probleme machen...)


LG,
Badelehrling

noex

Also, vorweg würde ich die Who.php nicht ändern. Sondern eine neue Datei erstellen.

zB.: mit dem folgenden Inhalt:
Koodi (Portal.php) [Valitse]

<?php
if (!defined('SMF'))
die('Hacking attempt...');

function 
Portal()
{
global $txt$scripturl$db_prefix$modSettings$user_info$context;

loadTemplate('Portal');


// Link tree....
$context['linktree'][] = array(
'url' => $scripturl '?action=portal',
'name' => "Portal"
);

$context['page_title'] = "Portal";
}
?>



dann musst du auch noch eine Template Datei anlegen. zB.: Portal.template.php

Koodi (Portal.template.php) [Valitse]

<?php

function template_main()
{
global $context$settings$options$txt$scripturl;

echo '
<table width="100%" border="0" cellspacing="0" cellpadding="3" align="center">
<tr>
<td>'
theme_linktree(), '</td>
</tr>
</table>

<!-- hier kommt dann dein HTML Code -->
'
;
}


?>



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

Badelehrling

Lainaus käyttäjältä: noex - marraskuu 03, 2006, 04:57:45 AP
Also, vorweg würde ich die Who.php nicht ändern. Sondern eine neue Datei erstellen.

Ja das meinte ich auch, halt nur mit Inhalt der who.php ;).

Danke für die Codes, habe alles so gemacht, aber bekomme folgende Fehlermeldung:
Lainaa2: call_user_func(PortalIndex) [<a href='function.call-user-func'>function.call-user-func</a>]: First argument is expected to be a valid callback
File: /usr/export/www/vhosts/funnetwork/hosting/slayde/board/index.php
Line: 119

Weisst Du woran das liegt? :/

noex

Kannst du die beiden Dateien mal Posten?

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

Badelehrling

Ja also die beiden Dateien sind 1:1 aus deinem Beispiel. Und in die index.php is nur der code 'portal' => array('Portal.php', 'PortalIndex'), wie Dark_Neakro sagte eingefügt. Sonst ist alles unverändert ;)

dieter4

Die Funtion in der Portal.php muss statt Portal() PortalIndex() heißen ;)

noex

Lainaus käyttäjältä: Dark_Neakro - marraskuu 03, 2006, 01:50:36 IP
Die Funtion in der Portal.php muss statt Portal() PortalIndex() heißen ;)
Sorry, das hatte ich überlesen
"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"


polytypos

Hallo!

Interessantes Thema! Was mich mal interessiert, kann ich über diese Methode auch Frames einbinden? Also quasi einen aktiven Inhalt zu einer anderen Seite verlinkt einbauen, oder gibt es da Probleme?

mfKG

hab auch schon was eingebaut in einem iframe. Für die "action" benutze ich die CostumActionMod
SRY my SiG is AtM AFK

Advertisement: