[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Ajax-Livesuche mit Redaxo? - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Jantxu
Beiträge: 21
Registriert: 3. Okt 2006, 16:12
Wohnort: Hannover
Kontaktdaten: ICQ

Ajax-Livesuche mit Redaxo?

21. Okt 2006, 16:36

Hallo Community,

mein Prof. hätte gerne eine Ajax-Livesuche auf seiner Homepage. Da ich mich damit nicht auskenne habe ich den Samstag nachmittag damit verbracht eine Lösung zu suchen, komme aber mittlerweile nicht mehr weiter. Hat jemand hier so eine Suche schon mit Redaxo zusammen verwendet und könnte mir ein wenig helfen bzw. einen Tip geben?

Viele Grüße, Jan

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

23. Okt 2006, 09:28

oooooh da schalte ich mich mit ein. Die Suche ich auch.
Ich find ein CMS gut.

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

23. Okt 2006, 12:17

Hi,

schaut euch einfach mal ein paar Tutorials zum Thema AJAX an...

Wenn ihr euch eingelesen habt, sollte das umsetzen kein Problem sein.

Folgende Vorgehensweise:
- Suche absetzen via Javascript
- Ausgabe des Suchergebnisses als XML
- Interpretieren des XML in Javascript
- Anzeige der Interpretierten Inhalte via Javascript

Gruß,
Markus

Jantxu
Beiträge: 21
Registriert: 3. Okt 2006, 16:12
Wohnort: Hannover
Kontaktdaten: ICQ

23. Okt 2006, 14:41

Habe mich ein wenig eingelesen/umgeschaut und ausprobiert. Das Ergebnis (im Bau) sieht noch nicht toll aus, aber es funktioniert halbwegs: http://jantxu.ja.ohost.de

Man benötigt eigentlich 3 Dateien:

1. Die Datei livesearch.js --> http://blog.bitflux.ch/livesearch.js
2. Ein php-Script das die Suche ausführt, die Datei "livesearch.php"
3. Ein Eingabeformular

Bei mir sehen Punkt 2 und 3 wie folgt aus:

PHP-Code der "livesearch.php":

Code: Alles auswählen

<?php
require ("connect.inc.php");
$res = mysql_query("SELECT DISTINCT name, content FROM rex_12_search_index WHERE content LIKE '%".$_GET['wuff'] ."%' OR name LIKE '%".$_GET['q'] ."%';"); 
while($row = mysql_fetch_object($res)) { 
echo '<p>';
echo '<a href="'.$row->name.'">'.$row->name.'</a><br />';
echo $row->content; 
echo '</p>';
} 
?>
Diese Datei durchsucht eine beliebige Tabelle aus der REX-DB nach $_GET['wuff'], meinem Suchwort. Habe hier zum testen mal die Tabelle "rex_12_search_index" genommen.

Das Suchformular sieht so aus:

Code: Alles auswählen

<html> 
<head> 
<title>Searchtest</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<script type="text/javascript" src="livesearch.js"></script> 
</head> 
<body onload="liveSearchInit()"> 
<form id="searchform" action="livesearch.php" method="get" onsubmit="return liveSearchSubmit()"> 
<b>Suchbegriff:</b> 
<input id="livesearch" name="wuff" type="text" size="30" onkeypress="liveSearchStart()" /><div id="LSResult" style="display: none;"><div id="LSShadow"></div></div> 
</form> 
</body> 
</html>
Meine Fragen wären nun:
Kann man das irgendwie in das Redaxo-Suchmodul einbauen?
Wäre es vielleicht schlauer, andere Tabellen abzufragen?

Quelle:
http://www.easy-coding.de/livesuche-mit ... -t699.html

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

23. Okt 2006, 18:11

liegen die Dateien bei dir auf einer Ebene?

Bei mir kommt "live" nichts jedoch wenn ich enter drücke zeigt der alle.
ich habe einfach alle in einen Testordner gepackt.

Richtig?
Ich find ein CMS gut.

Jantxu
Beiträge: 21
Registriert: 3. Okt 2006, 16:12
Wohnort: Hannover
Kontaktdaten: ICQ

23. Okt 2006, 18:56

Die Dateien liegen alle im root-Verzeichnis. In einem Unterordner hat es bei mir (komischerweise) auch nicht geklappt.

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

23. Okt 2006, 19:06

So es klappt nun.
Es lag bei mir an der Pfadverweisung im .js

Da mein Inet gerade mega lahm ist, kann ich kaum was testen.

Unter: felixhomann.com/suche probiere ich es gerade aus.

Dann müssten wir das nun noch modular in Redaxo rein bekommen und natürlich noch ein wenig aufpeppen, aber die Grundfunktionen sind ja nun wirklich da.
Ich find ein CMS gut.

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

23. Okt 2006, 19:11

So ich geh mal nun nach Hause.
Kann man nichts machen hier... drecks Laden :)


Ich gebe morgen mal meinen Stand durch.

Gruß out!
Ich find ein CMS gut.

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

23. Okt 2006, 20:09

Hi Leute,

sicht doch schon super aus..

Wenn ist das ganze jetzt noch in das noch auf ein oder zwei module reduzieren könnt, wäre genial

Gruß,
Markus

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

24. Okt 2006, 07:49

Soooooo und weiter gehts :)
Ich find ein CMS gut.

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

24. Okt 2006, 08:09

Wenn ich die livesuche.php so ins Redaxo includen will
(mein Pfad wäre hier: redaxo/include/livesuche/)
Dann bekomme ich genau 2 Fehler.

- Ich bekomme kein access
- Und keine Verbinung zum Server

Gibt es hier in Redaxo eine allgemeine auth oder config damit ich zum SQL Server komme?
Ich find ein CMS gut.

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

