Seite 1 von 2

Eingebundene Seiten, Verlinkung

Verfasst: 23.04.2009 07:49
von Vanessa_L
Sehr geehrte Damen & Herren,

Nachdem ich es endlich geschafft habe, eine Seite mit dieser Vorlage einzbinden (http://wiki.phpbb.com/Deutsch:Vorlage_f ... ene_Seiten) und auch einen Weg gefunden habe nicht ausgeloggt zu werden. Habe ich nun ein Problem.

Also von vorneweg.
1. Erstelle ich wie in der Vorgabe
neueseite.php
die Sprachdatei
und die Templatedatei
Das mache ich mehrmals, auch erstelle ich in Unterordner. Nachdem ich hunderte Seiten einbinden muss.

Nun habe ich wenn ich auf eine andere selbsterstellte Seite (in der Template_Datei) verlinkt habe, in der funktions.php den Pfad eingefügt:
'U_MEINESEITE' => append_sid ("{$phpbb_root_path}unterordner1/unterordner2/meineseite.$phpEx"),

Das klappt auch wunderbar, kein ausloggen usw, aber inzwischen ist die Größe der funktions.php natürlich etwas angewachsen und ich habe aber erst einen Bruchteil der Seiten eingebunden.
Jetzt habe ich Angst das wenn die funktions.php weiterwächst, sich das Forum verlangsamt und das möchte ich natürlich auch nicht.

Aus diesem Grund habe ich versucht den Rat der Anleitung zu folgen und auf einer ebenfalls eingebundenen Seite (in der Template_datei) folgendes eingefügt:
<a href="<?php append_sid('meineseite.php'); ?>">Zur neuen Seite</a> eingefügt, da sich die neue Seite in nem Unterordner befindet:
<a href="<?php append_sid('unterordner1/unterordner2/meineseite.php'); ?>">Zur neuen Seite</a>

Doch leider ohne Erfolg, habe schon alles mögliche versucht, mit $phpEx zum Schluss usw. keine Änderung und immer das Ergebniss das
ich auf folgenden Link komme: localhost/phpBB3/unterordner1 obwohl die Datei auf die Verwiesen werden soll in localhost/phpBB3/unterordner1/unterordner2 liegt.
???

Hoffe ich konnte das gut rüberbringen und bedanke mich schonmal für eure Antworten.

Bussi Vanessa

Re: Eingebundene Seiten, Verlinkung

Verfasst: 23.04.2009 09:18
von Dr.Death
Hallo,

warum bindest Du die Links zu den anderen Seiten nicht direkt in der gerader aufgerufenen Seite ein?

Damit entlastest Du die includes/functions.php
Oder müssen "alle" Links zu den anderen Seite "immer und überall" vorhanden sein ?

Re: Eingebundene Seiten, Verlinkung

Verfasst: 23.04.2009 14:59
von Helmut
Hallo Vanessa_L,

wenn du viele Seiten in dein Forum eingebunden hast, dann wäre es eine Überlegung wert, für die Navigation eine dynamische tabellenorientierte Lösung zu nehmen. Hier könntest du zum Beispiel mit einer Datenbanktabelle alle Menüpunkte dort mit Zieldatei und Pfad reinschreiben. Das Menü wird dann in Abhängigkeit der gerade aufgerufenen Seite dynamisch erstellt.

Diese Lösung hätte den Vorteil, dass du jederzeit relativ einfach die Menüstruktur ändern könntest. Für meine neue Homepage welche aber noch nicht online ist, habe ich eine solche Lösung genommen. Hier kannst du dir das mal anschauen, wie ich es in etwa umgesetzt habe.

Ansonsten könntest du die Navigation "fest verdrahtet" machen, so wie Dr.Death schon sagte.

Gruß Helmut

Re: Eingebundene Seiten, Verlinkung

Verfasst: 23.04.2009 21:45
von Vanessa_L
Hallo Jungs,

vielen Dank für eure rasche Antworten.
warum bindest Du die Links zu den anderen Seiten nicht direkt in der gerader aufgerufenen Seite ein?
Das wäre natürlich das einfachste, leider habe ich dann aber das Problem, das die SID nicht übergeben wird und ich wieder ausgeloggt werde.
Was ich aber wenns geht vermeiden möchte.
Die Links müssen nicht überall verfügbar sein.


@Helmut
Auch dir herzlichen Dank für die Antwort.
Ich werde mir deine Lösung auch mal anschauen, vielleicht past ja genau die. Wie ist das bei dir, wird die SID mitübergeben so das man eingeloggt bleibt??


Hätte eigentlich gehofft das es durch einen einfachen Code funktioniert :roll: Oder durch ein kopieren der funktions.php und das ich dann meine neueseite.php so anpasse das es von der funktions2.php auslesen kann und ich dort eingige dutzend Links unterbringe und wenn die wieder zu groß wird funktions3.php anlege :oops:
*lol* Ansonsten fällt mir leider nix ein.
Mich verwundert es halt ein wenig das das aus der Anleitung nicht funktioniert? <a href="<?php append_sid('index.php'); ?>">Zum Forum</a> ??
Nun gut, bin ja auch erst Beginnerin und hab sicher wo was falsch eingetragen.

lg Vanessa

Re: Eingebundene Seiten, Verlinkung

Verfasst: 23.04.2009 23:02
von Helmut
Hallo Vanessa_L,

bei mir bleibt man eingeloggt, wobei die SID nicht direkt angehängt wird. Die zusätzlichen php Dateien sollen sich auch innerhalb des root Verzeichnisses vom Forum befinden, dann sollte es keine Probleme geben.

Damit die php Anweisungen auch in den Templatedateien ausgeführt werden, musst du im ACP unter dem Punkt Allgemein --> Sicherhet den Punkt Erlaube PHP in Templates: auf Ja stellen.

Gruß Helmut

Re: Eingebundene Seiten, Verlinkung

Verfasst: 24.04.2009 09:06
von nickvergessen
befinden sich in den Ordnern noch andere Dateien?
Wenn nicht, könnte man auch einfach die Verzeichnisse auslesen und dann mit einer Template-Schleife arbeiten.

Re: Eingebundene Seiten, Verlinkung

Verfasst: 24.04.2009 14:50
von Vanessa_L
Hallo Jungs,

Erstmal wieder DANKE für die vielen Tipps, Bussal! :grin:

@nickvergessen
Ich habe in den Ordnern noch Bilder und eben andere eigene Seiten gespeichert bzw.
ich habe es so gemacht:
meinordner1/neuedatei.php + weitere .php und
style/Se_pro/templates/meinordner1/neuedatei_template.html + weitere html und Bilder

Gibt es ev. eine möglichkeit das man eine .php anlegt, zb. meinelinks.php und in dieser {U_MEINESEITE} => append_sid usw. anlegt,
und ich dann in der Template auch {U_MEINESEITE} eingeben kann?? und es wie mit der funktions.php funktioniert??

lg Vanessa

Re: Eingebundene Seiten, Verlinkung

Verfasst: 25.04.2009 23:59
von Helmut
Hallo Vanessa_L,
Vanessa_L hat geschrieben:Gibt es ev. eine möglichkeit das man eine .php anlegt, zb. meinelinks.php und in dieser {U_MEINESEITE} => append_sid usw. anlegt,
und ich dann in der Template auch {U_MEINESEITE} eingeben kann?? und es wie mit der funktions.php funktioniert??
so in etwa habe ich es bei meiner neuen Homepage gemacht, die meinelinks.php ist für die Bereitstellung der Navigationslinks verantwortlich und wird in jede Themenseite neuedatei.php eingebunden, so zum Beispiel:

Code: Alles auswählen

//Start session management -- This will begin the session for the user browsing this page.
$user->session_begin();
$auth->acl($user->data);

//Navigation Menu
$page = 65; //Seiten ID
include($phpbb_root_path . 'meinelinks.' . $phpEx);
 
Du vergibst dabei jeder deiner Themenseiten eine einmalige ID, hier im Beispiel mit $page = 65; welche du dann in der meinelinks.php mit request_var($page, 0); abfrägst, siehe Beispiel:

Code: Alles auswählen

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
    die('Hacking Attempt!'); 
}

