Wie CSS in andere Scripts einbinden?
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Wie CSS in andere Scripts einbinden?
Moin,
ich würde gerne die Styles - Einstellungen die der User im Forum gewählt hat, auch für andere, weitere PHP-Seiten verwenden.
Wie kann ich in den Header der "normalen" Seiten den Style (CSS-Link)vom Forum einfügen?
Thx.
Gruß
Axel
PS. Suche hat keine hilfreiche Antwort ergeben - oder ich habe
falsch gesucht.
ich würde gerne die Styles - Einstellungen die der User im Forum gewählt hat, auch für andere, weitere PHP-Seiten verwenden.
Wie kann ich in den Header der "normalen" Seiten den Style (CSS-Link)vom Forum einfügen?
Thx.
Gruß
Axel
PS. Suche hat keine hilfreiche Antwort ergeben - oder ich habe
falsch gesucht.
am einfachsten wäre wohl du stellst dein Forum wie du es haben willst ein rufst irgendeine Seite auf z.B. index.php, guckst dir den Quelltext an, kopierst alles zwischen
und
in eine Datei z.B. dumdum.css
und includierst sie dann im Header der von dir gewünschten Dateien mit folgender Zeile:
Natürlich die Pfad noch anpassen.
Noch einfacher wäre es, du stellst dein komplettes Forum auf die CSS Datei um, dann musst du nur noch eine CSS Datei editieren um das Forum und dann damit auch deine Seite anzupassen. Einziges Problem: Die Farbeinstellungen im Adminbereich werden dann wirkunglos! Wie das geht steht hier: http://www.phpbb.de/viewtopic.php?t=15984&highlight=css
Code: Alles auswählen
<style type="text/css">
<!--
Code: Alles auswählen
-->
</style>

Code: Alles auswählen
<link rel="stylesheet" href="templates/subSilver/subSilver.css" type="text/css" />
Noch einfacher wäre es, du stellst dein komplettes Forum auf die CSS Datei um, dann musst du nur noch eine CSS Datei editieren um das Forum und dann damit auch deine Seite anzupassen. Einziges Problem: Die Farbeinstellungen im Adminbereich werden dann wirkunglos! Wie das geht steht hier: http://www.phpbb.de/viewtopic.php?t=15984&highlight=css
Das mit der CSS ist kein Problem. ich habe da eh alles in die CSS zusammengewürfelt.
Ich habe nur das Problem, sagen wir mal, ich habe ein rotes, blaues und schwarzes design.
Damit müsste ja auch in meiner Header für die anderen PHP-Seiten die CSS sich ändern, wenn der User sich ein anderes Design aussucht. Also muss der CSS-Eintrag ja dynamisch sein.
Vermutlich wird die Usereinstellung zum Design ja in einem Cookie beim User gespeichert ?
Gib es da keine Möglichkeit, dass ich dies irgendwie auslese und dann das Design aus der vom User gewählten Style auch auf anderen Pages verwenden kann?
Etwas kompliziert - ich weiß. Ich hoffe es ist aber doch verständlich um was es geht.
Das ist so im Forenscript:
Ich müsste es also irgendwie schaffen, auch auf den anderen Pages {T_HEAD_STYLESHEET} verwenden zu können.
Kann ich die Usereinstllung {T_HEAD_STYLESHEET} nicht im Script irgendwo in eine Variable schreiben und die dann an die anderen Seiten übergeben?
Keine Ahnung - irgendwie mit:
Im Forenscript:
und dann in meine PHP-Seiten:
Wenn es noch nicht klar ist, einfach fragen. Ich wäre froh, wenn es eine Lösung gäbe.
Danke.
Axel
Ich habe nur das Problem, sagen wir mal, ich habe ein rotes, blaues und schwarzes design.
Damit müsste ja auch in meiner Header für die anderen PHP-Seiten die CSS sich ändern, wenn der User sich ein anderes Design aussucht. Also muss der CSS-Eintrag ja dynamisch sein.
Vermutlich wird die Usereinstellung zum Design ja in einem Cookie beim User gespeichert ?
Gib es da keine Möglichkeit, dass ich dies irgendwie auslese und dann das Design aus der vom User gewählten Style auch auf anderen Pages verwenden kann?
Etwas kompliziert - ich weiß. Ich hoffe es ist aber doch verständlich um was es geht.
Das ist so im Forenscript:
Code: Alles auswählen
<link rel="stylesheet" href="templates/subSilver/{T_HEAD_STYLESHEET}" type="text/css" />
Kann ich die Usereinstllung {T_HEAD_STYLESHEET} nicht im Script irgendwo in eine Variable schreiben und die dann an die anderen Seiten übergeben?
Keine Ahnung - irgendwie mit:
Im Forenscript:
Code: Alles auswählen
$sytle= "{T_HEAD_STYLESHEET}";
Code: Alles auswählen
<link rel="stylesheet" href="pfad/$style" type="text/css" />
Danke.
Axel
Hilft dir der Code von Acid?:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './'; // <--
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//include($phpbb_root_path . 'includes/page_header.'.$phpEx);
?>
hier könntest Du HTML einfügen<br />
Hier die CSS Datei des Templates des Users:
<?php echo $theme['head_stylesheet'] ?>
<?
//include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Also ich habe da von PHP kaum ne Ahnung. Vielleicht ist es das was ich brauche. Dann weiß ich jedoch nicht wie ich das umsetze.
Vielleicht kannst Du mir da mal mit konkreten Angaben weiterhelfen?
Domain: www.domain.tld
Forum: www.domain.tld/forum/script
Header der normalen PHP-Seiten: www.domain.tld/page/basis/header.php
In die header.php müsste ich nun die css - Einstellung des Users reinbekommen.
Also in der Art:
Wie sollte nun der Code für meine header.php aussehen, damit immer das sytle vom User genommen wird?
Danke schon mal.
Vielleicht kannst Du mir da mal mit konkreten Angaben weiterhelfen?
Domain: www.domain.tld
Forum: www.domain.tld/forum/script
Header der normalen PHP-Seiten: www.domain.tld/page/basis/header.php
In die header.php müsste ich nun die css - Einstellung des Users reinbekommen.
Also in der Art:
Code: Alles auswählen
<link rel="stylesheet" href="pfad/userstyle.css" type="text/css" />
Danke schon mal.
Kopiere das einfach mal dahin wo die Zeile <link rel=... usw angezeigt werden soll.
wie ich mich kenne ist sicher irgendwo nen Denkfehler drin, also das ganze ist NOCH NICHT ausgetestet, setze das ganze NOCH NICHT auf deiner richtigen Homepage ein.
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = '../../forum/script';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if ($userdata[user_style] != '')
{$style_id = $userdata[user_style];}
else
{$style_id = "1";}
$sql = "SELECT themes_id, style_name
FROM " . THEMES_TABLE . "
WHERE themes_id = $style_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't query themes table", "", __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$styleordner = $row['style_name'];
}
$stylecss = $theme['head_stylesheet'];
echo "<link rel=\"stylesheet\" href=\"forum/script/templates/$styleordner/$stylecss\" type=\"text/css\" />";
?>
So, ich habe das nun mal eingefügt
Beim Seitenaufruf kommen die Fehlermeldungen:
Ich hoffe du gibst jetzt nicht auf. 
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = '../../forum/script/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if ($userdata[user_style] != '')
{$style_id = $userdata[user_style];}
else
{$style_id = "1";}
$sql = "SELECT themes_id, style_name
FROM " . THEMES_TABLE . "
WHERE themes_id = $style_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't query themes table", "", __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$styleordner = $row['style_name'];
}
$stylecss = $theme['head_stylesheet'];
echo "<link rel=\"stylesheet\" href=\"forum/script/templates/$styleordner/$stylecss\" type=\"text/css\" />";
?>
Code: Alles auswählen
Warning: Failed opening '../../forum/script/extension.inc' for inclusion (include_path='.:/usr/local/lib/php') in /home/vhosts/.../page/basis/header.inc.php on line 34
Warning: Failed opening '../../forum/script/common.' for inclusion (include_path='.:/usr/local/lib/php') in /home/vhosts/.../page/basis/header.inc.php on line 35
Fatal error: Call to undefined function: session_pagestart() in /home/vhosts/.../page/basis/header.inc.php on line 37
