Ich betreibe einen Shop für digitale Fotos. Da ich gern wissen möchte, wonach die Interessenten suchen, möchte ich die eingegebenen Suchbegriffe gern speichern und später anzeigen/auswerten. Das ist sicher im Standard so nicht vorgesehen. Wie würde man diese Aufgabe am einfachsten lösen? Hat so etwas ähnliches vielleicht schon einmal jemand gemacht?
turi
Hinter der Eingabeform für die Suchmaske einen einfachen Eintrag in eine Log-Datei mit error_log, syslog oder fprintf bzw. Dlog machen.
t3lib_div::devLog('Sucheingabe: '. $suchtext, 'tt_products);
Hallo Flink,
Danke erst mal. Leider bin ich nicht ganz so Fit in PHP. Habe den Such-Teil in der Datei class.tx_ttproducts_list_view.php gefunden. Wie baue ich den Aufruf da jetzt konkret ein? Kann ich angeben, wo das Logfile gespeichert wird?
switch ($theCode) {
case 'SEARCH':
// Get search subpart
$t['search'] = $this->pibase->cObj->getSubpart($templateCode,tx_ttproducts_view_div::spMarker($this->pibase, $this->conf, '###ITEM_SEARCH###'));
// Substitute a few markers
$out=$t['search'];
$pid = ( $this->conf['PIDsearch'] ? $this->conf['PIDsearch'] : $TSFE->id);
$out=$this->pibase->cObj->substituteMarker($out, '###FORM_URL###', $this->pibase->pi_getPageLink($pid,'',tx_ttproducts_view_div::getLinkParams())); // $this->getLinkUrl($this->conf['PIDsearch']));
$out=$this->pibase->cObj->substituteMarker($out, '###SWORDS###', htmlspecialchars(t3lib_div::_GP('swords')));
// Add to content
$content.=$out;
if (t3lib_div::_GP('swords')) {
$where .= tx_ttproducts_div::searchWhere($this->pibase, $this->searchFieldList, trim(t3lib_div::_GP('swords')));
}
turi66 schrieb
Wie baue ich den Aufruf da jetzt konkret ein? Kann ich angeben, wo das Logfile gespeichert wird?
In der /etc/php.ini Datei unter error_log eintragen. Bzw. bei DevLog im Install-Tool unter 'All Configuration'.
turi66 schrieb
// Add to content
$content.=$out;
if (t3lib_div::_GP('swords')) {
$where .= tx_ttproducts_div::searchWhere($this->pibase, $this->searchFieldList, trim(t3lib_div::_GP('swords')));
}
$swords = t3lib_div::_GP('swords');
error_log ('tt_products-Suche: '.$swords);
Damit wird das dann immer in die error_log-Datei (Datei beliebigen Namens, die aber vorher leer angelegt werden soll, weil es ja alle Schreibrechte benötigt) geschrieben.
Etwas komfortabler wäre es mit DevLog, für das es eigene TYPO3-Extensions zur Auswertung gibt.
Besten Dank. Funktioniert gut.
VG
Nino