Zum Inhalt springen

Such-Eingaben speichern

Erstellt am 14. Januar 2006 · 4 Antworten · letzte Antwort am 15. Januar 2006

Tags: Frage

turi66 ·

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

Flink ·

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);
turi66 ·

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')));
	            }
Flink ·
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.