[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • String Table AddOn
Seite 1 von 1

String Table AddOn

Verfasst: 21. Mai 2013, 12:09
von RexDude
Mit diesem REDAXO AddOn kann man globale Strings in eine Datenbank-Tabelle speichern und per PHP-Methode auslesen. Es ist ein modifiziertes opf_lang AddOn und ist nützlich wenn man Wörter/Sätze aus Templates und Modulen herausziehen will um diese änderbar für Kunden/Redakteure zu machen. Sehr nützlich auch bei mehrsprachigen Websites.

Features:
* Einen String kann man über die Methode `rex_string_table::getString($key)` oder alternativ über die Funktion `rex_getString($key)` auslesen
* Zusätzliche automatische Ersetzung nun auch über die OUTPUT_FILTER Methode einstellbar (siehe `settings.inc.php`). Die Keys werden dann im eigenen Code so notiert: ###key###. In der String Table aber nur so: key (also ohne die Start- und Endzeichen)
* Mehrsprachigkeit wird berücksichtigt
* Nicht-Admins dürfen den String-Key nicht ändern
* Prio änderbar über Drag'n Drop inkl. coolem On/Off Switch

Weitere Infos auf GitHub:
https://github.com/RexDude/string_table

Bugtracker:
https://github.com/RexDude/string_table/issues

Download:
http://www.redaxo.org/de/download/addons/?addon_id=1024

Re: [v1.3.2] String Table AddOn

Verfasst: 1. Aug 2013, 16:58
von RexDude
### Version 1.3.2 - 01. August 2013

* Line Breaks in den Strings werden jetzt berücksichtigt und auch in der String-Auflistung korrekt angezeigt

Re: [v1.4.0] String Table AddOn

Verfasst: 27. Aug 2013, 10:31
von RexDude
Hi :)

Ich habe mittlerweile die OUTPUT_FILTER Methode wieder integriert. Man kann diese über die settings.inc.php einstellen. Wichtig ist die Keys ohne ### in die String Table zu schreiben. Im den Templates/Modulen etc. dann bitte mit ### oder je nachdem was man für Start- und Endzeichenketten verwenden will.

Und per Kurzschreibweise rex_getString($key) kann man den String nun auch ausgeben.

### Version 1.4.0 - 27. August 2013

* Paginierung der Stringliste vorerst "deaktiviert", da es zu Problemen kam mit der Drag n' Drop Sortierung.
* `rex_getString($key)` als Kurzschreibweise zu `rex_string_table::getString($key)` hinzugefügt
* Ist der String des Keys leer oder ist der Key nicht vorhanden, wird ein Platzhalter inkl. Span und der CSS-Klasse `string-table-key` angezeigt. Im Frontend können diese Platzhalter dann per CSS optisch aufgewertet werden.
* Auto Replace Methode hinzugefügt um die Keys automatisch ersetzen zu lassen (standardmäßig abgeschaltet). Einstellung der Start- und Endzeichenkette ebenfalls möglich. Die Keys ganz normal in die String Table schreiben: key. Im eigenen Code (Templates/Module) dann so: ###key### (bzw. je nach gewählter Start/Endzeichenkette)
* `settings.inc.php` hinzugefügt mit Einstellungsmöglichkeiten für das AddOn

Re: [v1.5.0] String Table AddOn

Verfasst: 16. Jan 2014, 14:15
von RexDude
### Version 1.5.0 - 14. Januar 2014

* `rex_string_table::getString()` Methode bzw. `rex_getString()` Funktion um folgende Parameter ergänzt: `$fillEmpty = true` (steuert ob ein Platzhalter bei einem leeren String angezeigt wird) und `$clang = -1` (steuert die Sprache des Strings, damit kann man z.B. einen sprachunabhängigen String nutzen der für alle Sprachen gleich sein soll)
* Mini-Codebeispiel zur Readme hinzugefügt (API)

Re: [v1.5.0] String Table AddOn

Verfasst: 23. Jan 2014, 13:33
von robo
Hallo RexDude,