24. Okt 2006, 08:25

So die Livesuche ist in Redaxo drin, jedoch muss ich das mit CSS noch hinbiegen.

Ausserdem muss ich noch wissen wie ich ohne eine eigene connect.inc.php an die DB komme.

:/
Ich find ein CMS gut.

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

24. Okt 2006, 11:02

Hi,

ich würde den PHP Code für die Livesuche nicht in einer Datei lassen,
sondern in ein Modul kopieren...

Dann brauch man nicht mal FTP um es nutzen zu können..

Gruß,
Markus

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

24. Okt 2006, 11:22

Ich muss ja livesuche.php und das zugehörige javascript ja in die Seite bekommen. Derzeit habe ich das in files/ liegen.

Ein andere Problem ist aber folgendes:

Ich kann den Link zum Article nicht raus bekommen. Wenn ich ein Script, welches das übernehmen soll in das Template als solches schreibe und ausgebe, funktioniert es prima. So wie es soll. Packe ich das Script in die livesuche.php dann bekomme ich "undefind funcion ....".
Liegt das an dem Pfad "files/" oder wie kann ich die id aus der Datenbank in einen Link wandeln?

Danke
Ich find ein CMS gut.

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

24. Okt 2006, 11:31

Schau mal auf http://redaxo.felixhomann.com

Da ist oben die Suche.

Rechts oben gebe ich folgendes im Template aus

Code: Alles auswählen

$catId = OOCategory::getCategoryById($_GET['article_id']);
$catId2 = $catId->getUrl();
Würde ich das in die livesuche.php eingeben und dann $_GET... mit $row['id'] ersetzten aus der DB spackt der rum.

Kein Plan warum...
Ich find ein CMS gut.

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

24. Okt 2006, 12:35

also

ich glaube ich kann das echt nicht aufrufren wenn mein Script über /files/ aufgerufen wird.
Jedoch wäre es cool ne Antwort zu bekommen um nicht falsch zu liegen :)
Ich find ein CMS gut.

Jantxu
Beiträge: 21
Registriert: 3. Okt 2006, 16:12
Wohnort: Hannover
Kontaktdaten: ICQ

24. Okt 2006, 13:02

Hi,

habe leider keine Zeit mich intensiv damit zu beschäftigen, aber du kannst in der Datei livesearch.js den Pfad zur PHP-Datei ändern.

Suche nach "livesearch.php?q". Das musst Du dann ersetzen.

Vielleicht kannst Du ja mal kurz die Schritte angeben, die Du bis jetzt gemacht hast, ich habe da irgendwie den Überblick verloren...

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

24. Okt 2006, 13:41

Ehm ich habe den java-Pfad angegelichen, aber es kommt ja immer der Fehler "call undefined function"...

Ich befürchte es liegt dran, das die livesuche-Datein in "/files" liegen, würde mich aber freuen eine Antwort von der Admins zu bekommen, um mehr zu wissen. Eventuell auch ne Lösung.

Ich habe bislang das CSS angepasst, Ausgaben formatiert und rumprobiert.

Hast ja denk ich auf der Dummyseite bereits gesehen.

Nur weiß ich nicht mehr weiter.
Ich find ein CMS gut.

Jantxu
Beiträge: 21
Registriert: 3. Okt 2006, 16:12
Wohnort: Hannover
Kontaktdaten: ICQ

24. Okt 2006, 14:09

Kannst Du mir verraten, wie deine SQL-Abfrage aussieht? Das wäre super!

Viele Grüße,
Jan

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

24. Okt 2006, 14:15

Hi,

in Scripten ausserhalb von REDAXO hasst du keinen Zugriff auf das OOF..

Gruß,
Markus

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

24. Okt 2006, 14:23

Markus, könnte ich einfach einen Ordner anlegen innerhalb Redaxo den ich dann mit den Sachen befülle? Oder gibt es dort auch Einschränkungen?
Ich find ein CMS gut.

atomic
Beiträge: 60
Registriert: 18. Mai 2006, 20:05
Wohnort: Freiburg
Kontaktdaten: Website

25. Okt 2006, 11:35

Also meiner Erfahrung nach bekommst du das ganze nur verheiratet indem
du die gewuenschte Applikation als Modul ein Redaxo einbindest.

Kills hatte das schon vorgeschlagen.

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

25. Okt 2006, 15:15

Jaaahaaaa :)

Wenn ich aber das ganz in ein Modul, demnach auch in einer Datei hätte, würde er mir auch den gesamten inhalt von der livesuche.php ausgeben, da er so die GET Funktion fehlinterpretiert. Was ich heute nochmal machen wollte ist, das alles zb in addons zu legen, eventuell kann ich damit schonmal mehr machen, denn so wäre eins Kombinat aus search_index und ajax.
Ich find ein CMS gut.

Phoenix H.
Beiträge: 520
Registriert: 21. Sep 2006, 17:39
Kontaktdaten: ICQ

25. Okt 2006, 15:53

Sooo
lagere ich das aus in den addons ordner und rufe einfach per URL die Datei auf um den Pfad zu checken bekomme ich folgendes Geschenk.

Code: Alles auswählen

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@redaxo.felixhomann.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Was kann das sein? Wie krieg ich es weg?
Ich find ein CMS gut.

atomic
Beiträge: 60
Registriert: 18. Mai 2006, 20:05
Wohnort: Freiburg
Kontaktdaten: Website

25. Okt 2006, 16:11

Im Logfile sollte es stehen sofern du Zugriff hast.
Haeufig sind es Probleme mit .htaccess Dateien,
fehlende Berechtigung oder eine falsche Regel,
die diesen Fehler verursachen.

Zurück zu „Allgemeines [R3]“