Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: cms2day Forum - Community & Support rund ums cms2day. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

netcup|Alex

unregistriert

1

Freitag, 16. Januar 2009, 10:21

Quick Search Addon (by netcup|Alex & fzm)

Ich, unbeholfen in Sachen PHP, versuche mich an einem quickSearch AddOn.

"Eigentlich" ist es relativ simpel, ich kopiere das Indexfile des Moduls in einen AddOn Ordner und packe das AddOn dann im Template hin wo es hin soll.

Das klappt in z.B. der Sidebar des Standardtemplates ganz gut.

Nachteil... Suchergebnisse werden dann logischerweise auch in der Sidebar ausgegeben. Wie könnte ich das nun realisieren das die Ergebnisse im Contentbereich ausgegeben werden?

Evtl. könnte man das Formular so abwandeln das die Seite des Suchemoduls aufgerufen wird und die Eingabe aus dem Formular an das Formular des Suchemoduls übergeben wird und dort dann die Ausgabe erfolgt.

Klingt gut, nur wie wäre das machbar?

###################

Ergebnis einer netten Diskussion, ein fertiges Addon ;)

An der Stelle wo das Suchenfeld im Template auftauchen soll folgenden Code verwenden:

Quellcode

1
2
3
4
<form name="suche" method="post" action="LINK ZUR SUCHE">
<input type="text" class="formular" name="suchbegriff" title="Bitte Suchbegriff(e) eingeben" value="Suchbegriff(e) ..." onblur="if (this.value=='') this.value='Suchbegriff(e) ...';" onfocus="if (this.value=='Suchbegriff(e) ...') this.value='';" />
<p align="right"><input type="submit" value="&raquo;&nbsp;Suchen" class="button" /></p>
</form>


Bei "LINK ZUR SUCHE" folgendes verwenden:

Mit Modrewrite: action="http://www.domain.de/ID.NAME/suchen/"
Ohne Modrewrite: action="http://www.domain.de/index.php?seite=ID.NAME&action=suchen"

Werbung

2

Freitag, 16. Januar 2009, 10:51

Re: Quick Search Addon | Suchergebnisse im Content Div ausgeben

Ich verstehe nicht ganz was du möchtest. Wenn du einfach irgendwo ein Suchfeld integrieren willst kopiere einfach den Quelltext des Suchformulars von deiner Sucheseite und Platziere es wo du willst. Wenn man über das Feld nun sucht wird man automatisch zur Sucheseite weitergeleitet.

Werbung

netcup|Alex

unregistriert

3

Freitag, 16. Januar 2009, 11:27

Re: Quick Search Addon | Suchergebnisse im Content Div ausgeben

Nicht wirklich ;) Versuchs mal, dann siehst du was ich meine.

Werbung

4

Freitag, 16. Januar 2009, 11:28

Re: Quick Search Addon | Suchergebnisse im Content Div ausgeben

Zitat von »"netcup|Alex"«

Ich, unbeholfen in Sachen PHP, versuche mich an einem quickSearch AddOn.

"Eigentlich" ist es relativ simpel, ich kopiere das Indexfile des Moduls in einen AddOn Ordner und packe das AddOn dann im Template hin wo es hin soll.

Das klappt in z.B. der Sidebar des Standardtemplates ganz gut.

Nachteil... Suchergebnisse werden dann logischerweise auch in der Sidebar ausgegeben. Wie könnte ich das nun realisieren das die Ergebnisse im Contentbereich ausgegeben werden?

Evtl. könnte man das Formular so abwandeln das die Seite des Suchemoduls aufgerufen wird und die Eingabe aus dem Formular an das Formular des Suchemoduls übergeben wird und dort dann die Ausgabe erfolgt.

Klingt gut, nur wie wäre das machbar?


Mach es doch so wie auf der Portalseite? Ein Formular mit der entsprechenden Aktion ausstatten.
<form method="post" action="SUCHMODUL.php">

Werbung

netcup|Alex

unregistriert

5

Freitag, 16. Januar 2009, 11:39

Re: Quick Search Addon | Suchergebnisse im Content Div ausgeben

Kopf -> Tisch, danke.

edit

Ich weiss schon wieso ich PHP hasse... datt wird vorn und hinten nix...

Hier bin ich jetzt... hab diverse Varianten durch

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php

global $settings;
global $optionen;
global $seitenabfrage;

$page_dir = $settings['page_dir'];

echo "<div id="suche"> \n";

open_table();

if ($optionen['page_modrewrite'] == "1") {

	echo "<form name="suche" method="post" action="../module/suche/index.inc.php">\n";

} else {

	echo "<form name="suche" method="post" action="".$page_dir."/index.php?seite=".$_GET['seite']."&amp;action=senden">\n";

}
                echo "<input type="text" class="formular" name="suchbegriff" title="Suche..." value="Suche..." onblur="if (this.value=='') this.value='Suche...';" onfocus="if (this.value=='Suche ...') this.value='';" />\n";
	echo "	<input type="submit" style="display: none;" /> \n";

	echo " </form> \n";

close_table();

echo "</div>";

?>


Nicht nur dass das Suchfeld nach nix aussieht, es funktioniert eben auch nicht.

Werbung

w3bcms

Profi

  • »w3bcms« ist männlich

Beiträge: 1 282

CMS Version: 4.x/5.x

Beruf: Webentwickler

Paypal:

  • Nachricht senden

6

Freitag, 16. Januar 2009, 11:47

Re: Quick Search Addon | Suchergebnisse im Content Div ausgeben

Ich habs auf w3bcms.de auch so gemacht.
Die Action von der Suche (oben links) leitet einfach auf die Seite <!-- m --><a class="postlink" href="http://www.w3bcms.de/3.suche/">http://www.w3bcms.de/3.suche/</a><!-- m --> - Und fertig!

:P

Werbung

7

Freitag, 16. Januar 2009, 13:33

Re: Quick Search Addon | Suchergebnisse im Content Div ausgeben

Zitat von »"netcup|Alex"«

Kopf -> Tisch, danke.

edit

Ich weiss schon wieso ich PHP hasse... datt wird vorn und hinten nix...

Hier bin ich jetzt... hab diverse Varianten durch

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php

global $settings;
global $optionen;
global $seitenabfrage;

$page_dir = $settings['page_dir'];

echo "<div id="suche"> \n";

open_table();

if ($optionen['page_modrewrite'] == "1") {

	echo "<form name="suche" method="post" action="../module/suche/index.inc.php">\n";

} else {

	echo "<form name="suche" method="post" action="".$page_dir."/index.php?seite=".$_GET['seite']."&amp;action=senden">\n";

}
                echo "<input type="text" class="formular" name="suchbegriff" title="Suche..." value="Suche..." onblur="if (this.value=='') this.value='Suche...';" onfocus="if (this.value=='Suche ...') this.value='';" />\n";
	echo "	<input type="submit" style="display: none;" /> \n";

	echo " </form> \n";

close_table();

echo "</div>";

?>


Nicht nur dass das Suchfeld nach nix aussieht, es funktioniert eben auch nicht.


Was bekommst du den für einen Fehler? Ich denke aber, dass die URL zur PHP Datei nicht stimmt.

Werbung

w3bcms

Profi

  • »w3bcms« ist männlich

Beiträge: 1 282

CMS Version: 4.x/5.x

Beruf: Webentwickler

Paypal:

  • Nachricht senden

8

Freitag, 16. Januar 2009, 13:52

Re: Quick Search Addon | Suchergebnisse im Content Div ausgeben

Nee Alex, du bist auf dem völlig falschen weg.

Zum ersten hast du /includes/ im Pfad vergessen!
Du sagst der Action, sie soll nach "module/suche/index.inc.php" gehen und ausführen.
Weiste was dann passiert? Die ganze Seite ist weg, und Du rufst sozusagen NUR (!) die index.inc.php vom Modul auf.

Sieht dann in etwa so aus:

<!-- m --><a class="postlink" href="http://www.w3bcms.de/includes/module/suche/index.inc.php">http://www.w3bcms.de/includes/module/su ... ex.inc.php</a><!-- m -->

Das kann nicht funktionieren.
Ich hab doch oben geschrieben wie ich es gelöst habe.
Einfach zu der Suche - Seite leiten, fertig.

Diese kann ja auch versteckt sein, dann musst Du sie allerdings erst aus der DB auslesen.

:?

Werbung

netcup|Alex

unregistriert

9

Freitag, 16. Januar 2009, 14:04

Re: Quick Search Addon | Suchergebnisse im Content Div ausgeben

Ich hab mit PHP Code bisher zwischen nix und gar nix zu tun gehabt ausser hier und da ne Anpassung designtechnisch. Komischerweise geht mir das irgendwie auch nicht ins Mus mit dem PHP Zeugs :P

Wie könnte ich denn die id (X.suche) auslesen? Denn die variiert ja von Installation zu Installation, als AddOn kann ich ja nicht "fest" verlinken.

Das zweite Problem an dem ich knabber ist, das der Inhalt der Box "Suche..." nicht weg ist, wenn ich in das Feld klicke, was bei dir z.B. der Fall ist.

Dabei habe ich den Code des Feldes selbst nur aus dem Suchemodul kopiert.

Werbung

w3bcms

Profi

  • »w3bcms« ist männlich

Beiträge: 1 282

CMS Version: 4.x/5.x

Beruf: Webentwickler

Paypal:

  • Nachricht senden

10

Freitag, 16. Januar 2009, 14:18

Re: Quick Search Addon | Suchergebnisse im Content Div ausgeben

Den Inhalt "Suche ..." hätt ich bei mir locker auch noch einbauen können, wollt ich jedoch nicht.
Das prüft man ganz einfach, ob $_POST['xxx'] vorhanden ist. Is easy =)

Zu Deiner Frage die Seite ID.NAME auszulesen, in der sich die Suche befindet.
Zuerst einmal solltest Du herausfinden, ob das Modul Suche überhaupt installiert wurde.
Dann solltest Du herausfinden ob auch ne Seite damit angelegt ist, dass sie Suche somit aktiv is.

DANN kannst Du auslesen, ich habs Dir mal schnell gecodet:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php

// Prüfen, ob Modul Suche installiert ist ->

	$module = mysql_fetch_assoc(mysql_query("SELECT * FROM module WHERE ordner='suche'"));
        
        if ($module['code'] != "") {
        
        	// Prüfen, ob eine Seite mit dem Modul Suche vorhanden ist ->
        	
        	$page = mysql_fetch_assoc(mysql_query("SELECT * FROM pages WHERE type='modul' inhalt='".$module['code']."' LIMIT 1")); // Limit 1, damit nur eine ausgelesen wird, falls mehr vorhanden sind
        	
        	if ($page['id'] != "") {
        	
        		// Weiterleitung zur Suche Seite (als Beispiel) ->
        	
        	        header("Location: ".$settings['page_dir']."/index.php?seite=".$page['id'].".".$page['name']."");
        	
        	}
        	
        
        }

?>

Werbung