Seite 1 von 2

[dmzx] Form Maker/Creator - Code Problem

Verfasst: 11.12.2019 09:58
von NiRoLP
Hallo Leute,
nach dem ich die letzte Nacht durch gemacht habe, muss ich hier nun nach Rat fragen.

Es geht um die Erweiterung "Form Maker/Creator" von "dmzx" und zwar habe ich folgendes Problem.

[ externes Bild ]
Wie auf dem oberen Bild zusehen ist in der Formular Beschreibung, die Leerzeichen durch _ ersetzt worden. Die Stelle im Script welche dafür zuständig ist habe ich auch schon gefunden. In der Datei "listener.php" im Ordner "ext/dmzx/formcreator/event", Zeile 185 & 324 steht folgendes

Code: Alles auswählen

$row['name'] = str_replace('  ', '_', $row['name']);
hier muss man dann das _ durch ein Leerzeichen ersetzen. Funktioniert auch soweit, jedoch ist dann im fertigen Beitrag der Input nicht mehr zusehen. Er nimmt den Input nicht mit.

Kann mir jemand helfen? Google & Co konnte mit auch nicht helfen...

Re: [dmzx] Form Maker/Creator - Code Problem

Verfasst: 11.12.2019 16:31
von NiRoLP
Update 1
Mir lässt das keine Ruhe und ich bastle an dem Code weiter. Um euch mal ein Blick in den Code zu geben habe ich Ihn mal bei pastebin hochgeladen. (listener.php)

Ich hab nun "templatefield_" in "templatefield" abgeändert und bei Zeile 135 & 288 habe ich das '_' durch ' ' ersetzt. Und folgendes ist mir dabei nun aufgefallen. Die Eingabe im 4. Eingabe Feld wird übernommen, die Eingaben in den vorriegen Feldern fehlen immernoch... Siehe Bilder:

[ externes Bild ]
[ externes Bild ]

Re: [dmzx] Form Maker/Creator - Code Problem

Verfasst: 11.12.2019 17:42
von Dr.Death
In Zeile 135 darfst du das Leerzeichen nicht mit einem Leerzeichen ersetzen....die Variablen Namen dürfen keine Leerzeichen enthalten, daher wurden Leerzeichen ja durch "_" ersetzt.

Das Gleiche gilt für Zeile 288

Re: [dmzx] Form Maker/Creator - Code Problem

Verfasst: 11.12.2019 19:02
von NiRoLP
Gibt es denn dann eine Möglichkeit das zu ändern?

Re: [dmzx] Form Maker/Creator - Code Problem

Verfasst: 12.12.2019 11:18
von NiRoLP
Dr.Death hat geschrieben: 11.12.2019 17:42 In Zeile 135 darfst du das Leerzeichen nicht mit einem Leerzeichen ersetzen....die Variablen Namen dürfen keine Leerzeichen enthalten, daher wurden Leerzeichen ja durch "_" ersetzt.

Das Gleiche gilt für Zeile 288
Aus diesem Grund ist ja auch ein str_replace gesetzt, nur das funktioniert nicht so wie es soll... Kann mir keiner Helfen?

Re: [dmzx] Form Maker/Creator - Code Problem

Verfasst: 16.12.2019 22:24
von NiRoLP
Keiner eine Idee oder Lösung des Problemes? Oder gibt es alternativen?

Re: [dmzx] Form Maker/Creator - Code Problem

Verfasst: 18.12.2019 16:44
von BNa
Alles muss eigentlich so bleiben wie es ist.
Das Problem ist, das es bei der "Auslieferung" als Schrift in der
"Formular Beschreibung" nicht wieder rückgewandelt wird (ohne Unterstriche).
Da stimmt "konzeptionell" was nicht. Sollte aber zu lösen sein.

Ansonsten mal hier das Problem beschreiben:
https://www.phpbb.com/community/viewtop ... 1&start=75

P.S.: Aha, scheint aber (noch) normal zu sein (bzw. "by Design"). Guck Dir mal die Bilder hier an:
https://www.phpbb.com/community/viewtop ... #p14604341

z.B.:
[ externes Bild ]

Ferner ist der Topic voller Anfragen nach den "Underscore's",
die aber nie beantwortet wurden.

-----------------

Zeig doch mal von diesem, von Dir geposteten Bild den HTML-Quelltext:

[ externes Bild ]

Re: [dmzx] Form Maker/Creator - Code Problem

Verfasst: 23.12.2019 01:49
von NiRoLP
@BNa, danke das du dir das mal anschauen magst. Habe den Abschnitt mal aus dem HTML-Code kopiert und hoffe das es das ist, was du wolltest?!

Code: Alles auswählen

<script type="text/javascript">
// <![CDATA[

/* This is part of the form_maker mod for phpBB3 copyright phpbbireland.com 2012 */

function postform_check()
{
	if (document.forms.postform.subject.value == '')
	{
		alert('Bitte\u0020gib\u0020einen\u0020Betreff\u0020ein');
		document.forms.postform.subject.focus();
		return(false);
	}
}

// ]]>
</script>

<div id="thisform" style="display:none; width:auto; margin-left:auto; margin-right:auto;" class="panels">
	<div class="inner">
		<div class="mand"><span class="mandatory">*</span> Einträge mit einem Sternchen sind erforderlich.</div>
		<fieldset class="fields2">
						<dl>
				<dt><label for="templatefield_Art_des_Lehrgangs">Art_des_Lehrgangs:</label></dt>
				<dd><input type='text' name='templatefield_Art_des_Lehrgangs'id='templatefield_Art_des_Lehrgangs'placeholder='z.b. OrgL-Ausbildung' size="40" maxlength="255" tabindex='1' style="border-radius: 5px;" /></dd>
			</dl>
						<dl>
				<dt><label for="templatefield_Freie_Plätze">Freie_Plätze:</label></dt>
				<dd><input type='text' name='templatefield_Freie_Plätze'id='templatefield_Freie_Plätze'placeholder='6' size="40" maxlength="255" tabindex='2' style="border-radius: 5px;" /></dd>
			</dl>
						<dl>
				<dt><label for="templatefield_Kosten_pro_Tag/Teilnehmer">Kosten_pro_Tag/Teilnehmer:</label></dt>
				<dd><input type='text' name='templatefield_Kosten_pro_Tag/Teilnehmer'id='templatefield_Kosten_pro_Tag/Teilnehmer'placeholder='Verbandsschule = 0 Credits' size="40" maxlength="255" tabindex='3' style="border-radius: 5px;" /></dd>
			</dl>
						<dl>
				<dt><label for="templatefield_Lehrgangsende">Lehrgangsende:</label></dt>
				<dd><input type='text' name='templatefield_Lehrgangsende'id='templatefield_Lehrgangsende'placeholder='z.b. Montag, 01. Januar 2019, 06:00 Uhr.' size="40" maxlength="255" tabindex='4' style="border-radius: 5px;" /></dd>
			</dl>
					</fieldset>
		<div class="form_chk_msg">Bei Kontrollkästchen, die als erforderlich markiert sind,  müssen alle Elemente angehakt sein (HTML5 Formularprüfung).</div>
	</div>
	<div class="panels">
		<div class="inner">
			<fieldset class="submit-buttons">
				<input type="submit" accesskey="s" tabindex="6" name="post" value="Absenden" class="button1 default-submit-action" onclick="return postform_check();" />&nbsp;
				<input type="reset" name="reset" value="Zurücksetzen" class="button2" />
				<input type="hidden" name="creation_time" value="1577062016" />
<input type="hidden" name="form_token" value="0b845d745a96037c070874c8be17e9ec09358b92" />

				<input type="button" class="button2" accesskey="f" name="useform" value="Abbrechen" style="font-weight:normal; width: 50px" onclick="toggle_validation();ShowHide('thisform','message-box');ShowHide('smiley-box');ShowHide('form_hide','format-postingbuttons');" title="Wechsle zurück zum Beitrags-Modus (Daten werden nicht gesendet)" />
			</fieldset>

Re: [dmzx] Form Maker/Creator - Code Problem

Verfasst: 23.12.2019 11:00
von BNa
Yap, das isses. Wollte die Html-Ausgabe mit der php-Generierung vergleichen,
ohne die Ext installieren zu müssen und meld mich, wenn ich mehr weiß..

--------------

OK, finde in

formcreator/event/listener.php

Code: Alles auswählen

			$this->template->assign_block_vars('form_apptemplate', array(
				'NDX_ORDER' => $row['ndx_order'],
				'NAME'		=> $row['name'],
				'LABEL'	 	=> $row['name'],
				'HINT'		=> $row['hint'],
				'OPTIONS'	=> $row['options'],
				'TYPE'		=> $entry,
				'MANDATORY' => $mandatory,
			));
ersetze mit

Code: Alles auswählen

			$this->template->assign_block_vars('form_apptemplate', array(
				'NDX_ORDER' => $row['ndx_order'],
				'NAME'		=> $row['name'],
				'NAME_CLR'	=> str_replace('_', ' ', $row['name']),
				'LABEL'	 	=> $row['name'],
				'HINT'		=> $row['hint'],
				'OPTIONS'	=> $row['options'],
				'TYPE'		=> $entry,
				'MANDATORY' => $mandatory,
			));
finde in

formcreator\styles\prosilver\template\forms\form_maker.html

Code: Alles auswählen

{{ form_apptemplate.NAME }}{{ lang('COLON') }}
ersetze mit

Code: Alles auswählen

{{ form_apptemplate.NAME_CLR }}{{ lang('COLON') }}
Danach alle Board und Browsercaches leeren

Re: [dmzx] Form Maker/Creator - Code Problem

Verfasst: 23.12.2019 15:47
von NiRoLP
Das war TOP!

Damit bin ich nun einen großen Schritt vorran gekommen, nun zeigt er die _ aber noch im Beitrag an^^

[ externes Bild ]

Müsste dieser Quellcode sein:

Code: Alles auswählen

<div class="content">
	<pre><strong class="text-strong">Art_des_Lehrgangs:</strong></pre><div class="fbox">Mal schauen</div>
	<pre><strong class="text-strong">Freie_Plätze:</strong></pre><div class="fbox">5</div>
	<pre><strong class="text-strong">Lehrgangsende:</strong></pre><div class="fbox">Test</div>
</div>
Schon vorab ein riesen Danke!