auf der Suche nach einem Addon, welches Global Strings usw. ersetzt bin ich auf dieses Addon gestoßen. Allerdings bekomm ich immer einen PHP-Error, wenn ich versuche einen Eintrag zu "adden".
Grund dafür dürfte die index.inc.php Zeile 144 sein

Code: Alles auswählen

$form->addHiddenField('priority', rex_string_table::getStringCount() + 1);
Die Methode getStringCount() scheint nicht zu existieren bzw. hab ich die in den Classes auch nicht gefunden. Möchte das Addon gerne testen und ggf. einsetzen.

Mach ich wieder mal was flasch, oder ist das ein Bug?

LG
Robert

Re: [v1.5.1] String Table AddOn

Verfasst: 23. Jan 2014, 14:03
von RexDude
Schon blöd wenn man zwar ein Methodennamen ändert aber nicht ebefalls auf die Verwendung achtet und dort den Namen auch korrigiert :roll: Danke Robert für den Bugreport :) Wenn dir noch was auffällt, kannst auch gern auf GitHub ein Issue eröffnen...

### Version 1.5.1 - 23. Januar 2014

* Fixed: Bug beim Hinzufügen von einem neuen String, thx@robo

Re: [v1.5.1] String Table AddOn

Verfasst: 23. Jan 2014, 15:31
von robo
Super!

Danke für den schnellen Bugfix.

Tolles Addon - ist alles da was ich brauche.

Nur noch eine Kleinigkeit am Rande: Hab selbst ein Addon nur mit Datepicker und Colorpicker (beide jQuery-UI) im Gepäck. Sortable und alles andere ist nicht dabei (wegen Performance hab ich mir gedacht). In der Klasse class.rex_prio_switch.inc.php wird ja in Zeile 157 mit

Code: Alles auswählen

if (!jQuery.ui) { ... }
geprüft, ob die UI bereits irgendwie greifbar ist, wenn ja dann wird 'jquery-ui.min.js' nicht eingebunden . Leider funktioniert so - ohne Anpassung das Sortable natürlich nicht. Ich hab den Grund ja bereits gefunden und alles zum Laufen gebracht, aber ich denke, daß dies für den einen oder anderen ebenfalls von Interesse sein könnte...

Schöne Grüße und danke für alles!
Robert

Re: [v1.6.0] String Table AddOn

Verfasst: 25. Okt 2014, 16:27
von RexDude
### Version 1.6.0 - 25. Oktober 2014

* Updatefähigkeit für REDAXO 4.6 hergestellt. Einstellungen werden jetzt im Data-Ordner gespeichert.

Re: [v1.6.1] String Table AddOn

Verfasst: 4. Dez 2014, 00:25
von RexDude
### Version 1.6.1 - 03. Dezember 2014

* Addon-Name in Settings-Datei ausgelagert. Bei einem Update muss die settings.inc.php im Data Ordner einmal gelöscht werden.

Re: [v1.6.2] String Table AddOn

Verfasst: 1. Mär 2016, 13:27
von RexDude
### Version 1.6.2 - 01. März 2016

* Hinweis in die Readme aufgenommen: "Es ist möglich während man sich in der Editieransicht befindet die Sprachen umzuschalten!"
* Automatischer Focus auf das Schlüssel-Textfeld in der Edit-Ansicht wenn leer
* PHP7 Compat

Re: [v1.6.2] String Table AddOn

Verfasst: 30. Mai 2016, 14:49
von darwin
HI,
ist es auch möglich die Ersetzung auf xForm Formulare (xForm Eingabe Modul) anzuwenden?

Code: Alles auswählen

text|plz|Postleitzahl:*|
Postleitzahl ersetzen mit

Code: Alles auswählen

echo rex_getString('plz-text'); 
Danke. Grz. Chris.

hmm ... so wie ich das nun sehe, müsste ich das xForm Formular dann in php zusammenbauen und dort die string-table Platzhalter einfügen ...

Re: [v1.6.2] String Table AddOn

Verfasst: 30. Mai 2016, 19:30
von runstop64
du kannst in den Settings die automatische Ersetzung einschalten und mit

Code: Alles auswählen

 ###platzhalter###
arbeiten

Re: [v1.6.2] String Table AddOn

Verfasst: 1. Jul 2016, 14:02
von darwin
Settings die automatische Ersetzung einschalten
Nochmal *doof* nachgefragt... wo genau?

Danke. Chris

Re: [v1.6.2] String Table AddOn

Verfasst: 1. Jul 2016, 14:04
von darwin
ähm.. okay.
config.inc.php

Code: Alles auswählen

// default settings (user settings are saved in data dir!)
$REX['ADDON']['string_table']['settings'] = array(
    'addon_name' => 'String Table',
    'auto_replace' => true,
    'key_start_token' => '###',
    'key_end_token' => '###'
);
:D

Re: [v1.6.2] String Table AddOn

Verfasst: 1. Jul 2016, 14:08
von darwin
hmm...
scheint aber nicht zu ersetzen:

Code: Alles auswählen

text|plz|###string_table_plz###|
Ausgabe:
... ###string_table_plz### :oops:
Danke. Chris

Re: [v1.6.2] String Table AddOn

Verfasst: 1. Jul 2016, 15:01
von runstop64
Hab's gerade nochmal getestet. Bei mir funktioniert es. Vielleicht ein Tippfehler in der Übersetzung?

Re: [v1.6.2] String Table AddOn

Verfasst: 1. Jul 2016, 15:36
von darwin
Hi.
kann es drehen und wenden wie ich will. (einfach mal ins Modul-Ausgabe gepackt)

Code: Alles auswählen

echo rex_getString('blubber');
liefert auch "Das ist ein Blubber."

Eingabe im String Table AddOn:
Schlüssel: blubber
Wert: Das ist ein Blubber.

mit ###blubber### im Form als Platzhalter erhalte ich bei 'auto_replace' => true
NICHTS! (<label> </label>bleibt leer)

Egal wie:
Schlüssel: blubber
Wert: Das ist ein Blubber.
oder
Schlüssel: ###blubber###
Wert: Das ist ein Blubber.

*grmpf* (hab auch auf leerzeichen geachtet!) ...

Ich denke das es einfach daran liegt, das es in der Modul Eingabe (XForm Formbuilder) sich befindet.
*binzudoof* ... :oops:

Re: [v1.6.2] String Table AddOn

Verfasst: 1. Jul 2016, 15:47
von runstop64
Seltsam,

bei mir wird es problemlos in den XForm-Formularen ersetzt. Den Code habe ich auch nochmal gecheckt, String Table wartet, bis alle Addons eingebunden wurden und ruft dann den EP OUTPUT_FILTER auf.
Hast Du mal verglichen, was ausgegeben wird, wenn der String in String Table nicht angelegt ist? Eine leere Ausgabe weist eigentlich darauf hin, dass die Ersetzung durchläuft. Der String ist in allen Sprachen mit einer Ausgabe versehen?

Was mir eben noch auffällt: Hast Du die Settings in der config.inc.php geändert oder in der settings.inc.php im Data-Ordner? Die Einstellungen im Data-Ordner überschreiben die default-Werte aus der config.inc.php

Re: [v1.6.2] String Table AddOn

Verfasst: 1. Jul 2016, 20:40
von darwin
HI,
hab alles überprüft. string-table ersetzt mir hier leider nichts (bleibt leer).
Hab das xOutputFilter Addon nun am laufen, da gehts...
*strange*... schade das Rudi sich hier nicht mehr meldet...

Grz. Chris

Re: String Table AddOn

Verfasst: 12. Feb 2019, 18:29
von phloo
Geht bei mir leider auch nicht. Nutzte davor opf_lang und nach Update auf 4.7.3 eben String_Table.
Kein ersetzen bei auto_replace => true. Weder im Addons, noch im Data-Ordner.