Seite 1 von 2

eigenen php-code ins awsw portal einbauen

Verfasst: 22.06.2004 10:20
von Groovecommander
Hallo,

ich habe mir ein paar php zeilen zusammengekratzt und so eine kleine Funktion hinbekommen. Nun wollte ich das ins AWSW-Portal einbauen. Frage; Was muss ich wo einfügen und was muss ich beachten? Php-Code in die portal.php und den Html-Code in die Portal.tpl ?

Für Hinweise wäre ich sehr dankbar

Verfasst: 22.06.2004 14:01
von Shadowman
dazu musst du erstmal die template syntax von phpbb verstehen
Guckst du hier :)
In den php Dateien stehen ausschliesslich Variablen und ihre Werte, während die .tpl Dateien sich um die Grafische gestaltung einer seite kümmern. Wenn du z.b. "Hallo" ausgeben willst, schreibst du bei der datei, deren name z..b in $template gespeichert ist:

Code: Alles auswählen

$template->assign_var('TEST', 'Hallo');
um nun in der .tpl datei eine Ausgabe zu machen, musst du {TEST} an den platz schreiben, wo du Hallo haben möchtest.

Verfasst: 22.06.2004 14:26
von Groovecommander

Code: Alles auswählen

// SWITCH TUTORIALSTATUS START
if( $introportalmod_config['tutorialstatus_active'] == "1" )
{
$my_db = mysql_connect();
   $res = mysql_db_query("usr_web372_1", "select * from tutorialstatus");
   $num = mysql_num_rows($res);

       
     for ($i=0; $i<$num; $i++)
   {
      $eg = mysql_result($res, $i, "eingang");
   }
    mysql_close($my_db);
   
	$diff = 100 - $eg;
	$prozent = ($eg/100)*100;

$template->assign_block_vars('switch_tutorialstatus_active', array(
$template->assign_vars(array(
// TEMPLATE CODE VARS START
'TUTORIALSTATUS1' => $lang['tutorialstatus1'],
'TUTORIALSTATUS2' => $lang['tutorialstatus2'],
// TEMPLATE CODE VARS END
))
));
}
// SWITCH TUTORIALSTATUS END
Hier mal mein php-code. Ich habe ihn mal so in die portal.php eingefügt wie es mir denke. Wie bekomme ich jetzt die Variablen $diff und $prozent im portal_body.tpl angezeigt. Die Box für das Portal steht schon, ich muss quasi nur noch die beiden Variablen irgendwie im template angezeigt bekommen.
Wer kann helfen?

Verfasst: 22.06.2004 14:31
von Jack9027

Code: Alles auswählen

// SWITCH TUTORIALSTATUS START 
if( $introportalmod_config['tutorialstatus_active'] == "1" ) 
{ 
$my_db = mysql_connect(); 
   $res = mysql_db_query("usr_web372_1", "select * from tutorialstatus"); 
   $num = mysql_num_rows($res); 

        
     for ($i=0; $i<$num; $i++) 
   { 
      $eg = mysql_result($res, $i, "eingang"); 
   } 
    mysql_close($my_db); 
    
   $diff = 100 - $eg; 
   $prozent = ($eg/100)*100; 

$template->assign_block_vars('switch_tutorialstatus_active', array( 
$template->assign_vars(array( 
// TEMPLATE CODE VARS START 
'TUTORIALSTATUS1' => $lang['tutorialstatus1'], 
'TUTORIALSTATUS2' => $lang['tutorialstatus2'],
'diff' =>  $diff, 
'prozent' => $prozent, 
// TEMPLATE CODE VARS END 
)) 
)); 
} 
// SWITCH TUTORIALSTATUS 
an des stellen wo es angezeigt werden soll dann einfach {diff} und { prozent} schreiben

Verfasst: 22.06.2004 14:42
von Groovecommander
Nur leider funktioniert das nicht... :( . Muss ich denn die beiden Variblen noch irgendwie in der Portal.php bestimmen (weiss net wie man das nennt).

Ist denn das richtig so?

Code: Alles auswählen

// TEMPLATE CODE VARS START
'TUTORIALSTATUS1' => $lang['tutorialstatus1'],
'TUTORIALSTATUS2' => $lang['tutorialstatus2'],
'diff' =>  $diff,
'prozent' => $prozent,
// TEMPLATE CODE VARS END 
wenn ich dann {diff} oder {prozent} in meine portal_body.tpl schreibe, müsste es angezeigt werden, oder?

Verfasst: 22.06.2004 14:56
von Groovecommander
ok, so hat es doch funktioniert....

Code: Alles auswählen

'diff' => $diff,
'prozent' => $prozent

Verfasst: 22.06.2004 15:05
von Groovecommander
eins mal noch... ich habe in meinem template diese Zeile:
<div style="width:{Prozent}; background:red;">


Damit möchte ich einen Balken anzeigen (Fortschrittsanzeige), der von liks nach rechts immer breiter wird. Allerdings macht er das nicht, wenn ich der Variablen $Prozent einen Wert zuweise. Wenn ich jetzt in die Zeile 10% schreibe, dann ist der Balken 10% groß.

Wie funktioniert das, dass der Balken den Wert annimt, den er von der Variablen bekommt?

Vielen Dank

Verfasst: 22.06.2004 15:20
von andreasOymann

Code: Alles auswählen

'prozent' => $prozent . '%',

Verfasst: 22.06.2004 15:35
von Groovecommander
vielen Dank

wofür ist dieses

Code: Alles auswählen

 .'%',

Verfasst: 22.06.2004 15:39
von andreasOymann
Wenn ich jetzt in die Zeile 10% schreibe, dann ist der Balken 10% groß.
Du hast aber "10", und nicht "10%" per Variable in die Template-Datei geschrieben.

Code: Alles auswählen

. '%' 
hängt einfach ein "%" hintendran, steht also einfach für %... :wink: