Seite 1 von 1

Style Variablen in Extensions nutzen

Verfasst: 12.05.2014 16:17
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.

Re: Style Variablen in Extensions nutzen

Verfasst: 12.05.2014 17:12
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.

Re: Style Variablen in Extensions nutzen

Verfasst: 12.05.2014 17:14
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

Re: Style Variablen in Extensions nutzen

Verfasst: 12.05.2014 17:56
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.

Re: Style Variablen in Extensions nutzen

Verfasst: 12.05.2014 19:26
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

Re: Style Variablen in Extensions nutzen

Verfasst: 12.05.2014 19:48
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!