Seite 1 von 1

Sprachedateianpassungen nur für einen einzigen style

Verfasst: 19.12.2018 20:55
von chris1278
Hallo mal eine Frage.

Ich weis wie man Sprachvariable GLobal anpassen kann das kein Problem.

Folgende Situation, ich bin gerade dabei mir den Prosilver Style etwas umzubauen so das dort von anfang an Links einige Menuboxen sind das auch die Navbar oberhalb verschwinden kann.

Das mit der Teilung und so habe ich hinbekommen.

Meine Frage ist ob ich speziele Sprachausgaben direkt über den Style machen kann da ich diese Menuboxen nicht über eine Extension einbaue sondern direkt in den Style selber. Dieser style ist speziell für mich.

Darum wollte ich fragen ob es eine Möglichkeit gibt in den Boxen eine Variabel wie {L_BOX1} einbaut die dann eine Sprachvariabel entsprechend der eingestellten Sprache ausgibt.

Da diese Boxen nur in dem Style erscheinen sollen sollte auch die Sprachvariabel in dem Ordner liegen.

Nur sofern das überhaupt möglich ist.

Re: Sprachedateianpassungen nur für einen einzigen style

Verfasst: 19.12.2018 21:28
von canonknipser
Nein, die Sprachdaten müssen ja geladen werden. Das passiert über die entsprechenden phpBB-Scripte jeweils User- und Sprachdatei bezogen (user->add_lang). Also musst du dir eine rudimentäre Erweiterung basteln, die die Variablen lädt und in das Template einschleust.

Re: Sprachedateianpassungen nur für einen einzigen style

Verfasst: 19.12.2018 21:32
von chris1278
Ok das habe ich mir schon fast gedacht.

Re: Sprachedateianpassungen nur für einen einzigen style

Verfasst: 27.12.2018 17:17
von MichaelN0815
Ich möchte mich hier mal einklinken, da ich ein ähnliches Problem habe.
Ich möchte eine der Standard-Übersetzungen aus common.php durch eine eigene Übersetzung ersetzen.
Da ich nicht bei jedem Update die common.php wieder ändern will, dachte ich mir, erstelle ich eine Exension, erzeuge in dieser die Ordner language/de und lege dort eine common.php ab.

Leider ohne Wirkung. Kann ich auf diese Art nur NEUE Variablen definieren, aber keine vorhandenen Überscheiben?
Wie müsste ich in diesem Falle vorgehen?

Re: Sprachedateianpassungen nur für einen einzigen style

Verfasst: 27.12.2018 17:56
von Kirk
Hallo
Hast du auch eine listener.php erstellt, damit deine Extension auch weiß woher die neuen Variablen geladen werden sollen?

Re: Sprachedateianpassungen nur für einen einzigen style

Verfasst: 27.12.2018 18:04
von MichaelN0815
Nein,, das habe ich nicht getan, da es hier https://www.phpbb.de/kb/ext_erstellen hieß, man müsse nur die Dateien in entsprechende Sub-Dirs ablegen.
Von einer listener.php ist da nicht die Rede.

bzw: ich spreche von phpBB 3.2

Wie muß so eine listener.php aussehen und wo gehört sie hin?

Re: Sprachedateianpassungen nur für einen einzigen style

Verfasst: 27.12.2018 18:31
von Kirk
So müsste sie aussehen:

Code: Alles auswählen

<?php
/**
*
* ESF extension for the phpBB Forum Software package.
*
* @copyright (c) 2017 Kirk <http://reyno41.bplaced.net/phpbb>
* @license GNU General Public License, version 2 (GPL-2.0)
*
*/

namespace kirk\esf\event;

/**
* @ignore
*/
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

/**
* Event listener
*/
class listener implements EventSubscriberInterface
{
   static public function getSubscribedEvents()
   {
      return array(
         'core.user_setup'                  => 'load_language_on_setup',
      );
   }

   /**
   * Load language during user setup
   *
   * @param object $event The event object
   * @return null
   */
   public function load_language_on_setup($event)
   {
      $lang_set_ext = $event['lang_set_ext'];
      $lang_set_ext[] = array(
            'ext_name'      => 'kirk/esf',
            'lang_set'      => 'common',
         );
      $event['lang_set_ext'] = $lang_set_ext;
   }
}

die kommt in das Verzeichniss extensionsautor/extensionsname/event/
Dazu brauchst du noch eine Datei Namens services.yml mit folgendem Inhalt:

Code: Alles auswählen

services:
    kirk.esf.listener:
        class: kirk\esf\event\listener
        arguments:
        tags:
            - { name: event.listener }

die kommt in das Verzeichniss extensionsautor/extensionsname/config/
Das hier kirk und esf musst du durch deine ersetzen, da ich nicht weiß wie deine EXT aufgebaut ist.

Re: Sprachedateianpassungen nur für einen einzigen style

Verfasst: 27.12.2018 18:55
von MichaelN0815
Danke! Das hat tatsächlcih geklappt. War zwar am Ende ein längerer Weg, als einfach die common.php zu ändern, aber ich hoffe auch nachhaltiger.

Re: Sprachedateianpassungen nur für einen einzigen style

Verfasst: 27.12.2018 19:12
von Kirk
So lange sich die Variablen nicht ändern, bleibt es nachhaltig.