eigenen php-code ins awsw portal einbauen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Groovecommander
Mitglied
Beiträge: 119
Registriert: 26.03.2004 16:39

eigenen php-code ins awsw portal einbauen

Beitrag 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
Benutzeravatar
Shadowman
Mitglied
Beiträge: 170
Registriert: 16.12.2003 19:01
Wohnort: Vaterstetten

Beitrag 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.
Proud Admin & Webmaster of http://www.broxx-com.de
Groovecommander
Mitglied
Beiträge: 119
Registriert: 26.03.2004 16:39

Beitrag 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?
Jack9027
Mitglied
Beiträge: 344
Registriert: 05.01.2004 18:46

Beitrag 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
Groovecommander
Mitglied
Beiträge: 119
Registriert: 26.03.2004 16:39

Beitrag 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?
Groovecommander
Mitglied
Beiträge: 119
Registriert: 26.03.2004 16:39

Beitrag von Groovecommander »

ok, so hat es doch funktioniert....

Code: Alles auswählen

'diff' => $diff,
'prozent' => $prozent
Groovecommander
Mitglied
Beiträge: 119
Registriert: 26.03.2004 16:39

Beitrag 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
Benutzeravatar
andreasOymann
Ehemaliges Teammitglied
Beiträge: 2392
Registriert: 10.06.2003 16:29
Wohnort: Hamminkeln
Kontaktdaten:

Beitrag von andreasOymann »

Code: Alles auswählen

'prozent' => $prozent . '%',
Kein Support per PN / Mail / ICQ / MSN ! Dafür gibt´s dieses Forum...
Groovecommander
Mitglied
Beiträge: 119
Registriert: 26.03.2004 16:39

Beitrag von Groovecommander »

vielen Dank

wofür ist dieses

Code: Alles auswählen

 .'%',
Benutzeravatar
andreasOymann
Ehemaliges Teammitglied
Beiträge: 2392
Registriert: 10.06.2003 16:29
Wohnort: Hamminkeln
Kontaktdaten:

Beitrag 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:
Kein Support per PN / Mail / ICQ / MSN ! Dafür gibt´s dieses Forum...
Antworten

Zurück zu „Coding & Technik“