//Start session management -- This will begin the session for the user browsing this page.
$auth->acl($user->data);

// Language file (see documentation related to language files)
$user->setup('meinelinks');

[...]

//Seitenparameter holen
request_var($page, 0);

[...]

    $link = append_sid($phpbb_root_path . $navpage . $phpEx);

[...]

    $template->assign_block_vars('block1', array(
        'U_TITLE_T'         =>  $link,
        'S_SELECTED_T'         =>  $tab_select,
        'L_TITLE_T'         => $user->lang[$titel],
    ));
[...]
 
Die dazugehörige meinelinks.html könnte folgendes enthalten, um die Links anzuzeigen:

Code: Alles auswählen

        <div id="tabs">
            <ul>
            <!-- BEGIN block1 -->            
                <!-- IF block1.S_SELECTED_T -->
                    <li class="activetab"><a href="{block1.U_TITLE_T}">{block1.L_TITLE_T}</a></li>
                <!-- ELSE -->
                    <li><a href="{block1.U_TITLE_T}">{block1.L_TITLE_T}</a></li>
                <!-- ENDIF -->
            <!-- END block1 -->            
            </ul>
        </div>
 
In den Templatedateien zum Beispiel neuedatei.html bindest du dann die Navigation so in etwa an der gewünschten Stelle ein:

Code: Alles auswählen

    <!-- INCLUDE meinelinks.html --> 
Jetzt musst du nur noch in deiner meinelinks.php die Navigationspunkte passend zur Seiten ID erzeugen, bei mir ist es eine mysql Datenbank in der alle Links und die dazugehörigen Seiten ID stehen.

Damit erzeugst du dynamisch die Navigation, in der functions.php ist dann überhaupt nichts mehr drinnen.

Gruß Helmut

Re: Eingebundene Seiten, Verlinkung

Verfasst: 29.04.2009 14:10
von Vanessa_L
Hallo Helmut,

vielen Dank für deine wunderbare Hilfe.Denke das es eine gute Lösung ist und ich habe mich bereits daran versucht es umzusetzen.
Leider klappts beim besten Willen nicht richtig. Fürchte das mir das ein wenig zu steil ist als relative Anfängerin.

Darum habe ich kurzerhand in der Jobbörse ein Angebot aufgegeben: http://www.phpbb.de/community/viewtopic ... 7&t=190052

lg Vanessa_L

Re: Eingebundene Seiten, Verlinkung

Verfasst: 03.05.2009 12:24
von Helmut
Hallo Vanessa_L,

wo genau hast du hast du bei der Umsetzung Probleme?

Gruß Helmut