XFORM Addon Umlaute im Backend falsch

Alles über die Anwendung und Entwicklung von AddOns.

XFORM Addon Umlaute im Backend falsch

Beitragvon gupi » 20. Nov 2008, 15:28

Habe REDAXO installiert (ohne Demo) Deutsch UTF-8 und bin gerade dabei die ersten Schritte damit zu tun. Als Formulargenerator will ich XForm einsetzen und habe dazu das Addon geladen und entpackt.
Installation und Aktivierung o.k.

Im Backend :XForm erscheinen jetzt keine Umlaute sondern ein kleines Quadrat.

An welcher Stelle mus hier angepasst werden? Beim Umfang der Quelldateien zu XForm suche ich mich zu Tode.

Gruß Gunter
read the manual first
gupi
 
Beiträge: 111
Registriert: 20. Nov 2008, 12:49
Wohnort: Elsdorf/Rheinland

Beitragvon Jan.Kristinus » 20. Nov 2008, 16:29

hallo,

leider ist es noch nicht internationalisiert, sondern nur in deutsch als iso-1 code hinterlegt. für das frontend sollte es keine probleme geben, "nur" im backend kann es bei utf-8 seltsam aussehen. update wird kommen, aber noch nicht soo bald.

lg

jn
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/
Benutzeravatar
Jan.Kristinus
Admin
 
Beiträge: 1928
Registriert: 24. Aug 2004, 21:11
Wohnort: Frankfurt

Beitragvon gupi » 20. Nov 2008, 17:00

Danke für die schnelle Antwort - hab mir schon sowas gedacht.
Siehst du ein Risiko darin wenn ich versuche die Quellen per Programm zu aktualisieren per str_replace(). Zur Zeit gehe ich davon aus, nur nach deutschen Umlauten suchen zu müssen.

Gruß Gunter
read the manual first
gupi
 
Beiträge: 111
Registriert: 20. Nov 2008, 12:49
Wohnort: Elsdorf/Rheinland

Beitragvon Jan.Kristinus » 20. Nov 2008, 17:18

nein.. kannst du ruhig machen. sollte nichts passieren. lg jn
Yakamara Media GmbH & Co. KG | Kaiserstrasse 69 | 60329 Frankfurt
Tel.: 069-900.20.60.30
http://www.yakamara.de/
Benutzeravatar
Jan.Kristinus
Admin
 
Beiträge: 1928
Registriert: 24. Aug 2004, 21:11
Wohnort: Frankfurt

Beitragvon ciss » 20. Nov 2008, 20:23

ich versuche die Quellen per Programm zu aktualisieren per str_replace().

Besser, du verwendest einen Editor, bei dem du den Zeichensatz einstellen kannst (z.B. Notepad++). Dann hast du zwei Möglichkeiten:

A) Du kannst im Editor selbst den Zeichensatz konvertieren. Dann nur noch speichern und fertig.

B) Falls du den Zeichensatz für eine Datei festlegen, einen bestehenden aber nicht umwandeln kannst, reicht es den Quelltext auszuschneiden, den Zeichensatz zu ändern und dann den Quelltext wieder einzufügen. Die Konvertierung wird beim Einfügen automatisch vorgenommen (unter XP, sollte für andere Betriebssysteme aber auch gelten).
Benutzeravatar
ciss
 
Beiträge: 359
Registriert: 8. Feb 2008, 04:24
Wohnort: Berlin

Beitragvon gupi » 20. Nov 2008, 20:57

Ist sicherlich zu überlegen einen Editor einzusetzen.
Aber ich bin faul - mit der Editorlösung ist zuviel Handarbeit verbunden.
Da jage ich lieber mein kleines php script auf das Verzeichnis und das kann dann durch alle php dateien in allen unterverzeichnissen rasen und den job für mich tun.

Gruß Gunter
read the manual first
gupi
 
Beiträge: 111
Registriert: 20. Nov 2008, 12:49
Wohnort: Elsdorf/Rheinland

Beitragvon ciss » 20. Nov 2008, 21:10

Wie genau willst du's eigentlich anstellen? mit str_replace die Ümläüte durch die HTML-Entitäten ersetzen?

EDIT: die zu ändernden Seiten dürften übrigens nur die im /pages-ordner und evtl. in /module sein.
Benutzeravatar
ciss
 
Beiträge: 359
Registriert: 8. Feb 2008, 04:24
Wohnort: Berlin

Beitragvon gupi » 21. Nov 2008, 00:49

Du hattest recht, str_replace ist nicht die richtige wahl, aber dafür gibt's ja $string = utf8_encode($string)


Code: Alles auswählen
<?php

/**
*
*
* @version 1.0
* @copyright 2008
*/
$array =array();
$array[0] = "redaxo".DIRECTORY_SEPARATOR."include".DIRECTORY_SEPARATOR."addons".DIRECTORY_SEPARATOR."xform";
$array = analyze(0,$array);
echo "<pre>";
print_r ($array);
echo "</pre>";

function analyze($counter,$array){
   $base = $array[$counter];
   $d = dir($base);
   while($entry = $d->read()){
      if ($entry != "." && $entry != "..") {
         if (is_dir($base.DIRECTORY_SEPARATOR.$entry)) {
            $counter++;
            $array[$counter]=$base.DIRECTORY_SEPARATOR.$entry;
            $array = analyze($counter,$array);
            $counter = count($array)-1;
         } else {
            if (strtolower(substr($entry,strlen($entry)-3,3 )) == "php") {
               $contens = file_get_contents($base.DIRECTORY_SEPARATOR.$entry);
               $translate = translate($contens);
               if ($contens != $translate) {
                  file_put_contents($base.DIRECTORY_SEPARATOR.$entry.".bak",$contens );
                  file_put_contents($base.DIRECTORY_SEPARATOR.$entry,$translate );
                  $counter++;
                  $array[$counter] = $entry;
               }
            }
         }
      }
   } // while
   return $array;
}
function translate($string){
   return utf8_encode($string);
}
?>



Der folgend Dreizeiler aus dem oberen Code ist nur als Kontrolle gedacht

echo "<pre>";
print_r ($array);
echo "</pre>";

[/code]
read the manual first
gupi
 
Beiträge: 111
Registriert: 20. Nov 2008, 12:49
Wohnort: Elsdorf/Rheinland

Beitragvon ciss » 21. Nov 2008, 02:08

Jetzt noch auf den gesamten include/addons-Ordner ausdehnen, die zu ändernden Dateien auflisten und abwählbar machen und das ganze als Redaxo-AddOn verpacken. :D

Würde mich drüber freuen, denn das Problem gibts ja bei einigen Addons.

Außerdem kannst du mal schauen, ob sich mb_detect_encoding() vielleicht besser macht. In den Kommentaren gibts darüber hinaus noch andere Alternativen.

Viele Grüße
Fabian
Benutzeravatar
ciss
 
Beiträge: 359
Registriert: 8. Feb 2008, 04:24
Wohnort: Berlin

Beitragvon gupi » 21. Nov 2008, 10:06

Code: Alles auswählen
Jetzt noch auf den gesamten include/addons-Ordner ausdehnen, die zu ändernden Dateien auflisten und abwählbar machen und das ganze als Redaxo-AddOn verpacken.


Hmmm... darüber sollte noch einwenig nachgedacht/diskutiert werden.
Auswahlliste als Select-Box ist sicher sinnvoll ebenso das Ändern des Zielordners.

Aber ist das wirklich ein sinnvolles Addon? Das ist doch eher ein Tool das nur bei Bedarf, meist einmalig, eingesetzt wird.javascript:emoticon(':?')

Dann wäre der Ansatz einen "Werzeugkasten" zu erstellen der solche und andere tools aufnimmt.
Ich denke dass die Zielrichtung für solche Programme doch wohl eher der erfahrene Programmierer ist.
Wenn jeder damit umgehen soll, muss zwingend eine Doku dazu aus der hervorgeht auf was man sich mit dem Tool / den Tools einlässt.
Doku's sind doch in unseren Geschäft das ganz große Problem. Wer nimmt sich schon die Zeit eine Doku zu erstellen? Das dauert meist genau so lange wie das coding manchmal sogar länger.

Gruß aus dem (noch) schönen Rheinland
Gunter :?
read the manual first
gupi
 
Beiträge: 111
Registriert: 20. Nov 2008, 12:49
Wohnort: Elsdorf/Rheinland

Beitragvon ciss » 21. Nov 2008, 14:00

Aber ist das wirklich ein sinnvolles Addon? Das ist doch eher ein Tool das nur bei Bedarf, meist einmalig, eingesetzt wird.

Bei der Installation neuer AddOns und beim Aktualisieren von AddOns. Das AddOn muss ja nicht die ganze Zeit aktiv sein - wird es nicht gebraucht, deaktiviert man es halt.

Dann wäre der Ansatz einen "Werzeugkasten" zu erstellen der solche und andere tools aufnimmt.

Bitte nicht, sonst wird das niemals fertig! ;)
Außerdem schwierig zu entscheiden welche Tools sinnvoll sind. Nicht, dass man am Ende ein Schweizer Taschenmesser mit Nagelfeile und Rückenkratzer hat. Im Übrigen kann man sowas später immer noch mit anderen Erweiterungen zusammengefassen.

Ich denke dass die Zielrichtung für solche Programme doch wohl eher der erfahrene Programmierer ist. Wenn jeder damit umgehen soll, muss zwingend eine Doku dazu aus der hervorgeht auf was man sich mit dem Tool / den Tools einlässt.

Ähnliches gilt auch für das Developer-Addon. Und ehrlich gesagt: wenns richtig programmiert ist, kann man da auch nichts kaputt machen. Es geht schließlich nur darum, PHP-Seiten (also Text) von ANSI nach UTF8 zu konvertieren. Das klappt (wenn es klappt) genau einmal, danach wird die Datei ohnehin nicht mehr als konvertierbar erkannt.
Wenn du Sorge um das Wohlergehen unerfahrener Anwender hast, setz nen dicken Hinweis auf die Addon-Seite im Backend. :)
Benutzeravatar
ciss
 
Beiträge: 359
Registriert: 8. Feb 2008, 04:24
Wohnort: Berlin

Beitragvon ciss » 29. Nov 2008, 22:26

Falls du noch Anregungen für zusätzliche "Werkzeuge" in einem solchen "Werkzeugkasten" suchst: wie wärs mit ner Modulkonvertierung? Man ersetzt ein Modul in einem oder mehreren Slices durch ein anderes und kann die values dabei neu zuordnen (z.B. value1->value3).
Benutzeravatar
ciss
 
Beiträge: 359
Registriert: 8. Feb 2008, 04:24
Wohnort: Berlin

Modul anlegen klappt nicht

Beitragvon barbe » 9. Jan 2009, 15:53

Liebe Rexaner,

habe eine UTF-8-Version laufen und X-Form installiert. Umlautproblem stört mich nicht wirklich ... allerdings bekomme ich beim Anlegen des Moduls zwar die Meldung "XForm Modul wurde angelegt unter "rex - X-Form" - in den Modulen ist es aber nicht zu finden. Hat das etwas mit dem Zeichensatz zu tun?

Viele Grüße
Sebastian
Internet-Dienste: BARBE.INTERNET
Hobby: Wein & Kochen
Urlaub: Azoren Blog
REDAXO-Referenzen: Referenzen redaxo
barbe
 
Beiträge: 245
Registriert: 17. Mai 2006, 12:09

Beitragvon gupi » 12. Jan 2009, 22:16

Hast Du Dir die Datenbanktabelle mal angeschaut? Ist da auch kein neues Modul zu finden?

Gruß Gunter
read the manual first
gupi
 
Beiträge: 111
Registriert: 20. Nov 2008, 12:49
Wohnort: Elsdorf/Rheinland

Beitragvon barbe » 13. Jan 2009, 01:40

Hallo Rexaner,

kann es an dem Prefix "rex4_" statt "rex_" liegen?

Falls ja, sollte man das im AddOn evtl. anpassen ...

Viele Grüße
Sebastian
Internet-Dienste: BARBE.INTERNET
Hobby: Wein & Kochen
Urlaub: Azoren Blog
REDAXO-Referenzen: Referenzen redaxo
barbe
 
Beiträge: 245
Registriert: 17. Mai 2006, 12:09

Nächste

Zurück zu AddOns [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste