Ajax-Livesuche mit Redaxo?

Fragen/Tipps allgemeiner Art

Ajax-Livesuche mit Redaxo?

Beitragvon Jantxu » 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
Jantxu
 
Beiträge: 21
Registriert: 3. Okt 2006, 16:12
Wohnort: Hannover

Beitragvon Phoenix H. » 23. Okt 2006, 09:28

oooooh da schalte ich mich mit ein. Die Suche ich auch.
Ich find ein CMS gut.
Phoenix H.
 
Beiträge: 520
Registriert: 21. Sep 2006, 17:39

Beitragvon Markus.Staab » 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
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9678
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany

Beitragvon Jantxu » 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
Jantxu
 
Beiträge: 21
Registriert: 3. Okt 2006, 16:12
Wohnort: Hannover

Beitragvon Phoenix H. » 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.
Phoenix H.
 
Beiträge: 520
Registriert: 21. Sep 2006, 17:39

Beitragvon Jantxu » 23. Okt 2006, 18:56

Die Dateien liegen alle im root-Verzeichnis. In einem Unterordner hat es bei mir (komischerweise) auch nicht geklappt.
Jantxu
 
Beiträge: 21
Registriert: 3. Okt 2006, 16:12
Wohnort: Hannover

Beitragvon Phoenix H. » 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

Beitragvon Phoenix H. » 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.
Phoenix H.
 
Beiträge: 520
Registriert: 21. Sep 2006, 17:39

Beitragvon Markus.Staab » 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
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9678
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany

Beitragvon Phoenix H. » 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

Beitragvon Phoenix H. » 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

Beitragvon Phoenix H. » 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.
Phoenix H.
 
Beiträge: 520
Registriert: 21. Sep 2006, 17:39

Beitragvon Markus.Staab » 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
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9678
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany

Beitragvon Phoenix H. » 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

Beitragvon Phoenix H. » 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

Nächste

Zurück zu Allgemeines [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast