Zum Inhalt springen

tt_products und all required fields - es hakt gewaltig

Erstellt am 22. Juni 2005 · 2 Antworten · letzte Antwort am 22. Juni 2005

Tags: Frontend-Benutzer, Frage

clonedyke ·

salutti zusammen!
nachdem ich tt_products v2.0.2.14 mit sr_feuser_register gekoppelt habe, bekomme ich trotz korrekt angezeigter benutzer-informationen beim absenden des warenkorbes leider diesen leidigen fehler:

You have not filled in all required fields with address information. Please go back and do that!

die betroffenen user sind aber definitiv vollstaendig angelegt, sodass eigentlich keine information fehlen duerfte...

meine fragen hierzu:

  • welche werte fuer requiredInfoFields gibt es ueberhaupt bzw. wo kann man die nachschauen

  • welche moeglichkeit gibt es, den sourcecode zu veraendern, dass er einem die fehlenden felder anzeigt, statt nur diese generelle meldung zu bringen?

  • und zu guter letzt: ist es eigentlich eindeutig, welche der zahlreichen optionen in constants und welche im setup zu setzen sind? speziell bei tt_products blicke ich da nicht mehr durch, oder uebersehe ich hier was offensichtliches???

gruss und danke

rainer

Flink ·
clonedyke schrieb

meine fragen hierzu:

  • welche werte fuer requiredInfoFields gibt es ueberhaupt bzw. wo kann man die nachschauen

name,address,telephone,fax,email,company,city,zip,state,country

clonedyke schrieb
  • welche moeglichkeit gibt es, den sourcecode zu veraendern, dass er einem die fehlenden felder anzeigt, statt nur diese generelle meldung zu bringen?

mache hier weiter:
readLLfile('EXT:sr_feuser_register/locallang.php und $label = $GLOBALS['TSFE']->sL
waren doch die falschen Ansätze. Aber in dieser lokallang-Datei gibt es sinnvolle Texte, die man hier in tt_products anzeigen könnte (mehrsprachig).

case "products_payment":

$this->load_noLinkExtCobj();
$pidagb = intval($this->conf["PIDagb"]);
$check = $this->checkRequired();
if ($check=='' &&
	(empty($pidagb) || isset($_REQUEST["recs"]["personinfo"]["agb"]))) {
	$this->mapPersonIntoToDelivery();
	$content=$this->getBasket("###BASKET_PAYMENT_TEMPLATE###");
} else {	// If not all required info-fields are filled in, this is shown instead:
	$content.=$this->cObj->getSubpart($this->templateCode,$this->spMarker("###BASKET_REQUIRED_INFO_MISSING###"));
	$content = $this->cObj->substituteMarkerArray($content, $this->addURLMarkers(array()));
	// Include the sr_feuser_register localllang file
	
	function getFileAbsFileName($filename,$onlyRelative=1,$relToTYPO3_mainDir=0)
Returns the absolute filename of $filename.
Decodes the prefix EXT: for TYPO3 Extensions.

	t3lib_div::getFileAbsFileName 

Includes a locallang file and returns the $LOCAL_LANG array found inside.
$fileRef 	string 	Input is a file-reference (see t3lib_div::getFileAbsFileName) which, if exists, is included. That file is expected to be a 'local_lang' file containing a $LOCAL_LANG array.
Returns: 	array 	Value of $LOCAL_LANG found in the included file. If that array is found it's returned. Otherwise an empty array
function localizedFileRef($fileRef)

Returns localized fileRef (.[langkey].php)
$fileRef 	string 	Filename/path of a 'locallang.php' file
Returns: 	string 	Input filename with a '.[lang-key].php' ending added if $this->lang is not 'default'' .
		'' .
		'
	$labels = $GLOBALS['TSFE']->readLLfile('EXT:sr_feuser_register/locallang.php');
	$label = $GLOBALS['TSFE']->sL('LLL:EXT:sr_feuser_register/locallang.php:missing_telephone');
						
	debug ($label,'$label');
	$content.=$labels['missing_'.$check];
}
  • und zu guter letzt: ist es eigentlich eindeutig, welche der zahlreichen optionen in constants und welche im setup zu setzen sind? speziell bei tt_products blicke ich da nicht mehr durch, oder uebersehe ich hier was offensichtliches???

[/quote]

Jede Konstante enthält denselben Wert auch im Setup. Im Programm-Code kann nur auf den Setup-Wert zugegriffen werden.
Die Konstanten waren eigentlich dafür gedacht, daß man sie an mehreren Stellen im Setup-Code verwenden kann und sie nur an einer einzigen Stelle ändert.

Flink ·

Die Lösung dazu ist auch schon fertig und liegt zum Download bereit. 🙂

Im ###BASKET_REQUIRED_INFO_MISSING### muß noch ein ###ERROR_DETAILS### eingetragen werden, damit man was sieht.

Ja, und damit nicht alles doppelt gemacht werden muß, muß die Extension sr_feuser_register geladen sein.