tbaddade / redaxo_sprog Goto Github PK
View Code? Open in Web Editor NEWPlatzhalter ersetzen
License: MIT License
Platzhalter ersetzen
License: MIT License
Wie der Titel schon sagt, ist das AddOn nicht über den Installer zu finden. Die anderen AddOns (yrewrite, yform etc.) hingegen schon. Gibt es dafür einen Grund?
Umfang:
Keys, die in XOutputFilter angelegt werden, sollten nicht in der Liste der nicht ersetzten Platzhalter von Sprog auftauchen und vice versa.
Wenn "Sprachen als Unternavigation" aktiviert ist, lässt sich der Platzhalter nachträglich nicht mehr ändern. In der normalen Editier-Ansicht jedoch schon.
Ho!
Wenn man Wildcard::replace(); nutzt, sollte es ohne die angegebenen Begrenzer funktionieren.
Aktuell:
Wildcard::replace('{{Replace This}}');
Schön wäre:
Wildcard::replace('Replace This');
Aus dem Feld name
würden dann die Felder name_1
, name_2
, name_n
umbenannt bzw. neu angelegt werden.
… ob Sprachvarianten Inhalte haben und Hinweis anzeigen
Voraussetzung: in der Konfiguration die Option "Templates zwischen den Sprachen synchronisieren" aktivieren. Ich habe zwei Sprachen: Deutsch und Englisch. Der Artikel (nicht Kategorie, denn bei den Kategorien funktioniert alles korrekt) ist in beiden Sprachen online. Nun schalte ich den Artikel in der Sprache Deutsch auf "Offline". Dann ist in der Sprache Englisch "KEIN TEMPLATE" eingetragen.
Wenn ein Platzhalter eine einfache öffnende Klammer enthält (ohne schließende Klammer, wird eine leere Seite ausgeliefert. Folgender Eintrag steht im Error-Log:
preg_replace(): Compilation failed: missing ) at offset 42
redaxo\src\addons\sprog\lib\Sprog\Wildcard.php
Multidomain, sind mehrere Domains registriert, benötigt man unter Umständen nicht alle angelegten Sprachen für die einzelne Domain.
Error while executing statement "SELECT DISTINCT a.id, a.wildcard AS wildcard, english.replace AS id1,deutsch.replace AS id2,.replace AS id3,.replace AS id4,magyar.replace AS id5,hrvatski.replace AS id6 FROM rex_sprog_wildcard AS a LEFT JOIN rex_sprog_wildcard AS english ON a.id = english.id AND english.clang_id = 1 LEFT JOIN rex_sprog_wildcard AS deutsch ON a.id = deutsch.id AND deutsch.clang_id = 2 LEFT JOIN rex_sprog_wildcard AS ON a.id = .id AND .clang_id = 3 LEFT JOIN rex_sprog_wildcard AS ON a.id = .id AND .clang_id = 4 LEFT JOIN rex_sprog_wildcard AS magyar ON a.id = magyar.id AND magyar.clang_id = 5 LEFT JOIN rex_sprog_wildcard AS hrvatski ON a.id = hrvatski.id AND hrvatski.clang_id = 6 ORDER BY wildcard! SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS id3,.replace AS id4,magyar.replace AS id5,hrvatski.replace AS id6 FROM rex_sp' at line 1
reinstallation war erfolglos. nach löschen und neu installation geht es wieder. und der fehler ist nicht reproduzierbar...
es wäre super wenn man im editermodus ist und auf eine andere sprache klickt auch im edtiermodus bleibt - also gleich das wort in der anderen sprache verändern kann.
im moment kommt man immer auf die übersicht zurück.
Redaxo 5.1, Watson (installiert, aktiviert, aber genauso inaktiviert), fast alle Addons sind deaktiviert.
Ein Aufruf im Backend macht
"ErrorException" thrown in /www/verzeichnis/redaxo/src/addons/sprog/lib/Sprog/Wildcard.php on line 23
Fatal error: Maximum execution time of 30 seconds exceeded
Frontend funktioniert.
sprog / wildcard_close_tag ist in der rex_config vorhanden.
Wenn ich die Zeile 23 durch
return ' }}';
ersetze, dann funktioniert das Backend.
Die bisherigen Auswahl macht bei mehreren Sprachen in der Darstellung Probleme, behindert sich mit der Anzeige des Pfades.
Auswahl
Zeile 13 hat gibt noch All: 1 aus.
Aktuell kann man nicht zw. Singular und Plural unterscheiden.
Bsp. Suchausgabe
<?= {{ search.result.news.heading|format(' . count($newsResults) . ') }} ?>
Platzhalter: search.result.news.heading
Ersetzung: %s News wurde gefunden
Ausgeben wird
1 News wurde
gefunden
5 News wurde
gefunden, hier müsste wurden
ausgegeben werden
Idee:
Ersetzung: %s News %plural(%s,wurde,wurden) gefunden
beim speichern der artikel metadaten gibt es unter php7.2 folgende warning:
count(): Parameter must be an array or an object that implements Countable
redaxo/src/addons/sprog/lib/Sprog/Extension.php:42
redaxo_sprog/lib/Sprog/Extension.php
Line 42 in 0d74d9a
Ich würde mich freuen, wenn es noch in der Setting die Möglichkeit geben könnte, der Textarea eine Custom-Class zu übergeben. Dadurch könnte man ohne weiteres z.B. Redactor oder CKEditor für die Ersetzungen nutzen, um HTML zu ermöglichen.
Es wäre super, wenn man die Begriffe in Tabs/Kategorien einteilen könnte. Ich stelle mir einfach vor dass man ein Feld "Tags" nach denen man filtern kann. Idealer Weise gleich so, dass bei KeyUp gleich Vorschläge von bereits vorhandenen Tags geliefert wird, damit man sich nicht unnötig vertippt.
Entweder global, oder pro Datensatz.
Noch besser wäre, festlegen zu können, ob Parser wie Textile, Markup o.ä. drüber sollen.
Anwendungsfall: Website in mehreren Sprachen + sämtliche Lightbox-Skripte o.ä., die Schaltflächen für "Zurück", "Weiter" dynamisch generieren.
Wie gehe ich da am besten vor?
Am coolsten wäre es, wenn Sprog sich so weit in Redaxo einklinken könnte, dass man einen Platzhalter über /sprog/clang/key1,key2,key3
per URL-Aufruf anfragen kann und diesen dann kommagetrennt oder in einem JSON-Array ersetzt zurück bekommt.
Ho!
Das ist ein super feature. Wenn ich aber den Platzhalter hinzufüge, wäre es super wenn dieser gleich ohne Klammern oder sonstige Platzhaltermarkierungen eingefügt wird.
Was mir noch aufgefallen ist, dass der Platzhalter nicht aus der Liste entfernt wird:
Ich hab Templates und Modules neu erstellt. Aber der Vorschlag bleibt.
Hallo, erstmal Danke für das tolle Addon! Eins der Wichtigsten in all meinen Projekten.
Wenn man Erfahrung mit Redaxo/PHP hat, ist es recht leicht SPROG im Backend (Moduleingabe/ -ausgabe) zu nutzen. Man benötigt aber extra Funktionsaufrufe. Ich nutze einfach sprogcard(), sprogdown()
Mein Vorschlag ist nun, dies in der Doku oder auch in der Kurzbeschreibung des Addons ausdrücklich zu erwähnen.
Da ich ein spezialisiertes Modul schrieb, in denen viele globale Ersetzungen vorkamen das die Redakteure in der Backend-Vorschau verwirrte, denke ich, dass dies manchmal wichtig ist.
Interessiere mich für Vorschläge wie es noch eleganter ginge. Habe noch nicht geprüft wie man z. B. den gesamten Modulcode schon während/nach Parsen der REX vars "durch SPROG laufen lassen" könnte.
Bezieht sich auf redaxo 5.6.x, sprog 1.1.0
Viele Grüße
Thomas
siehe #14
Liste der Filter (Twig als Vorbild)
sprog_wildcard_added müsste "Platzhalter wurde hinzugefügt" heissen.
Möglichkeit Textile in das Ersetzungsfeld einzugeben.
Evtl. mit Beispiel für die Ausgabe :-)
Bei einem Projekt (das Sprachen/Sprachnamen mit kyrillischen Zeichen enthält) gibt es beim aktivieren und deaktivieren des Addons noch eine Fehlermeldung
Illegal operation "deactivate" for package "sprog"
was aber keine Auswirkungen auf die Funktionalität hat.
[email protected],de_DE.UTF-8,de.UTF-8,ge.UTF-8
%e. %B %Y
%R Uhr
Wenn ich ein (Artikel)Metainfo Feld lösche, das bei Sprog als "zu synchronisieren" hinterlegt ist und danach die (Artikel)Metainfos speichere, gibts nen Whoops. Quickfix per EP ist nicht möglich, da für das Löschen einer Metainfo keiner hinterlegt ist.
AddOn sprog konnte aus folgendem Grund nicht installiert werden:
Das Ordnername muss gemäß package.yml "wildcard" heißen!
hatte den fehler lokal mal gefixed, danach kam dann
2015-12-03 18:01:30 | Fatal error | Call to a member function setSubPath() on a non-object | redaxo/src/addons/sprog/boot.php | 40
2015-12-03 18:02:47 | Fatal error | Call to a member function setSubPath() on a non-object | redaxo/src/addons/sprog/boot.php | 40
Felder
Ausgabe (Module)
Sonstiges
Eigene Rechte, damit jemand auch "nur" das Glossar pflegen kann (sprachabhängig?)
Hi. Ich verwende sprog auch für kleine html-snippets, wo die
ziemlich lästig sind. Gut wäre, wenn man das nl2br optional global und oder individuell per Platzhalter setzen könnte. Man könnte es auch über den Platzhalter selbst lösen... z.B. so:
{{platzhalter|raw}}
Wenn sprog installiert wird ist es nicht Einsatzbereit. Erst nach dem ersten Speichern der Konfiguration. Es wäre super, wenn bei der Installation die Standard Placeholder in die Optionen geschrieben werden.
Hallo,
habe gerade 2 Sprachen unter System hinzugefügt und nun kommt diese Fehlermeldung wenn ich auf das Sprog Addon klicke:
rex_sql_exception | Error while executing statement "SELECT DISTINCT a.id, a.wildcard AS wildcard, clang1.replace AS id1,clang2.replace AS id2,clang3.replace AS id3 FROM rex_sprog_wildcard AS a LEFT JOIN rex_sprog_wildcard AS clang1 ON a.id = clang1.id AND clang1.clang_id = 1 LEFT JOIN rex_sprog_wildcard AS clang2 ON a.id = clang2.id AND clang2.clang_id = 2 LEFT JOIN rex_sprog_wildcard AS clang3 ON a.id = clang3.id AND clang3.clang_id = 3 WHERE 1 ORDER BY wildcard"! SQLSTATE[42000]: Syntax error or access violation: 1104 The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay | redaxo/src/core/lib/sql/sql.php | zeile 340
Hab gerade versucht herauszufinden wieso PJAX nicht geht. Schuld war am Ende sprog.
Kann man das nicht anders lösen?
https://github.com/tbaddade/redaxo_sprog/blob/master/boot.php#L124
Edit: Ursache scheint gefixt zu sein, siehe redaxo/redaxo#607
Z.B. Sprach mit id=8 nimmt Inhalte von id=3
Weil z.B. sie Sprachen, wie wir sie manchmal verwenden, auch ein Länderkürzel haben könnten.
Also z.b. folgende Sprachen
en = englisch allgemein
en-us = braucht auch die englischen texte, hat aber eigene inhalte
en-br = ...
en-au = ...
ich stelle mir dann einfach ein Selektfeld vor, mit welchem man die Sprachbasis definieren kann.
Auf der Seite ?page=sprog/wildcard
die Darstellung der "Platzhalter" verbreitern und dafür evtl. die "Ersetzung" verkleinern (jeweils 1 col?)
Habe oft dieselben Kategorien in Medienpool und Structure. Könnte SPROG das nicht zusätzlich auch syncen? Würde thematisch ja gut hier reinpassen..
Wunsch: Begriffe wie "Platzhalter", "Übersetzungen" in der Modulbeschreibung eingefügt werden, damit man es über den Installer auch findet.
Ich erinnere mich nie an den Namen und obige sind meine bevorzugten Suchbegriffe mit dem ich Sprog suche.
Danke!
Adrian
I still can not see the translations into Spanish, I think they have to do a new release, something similar happened to me before: FriendsOfREDAXO/redactor2#124 (comment) ,
Hi Com,
bei Benutzern deren Rolle keine Adminrechte besitzen, wird das Eingabefeld im AddOn nicht angezeigt, weil in der Eingabemaske auf Adminrechte überprüft wird.
Wenn man eine Wildcard z.B. im deutschen öffnet und dann über den Lang-Switch z.B. in die Variante englisch wechseln möchte (aus der Editieransicht heraus), landet man auf der Übersicht, anstatt auf der entsprechenden Wildcard in der Sprache. Das ist ziemlich umständlich im Workflow.
Bei aktivierter Funktion 'Template zwischen den Sprachen synchronisieren' wird bei online/offline Schaltung die Templatezuordnung des entsprechenden Rootartikels gelöscht.
Wenn ein Eintrag bearbeitet wird, sollte beim Neuladen direkt dorthin gesprungen werden, statt selbst scrollen zu müssen. (Gilt auch fürs speichern -> Sprung zum bearbeiteten Eintrag. Am besten noch highlighten)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.