WN

WN (https://www.wn.se/forum/index.php)
-   Off Topic (https://www.wn.se/forum/forumdisplay.php?f=7)
-   -   phpbb2 (https://www.wn.se/forum/showthread.php?t=15964)

robert.liljedahl 2006-09-01 17:20

Hej.
Håller på och anpassar phpbb2 till en sida.
Nu är det så att jag vill, i en av .tpl-filerna, inkludera
en meny. Jag tänkte att det inte vore så krångligt.
Så jag smällde helt enkelt in en:
Kod:

<?php include_once("menu.php"); ?>
Men det hjälpte inte. Så då provade jag att byta namn på .tpl-filen
till .php (i någon slags desparat manöver), men det gjorde inte
heller susen.

SÅ jag undrar om någon av er kan berätta hur jag
inkluderar filer i dom här jävla .tplerna.

Galet tacksam för svar.
//Robert

qson 2006-09-11 20:39

Hej!
Skall försöka svara, även om det var ett tag sen jag pysslade med phpbb2.

TPL står för TemPLate och är just mallfiler. De innehåller enbart (X)HTML och några specialtaggar. Dessa filer läses in som text i PHP och sedan ersätts de "speciella " taggarna med respektive innehåll...


Vad genererar menu.php? Kan du ändra där så att den gör om det till en textsträng (typ $menu_html eller nåt) då detta är det enklaste.

Du behöver redigera den php-filen som anropar TPL-filen, typ viewforum.php, viewtopic.php eller nån liknande.
Självklart tar du ju backup på alla filer innan du börjar pilla. Eller???

När du hittat rätt php-fil gör du följande:

I filen letar du upp
Kod:

    $template->set_filenames(array(
    'body' => 'filnamnet_pa_tpl_filen.tpl')
  );

Någonstans nedanför den lägger du in följande kod...
Kod:

include_once('menu.php');
$menu_html = hamta_min_meny();

Detta förutsätter att din menu.php inte "echo"ar eller "print"ar någonting, utan innehåller en funktion som du kan hämta (se hamta_min_meny(); här ovanför). Alternativet är att du från din menu.php-fil sätter $menu_html direkt. (tror det funkar....)

För att få in menyn i templaten lägger du in följande
Kod:

$template->assign_var('MIN_MENY', $menu_html);
I TPL-filen skall du sen skriva {MIN_MENY} där du vill ha menyn.


Hoppas svaret duger till att börja med, jag svarar gärna mer :). (Jag kände att det blev lite mkt tekniskt . Eller :huh: )


Alla tider är GMT +2. Klockan är nu 18:08.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson