Jump to content
winben

Message from contact form [no_sync] ?

Recommended Posts

Ich kann nichts mit diesem [no_sync] anfangen. Der eigentliche Shopbetreiber mag diese Klammern nicht und würde gerne auch das [no_sync] entfernen. Das mit dem in Klammern gesetzten Anfang habe ich lösen können (Subject: EcoloBlue - Message from contact form [no_sync]). Die Klammern sind weg. Nur dieses no_sync soll auch weg. Gibt es da eine Möglichkeit?

Danke

Share this post


Link to post
Share on other sites

Da kan so recht keiner etwas mit anfangen. Irgendwie ist dieser seltsame Text ins englische Original geraten. Du kannst ihn nur verhindern, indem du irgendetwas anderes in die Übersetzung schreibst, die derzeit leer ist. Du findest diese Passage unter

 

Lokalisierung --> Übersetzungen --> Übersetzungen  E-Mail-Vorlagen --> Programm (Kein Template gewählt)

 

Die letzte Option ist entscheidend, denn wenn du hier ein konkretes Template auswählst, bekommst du beim Speichern eine Fehlermeldung!

 

Dann auf die deutsche Flagge klicken und die erste Sektion öffnen: vordefinierte E-Mails

 

Such dort nach "Template für contact" und schreib etwas in das leere Übersetzungsfeld, z.B. 'Kundennachricht'.

Share this post


Link to post
Share on other sites

Alles so gemacht. Tut sich leider nichts. Werde es aber nochmal durchgehen.

 

Also, nach dem Versuchen klappt das nicht. Ich mache das natürlich alles auf englisch. Bei speichern gibt er mir zwar an, dass alles richtig gespeichert ist aber wenn ich dann nachschaue ist das Feld wieder leer.

Edited by winben (see edit history)

Share this post


Link to post
Share on other sites

Hallo zusammen,

 

es scheint auch kein Übersetzungsproblem zu sein. Dieser Text kommt direkt aus /controllers/front/ContactController.php.

Da ist nichts zu erkennen von einer möglichen Übersetzbarkeit dieser Stelle. Hier der Auszug aus der Datei ca bei Zeile 200

						if (!Mail::Send($this->context->language->id, 'contact', Mail::l('Message from contact form').' [no_sync]',
							$var_list, $contact->email, $contact->name, $from, ($customer->id ? $customer->firstname.' '.$customer->lastname : ''),
									$fileAttachment) ||
								!Mail::Send($this->context->language->id, 'contact_form', ((isset($ct) && Validate::isLoadedObject($ct)) ? sprintf(Mail::l('Your message has been correctly sent #ct%1$s #tc%2$s'), $ct->id, $ct->token) : Mail::l('Your message has been correctly sent')), $var_list, $from, null, $contact->email, $contact->name, $fileAttachment))
									$this->errors[] = Tools::displayError('An error occurred while sending the message.');

Man kann entweder die komplette Passage entfernen, also vom Punkt bis zum zweiten Hochkomma

. '[no_sync]'

oder man ersetzt den Text zwischen den Hochkomma mit {shop_name}. Dann wird an der Stelle der Name des Shops eingesetzt, das könnte nützlich sein für die Leute, die mehr als einen Shop betreiben.

 

Alternativ kann man bis PS 1.5.4.1 (bei 1.5.5 noch nicht getetestet) auch mein kleines Modul FixContactUpload aus dem Forumbereich Kostenlose Module (http://www.prestashop.com/forums/topic/241530-modul-fix-fur-den-dateiupload-im-kontaktformular/) verwenden. Das war zwar eigentlich gedacht um den Fehler mit Dateiendungen in Großbuchstaben im Kontaktformular zu beheben, behebt aber nebenbei auch diesen Mangel.

 

In jedem Fall sollte dieser wunderbare Fehler in den Bugtracker getippert werden, damit er schnellstmöglich aus dem Shop verschwindet.

So wie der Uploadfehler mit den groß geschriebenen Dateinamen im Kontaktformular. aus diesem Grund habe ich das Modul auch nicht mit 1.5.5 getestet. Es war in dem Fall schlicht überflüssig

 

LG Klaus / Lockesoft

  • Like 2

Share this post


Link to post
Share on other sites

Hallo Klaus,

 

Deinem Vorschlag stimme ich zu, nachdem ich der Sache nochmal nachgegangen bin. Ein Bug ist es nicht, sondern ein vom PrestaShop-Team gewolltes Verhalten: http://forge.prestashop.com/browse/PSCFV-8736

 

Hier werden ja mithilfe des bei php üblichen Punkts zwei Variablen miteinander verknüpft, der eigentliche Text, so wie er in der hierfür zuständigen lang.php der mails übersetzt wurde:

$_LANGMAIL['Message from contact form'] = 'Nachricht aus dem Kontaktformular';

und die Variable no_sync, die den Sicherheits-Token der Mitteilung ausgibt, wie er vom Customer Services Tool generiert wurde, also z.B.

Nachricht aus dem Kontaktformular #ct1 #tc9jxcWz3iutdD

Da sich der normale Anwender spätestens dann fragen wird, ob PrestaShop vielleicht Funktionsstörungen hat ;) , plädiere ich auch dafür, deinem Vorschlag zu folgen. Mit diesen kryptischen Zeichen kann außerhalb der Programmierergemeinde eh niemand etwas anfangen.

  • Like 1

Share this post


Link to post
Share on other sites

Hallo Klaus, (mein Name ist übrigens Winfried)

ich würde mich ja wagen deine vorgeschlagene Änderung vorzunehmen. Werde aber erst nochmal in anderen Sprachen suchen.

Ich finde es super, dass hier wenigstens 2 richtig aktive Member sind. Wenn mir da noch nebenbei ein gutes Modul für ein Produktabo nennen kann währe ich froh. Hab schon gesucht aber es läuft fast alles nur auf Paypal.

Wenn ich ne nosync idee finde werde ich mich melden.

 

Danke Winfried

 

 

Habe erstmal das [no_sync] weggemacht und gegen ein anderes Wort ausgetauscht. Geht super. Weglöschen hat nichts gebracht. Da kam nur eine weisse Seite als ich das Formular aufgerufen habe. Also, umbenennen funktioniert gut.

Edited by winben (see edit history)

Share this post


Link to post
Share on other sites

@Winfried

wahrscheinlich hast Du entweder etwas zuviel oder wenig gelöscht.

Es ist wie Rainer schon beschrieben hat. Der Rest drum rum ist für die Funktion wichtig.

Wobei allerdings [no_sync] selber keiner Schreibweise einer Variable so recht entsprechen mag. :-)

 

@Rainer

Wie möchtest Du das lösen?

Ich hatte mehrere Vorschläge in dem Posting gemacht. :-)

 

LG Klaus / Lockesoft

Share this post


Link to post
Share on other sites

Ich hatte mich ja da auch schon zustimmend geäußert, und denke daher nicht, dass die folgende Übersetzung auf große Ablehnung stoßen wird:

 

Message from contact form').' [no_sync]   Kundennachricht von {shop_name} ;)

Share this post


Link to post
Share on other sites

alles klar, es hätte ja auch sein können, dass Du die Variante mit ganz rausschmeissen meinst. :-)

 

Komplett als Übersetzung geht es leider nicht. Da muss schon ein Override her.

Oki, Jetzt hat man mal wieder eine Kleinigkeit anders gelöst. Das sorgt dafür, dass ich nicht einfach nur einen einzelnen Override erstellen kann.

 

Für die Shopversionen 1.5.x - 1.5.3.1 gilt diese Datei:

ContactController.php

Sie basiert auf dem für das Modul FixContactUpload aus dem Bereich Kostenlose Module erstellten Override und sollte damit sowohl für die älteren 1.5er Shopversionen nutzbar sein als auch direkt den Fehler mit den groß geschriebenen Dateiendungen beseitigen.

 

Für die Shopversionen 1.5.4 gibt es dann diese Datei:

ContactController.php

 

Für PS 1.5.5.0 (evtl. auch für spätere Versionen) Gilt dann die folgende Datei:

ContactController.php

 

In beiden Fällen gehört die zur Shopversion passende Datei nach /override/controllers/front/ContactController.php

kopiert. Danach muss noch in /cache die Datei class_index.php

gelöscht werden, damit der Shop die Liste der controller neu aufbaut.

 

Alternativ kann natürlich auch das oben erwähnte Modul zum Installieren verwendet werden.

Das Modul dazu herunterladen, im Modulverzeichnis den Ordner /override/controllers/front suchen und die zur Shopversion passende Datei hinein kopieren. Das ersetzt die vorhandene Datei.

Danach entweder das Modul wieder zippen, oder komplett via FTP nach /modules kopieren.

Modul installieren. Der Override ist damit auch installiert.

 

Ergänzung / Nachtrag:

Nachdem Rainer / eleazar mich (weiter unten in diesem Thread) darauf hingewiesen hat.  sind für die Fehlermeldungen innerhalb der Overrides noch Übersetzungen nachzutragen. Ansonsten gibt es englischsprachige Fehlermeldungen wenn ein Kunde zum Beispiel kein Betreff auswählt. PrestaShops-Übersetzungslogik sieht an der Stelle wohl Zwei verschiedene Sätze Fehlermeldungen. Den einen im Orginal-Controller und den anderen im Override.  Nein, so wie im durchgestrichenen war es dann doch nicht. Die englischen Orginaltexte wurden geändert. Gibt es jetzt noch eine dritte Version des Overrides. Also muss das noch ergänzt werden. Das gilt auch für Installation mit dem Modul.

 

LG Klaus / Lockesoft

Edited by Lockesoft (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Das ist mir schon klar, dass eine Änderung der Übersetzung nicht reicht. Deshalb hatte ich auch deinen Vorschlag so verstanden, dass der Code-Schnipsel

.' [no_sync]'

ersatzlos aus der ContactController.php gestrichen wird.

 

Den Sinn deiner Overrides kann ich allerdings nicht erkennen. Wenn es nur darum geht, den für viele Anwender wahrscheinlich überflüssigen Token unsichtbar zu machen, dann würde es völlig ausreichen, bei der Übersetzung der E-Mail im Back Office


Your message has been correctly sent #ct%1$s #tc%2$s 

die Variablen einfach wegzulassen:

Ihre Nachricht wurde gesendet 

Mit deinem Override schaffst du aber neue Probleme, denn ich kann dir gleich auf Anhieb vier Stellen nennen, bei denen die Übersetzungen nicht mehr funktionieren und statt dessen der englische Text ausgegeben wird, weil deine Variablen nicht stimmen.

$this->errors[] = Tools::displayError('Message cannot be blank');
$this->errors[] = Tools::displayError('Please select a subject from the list.');
$this->errors[] = Tools::displayError('An error occurred during the file upload');
$this->errors[] = Tools::displayError('An error occurred while sending message.');
  • Like 1

Share this post


Link to post
Share on other sites

Hallo Leute,

ich möchte dieses Topic nicht als gelöst abstellen. Das ist es ja auch nicht in wirklichkeit. Mit der Änderung von [no_sync] in meinem Fall in Ecoloblue funktioniert es bis jetzt ohne Probleme. Wenn ich Fehler merke werde ich es mitteilen.

 

Grüsse aus Assisi

 

Winfried

Share this post


Link to post
Share on other sites

Hallo Rainer,

Du erstaunst mich. In Posting #10 schreibst Du auf einmal das folgende:

Das ist mir schon klar, dass eine Änderung der Übersetzung nicht reicht. Deshalb hatte ich auch deinen Vorschlag so verstanden, dass der Code-Schnipsel
.' [no_sync]'
ersatzlos aus der ContactController.php gestrichen wird.

Während Du in Posting #8 noch den Wunsch geäussert hast, das der Shopname da rein soll.:

Ich hatte mich ja da auch schon zustimmend geäußert, und denke daher nicht, dass die folgende Übersetzung auf große Ablehnung stoßen wird:
 
Message from contact form').' [no_sync]   Kundennachricht von {shop_name} ;)

Genau das machen die Override. Sie setzen hinter den übersetzbaren Text den Namen des Shop. Wie Du es gewünscht hast.
Dazu schmeisst Du Mitteilungen durcheinander, die von Dir in Posting #10 zitierten sind an den Kunden. Die geänderte Stelle betrifft die Mail an den Shopbetreiber. In dieser gibt es die Variablen imho gar nicht. Dann geht es weiter mit:

Mit deinem Override schaffst du aber neue Probleme, denn ich kann dir gleich auf Anhieb vier Stellen nennen, bei denen die Übersetzungen nicht mehr funktionieren und statt dessen der englische Text ausgegeben wird, weil deine Variablen nicht

Das kann ich mir ehrlich gesagt nicht vorstellen, weil die einzige Änderung jeweils im Einsetzen der Variable und dem löschen des reinen Text [no_sync] besteht. [no_sync] ist nicht einmal eine Variable.

 

Der Grund dafür ist wie es aussieht ein anderer. Für PrestaShop sind es wohl ZWEI Sätze Fehlermeldungen. Einen im Orginal-Controller und einen im Override.

Nachdem ich die Fünf Zeilen nachgetragen habe gibt es auch wieder deutsche Fehlermeldungen im Kontaktformular.

Oki, dann werde ich im Nachgang noch die Postings zu den Override und dem FixContactUpload-Modul noch ergänzen..

 

LG Klaus / Lockesoft

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More