Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 26. Dezember 2013 13:30

MaBell74
hat von CMS/ms gehört
Ort: Köln
Registriert: 14. März 2012
Beiträge: 5
Webseite

Problem mit CreateInputDate bei eigenem Modul

Hallo!

Ich komme endlich mal dazu, mein erstes eigenes Modul für CMSMS zu schreiben. Basierend auf dem Tutorial von Janix Media habe ich folgenden Code für die Erstellung eines Formulars:

[== php ==]
	if (!isset($gCms)) exit;
	
	/* Add createCodes Form */
	$form = $this->CreateFormStart($id, 'defaultadmin', $returnid);
	$form .= $this->Lang('form_provider').' '.$this->CreateInputText($id, 'provider', '', '50').'<br />';
	$form .= $this->Lang('form_codename').' '.$this->CreateInputText($id, 'codename', '', '50').'<br />';
	$form .= $this->Lang('form_code').' '.$this->CreateInputText($id, 'code', '', '50', '20').'<br />';
	$form .= $this->Lang('form_startdate').' '.$this->CreateInputDate($id, 'startdate').'<br />';
	$form .= $this->Lang('form_enddate').' '.$this->CreateInputDate($id, 'enddate').'<br />';
	$form .= $this->Lang('form_number').' '.$this->CreateInputNumber($id, 'number').'<br />';
	$form .= $this->Lang('form_note').' '.$this->CreateTextArea(false, $id, '', 'note', 'note').'<br />';
	$form .= $this->CreateInputSubmit($id, 'new_code', $this->Lang('form_submit_code'));
	$form .= $this->CreateFormEnd();
	
	$this->smarty->assign('createForm', $form);
	echo $this->ProcessTemplate('createCodes.tpl');  

CreateInputText und CreateTextArea funktioniert einwandfrei, nur CreateInputDate und CreateInputNumber sorgen für einen Fehler:

ERROR DETECTED: Call to undefined method AnmeldeCodes::CreateInputDate() at xxx/modules/AnmeldeCodes/function.admin_createCodes.php:10

Entweder bin ich zu blöd, oder ich finde dazu nichts in Google oder dem englischen CMSMadeSimple Forum. Auch das hinzufügen der weiteren Parameter laut API-Dokumentation von CMSMS brachte keinen Erfolg. Vielleicht kann mit hier jemand weiterhelfen. CreateInputDate sollte doch CMSMS-intern immer zur Verfügung stehen, oder nicht?

Zum System: CMSMS 1.10.3 auf PHP 5.3.27

Vielen Dank im Voraus!

Ciao,
Mario

Offline

#2 27. Dezember 2013 06:16

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: Problem mit CreateInputDate bei eigenem Modul

Als Referenz für die Entwicklung eigener Module wird seitens des Chefentwicklers immer wieder auf das News-Modul verwiesen. Evtl. bringt dich da ein Blick in dessen Sourcen weiter.

Zudem hat sich in CMSMS 1.10.3 / 1.11.9 einiges geändert, so dass das Tutorial möglicherweise nicht mehr 100%ig funktioniert.

Offline

#3 28. Dezember 2013 22:26

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: Problem mit CreateInputDate bei eigenem Modul

nur CreateInputDate und CreateInputNumber sorgen für einen Fehler:

Diese beiden Funktionen gibt es auch nicht mehr.
(Ich glaube seit CMSms 1.9)
Die API-Doku ist da leider nicht mehr ganz aktuell.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#4 29. Dezember 2013 23:06

czarnowski
kennt CMS/ms
Registriert: 18. Oktober 2012
Beiträge: 457

Re: Problem mit CreateInputDate bei eigenem Modul

Die Funktionen  gibt es noch, aber sie erzeugen HTML5, und diese Tags können nicht alle Browser darstellen.

/**
	 * Returns the html5 equivalent of an input of type date.  This is basically a nice little wrapper
	 * to make sure that id's are placed in names and also that it's html5 compliant.
	 *
	 * @param string The id given to the module on execution
	 * @param string The html name of the input field
	 * @param string The predefined value of the textbox, if any
	 * @param string Any additional text that should be added into the tag when rendered
	 * @return string
	 */
	
	function CreateInputDate($id, $name, $value='', $addttext='')

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

/**
	 * Returns the html5 equivalent of an input of type number.  This is basically a nice little wrapper
	 * to make sure that id's are placed in names and also that it's html5 compliant.
	 *
	 * @param string The id given to the module on execution
	 * @param string The html name of the input field
	 * @param string The predefined value of the textbox, if any
	 * @param string Any additional text that should be added into the tag when rendered
	 * @return string
	 */
	
	function CreateInputNumber($id, $name, $value='', $addttext='')

Offline

#5 29. Dezember 2013 14:24

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: Problem mit CreateInputDate bei eigenem Modul

Achso.
Dann war's eben anders.
Die Funktionen gibt es in CMSms 1.10 noch nicht.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline