Style Variablen in Extensions nutzen

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Antworten
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Style Variablen in Extensions nutzen

Beitrag von Dr.Death »

Hallo zusammen,


ich möchte gerne eigene Bilder / Grafiken aus meiner Extension nutzen.

Wie ich den Pfad zu meiner Ext innerhalb der php Dateien ermitteln und nutzen kann, habe ich bereits herausgefunden:

Code: Alles auswählen

        global $phpbb_extension_manager;

        $ext_path = $phpbb_extension_manager->get_extension_path('drdeath/f1webtip', true);


Somit habe ich den aktuellen, relativen Pfad meine Extension.


Was ich allerdings noch suche, ist der Aufruf für die korrekte Verwendung von eigenen, zusätzlichen Bildern innerhalb der Template Dateien des aktuellen Styles.

Beispiel:

Das zu benutzende Bild liegt im folgenden Ordner:

ext / drdeath / f1webtip / styles / prosilver / theme / images / testbild.jpg

Wie kann ich nun darauf innerhalb der Template html Datei dazu zugreifen?

Ein Image Aufruf über:
img src="{T_THEME_PATH}/images/testbild.jpg"
funktioniert nicht, da anscheinend nur das phpbb Styles Verzeichnis durchsucht wird.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Style Variablen in Extensions nutzen

Beitrag von Miriam »

Also in den Coding Guidelines steht das:
Path locations for the following template variables are affected by this too:
  • {T_ASSETS_PATH} - assets (non-style specific, static resources)
  • {T_THEME_PATH} - styles/xxx/theme
    ...
Und nach diesem Code in der includes/functions.php ->

Code: Alles auswählen

    // The following assigns all _common_ variables that may be used at any point in a template.
    $template->assign_vars(array(
            ...
            'T_THEME_PATH'            => "{$web_path}styles/" . rawurlencode($user->style['style_path']) . '/theme',
sollte das auch so sein.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Re: Style Variablen in Extensions nutzen

Beitrag von nickvergessen »

Du kannst den Pfad so noch nicht ganz verwenden.
Das wirft die Pfade sonst durch einander, wenn du auf app.php/f1 oder sowas bist.
Du müsstest noch \phpbb\path_helper::update_web_root_path($path) (bzw $phpbb_path_helper->...) aufrufen.

Bzgl den Bildern: src="{T_THEME_PATH}/images/testbild.jpg" sucht nicht. Das sind 2 Strings die miteinander verwendet werden.
Du musst dir also entweder deine eigene THEME_PATH variable bauen, oder aber statt img n background image nehmen und das dann in deiner css entsprechend eintragen:
Beispiel das Icon der Newspage:
ext/.../styles/prosilver/theme/newspage.css
Einbinden der CSS mit einem Template event
kein Support per PN
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Style Variablen in Extensions nutzen

Beitrag von Dr.Death »

örgs....


...das wird ja nun doch komplizierter als ich gedacht habe.

Entweder ich greife auf meine eigenen Bilder zurück (das ist dann leider Style unabhängig)

php Datei:

Code: Alles auswählen

global $phpbb_extension_manager;
$ext_path = $phpbb_extension_manager->get_extension_path('drdeath/f1webtip', true);
$bild = "<img src="' . $ext_path . '"images/testbild.jpg"> 
Damit liegt das Bild auf:
ext / drdeath / f1webtip / images / testbild.jpg

Das mit dem \phpbb\path_helper::update_web_root_path($path) habe ich leider nicht verstanden...... könntest Du das anhand eines Beispiels erklären oder zeigen?

Ziel ist es Style-abhängige, eigene Bilder einzubinden.
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Re: Style Variablen in Extensions nutzen

Beitrag von nickvergessen »

Theoretisch einfach:

Code: Alles auswählen

global $phpbb_extension_manager, $phpbb_path_helper;
$ext_path = $phpbb_path_helper->update_web_root_path($phpbb_extension_manager->get_extension_path('drdeath/f1webtip', true));
$bild = "<img src="' . $ext_path . '"images/testbild.jpg">
Wenn es style-abhängig sein soll, würde ich das einfach per CSS machen, das erlaubt dann auch template-Vererbung
kein Support per PN
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Style Variablen in Extensions nutzen

Beitrag von Dr.Death »

Ok, ich denke, ich verwende vorerst die Sache mit dem $phpbb_path_helper..... die anderen Sachen muss ich mir einzelne angucken und bewerten.

Aber wie immer: Besten Dank!
Antworten

Zurück zu „Extension Bastelstube“