Suchformular soll mit Viewssuche harmonieren
am 25.03.2008 - 17:18 Uhr in
Okay,
kein perfekter Titel, aber ich bin jetzt schon wieder einige Tage unterwegs und hab mir einiges zur Drupal Suche durchgelesen.
Ich steig aber irgendwie nicht dahinter. Ich hab auf meiner Webseite oben im Header ein einzeiliges Inputfeld, in dem man einen
Suchbegriff eingeben kann, und ansich soll es nur analog zu den exposed Filtern von meiner View die Ergebnisse wiedergeben
(also auf der gleichen Seite, auf der auch das View die Exposed Filter einbindet und die Ergebnisse anzeigt!)
Ich hab nur keine Ahnung wie ich Drupal sage, dass es über mein Custom Search Formular alle verschiedenen CCK Felder dieses Typs
(z.b. auch Multi-Value-Listen, Namen, Anschriften) durchsuchen soll!
Hab schon versucht ein Input Feld genauso zu bennen, die es Drupal für die Exposed Filter macht, selbe Form-Action, aber
irgendwie landet er immer auf der Startseite...
lg
- Anmelden oder Registrieren um Kommentare zu schreiben
ich glaube das was du suchst
am 26.03.2008 - 12:19 Uhr
ich glaube das was du suchst ist quasie eine Suche über Views
und da ist http://drupal.org/project/views_fastsearch genau das richtige
--------------
Mein Blog: www.freeblogger.org: May the source be with you
Deutscher IRC-Channel: irc.freenode.net #drupal.de je mehr desto besser
... Jabber-me: dwehner@im.calug.de Warum Jabb
hey danke ich schaus mir mal
am 28.03.2008 - 10:05 Uhr
hey danke ich schaus mir mal an!!
ok ich habs mir mal
am 01.04.2008 - 17:15 Uhr
ok ich habs mir mal angeschaut, dass ist natürlich ganz nett mit dem FastSearch aber es bringt mich irgendwie meinem Ziel nicht weiter. Ich hab jetzt schon ne schicke Suche auf dem entsprechenden Node implementiert, aber wie kriege ich es denn hin, dass in dem Suchformular, welches im Header zu finden ist, genau die gleiche Suche ausgeführt wird, wie in der erweiterten Suche auf der Seite?
Ich hab im Header noch ein Formularfeld, welches so ausschaut :
<form action="" >
<input id="suchfeld" />
<input class="suchen" type="image" src="_img/suchicon.jpg" alt="Absenden" />
</form>
Und genau dieses soll über die Viewsfelder Name, Ort, und Spezialgebiet eine Suche tätigen, und die Ergebnisse praktisch wie die Viewssuche präsentieren. Ich weiß einfachc nich, wie ich dem Formular das mitteilen kann, dasses genau diese Felder berücksichtigen soll und das Ergebnis wie FastSearch Suche von Views darstellen soll...
Wovon redest Du genau?
am 01.04.2008 - 17:58 Uhr
Um Dir antworten zu koennen muss ich das hier
dass in dem Suchformular, welches im Header zu finden ist, genau die gleiche Suche ausgeführt wird, wie in der erweiterten Suche auf der Seite?
verstehen koennen.
Also, was soll wo wie erscheinen und nach was soll bei jeder Erscheinung eines Suchfeldes suchbar sein?
Hilfreich fuer das Verstandnis Deiner Erklaerung ist,
wenn Du jeweils sagst von was fuer einem Suchfeld Du redest. Fuer Drupals Standardsuche verwende die entsprechende Formulierung.
Fuer eine Viewsgenerierte Suche verwende die entsprechende Formulierung. Bedenke das es bei Views-Suche 2 Varianten gibt: Views-Suche normal und Views-Such Fastsearch.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Ok ich hab mich n bisschen
am 02.04.2008 - 18:38 Uhr
Ok ich hab mich n bisschen blöd beim Beschreiben meines Problems drangestellt, deswegen versuch ich's mal hier nochmal bildlich per Screenies zu zeigen.
Ich möchte, dass dieses Suchfeld :
http://ladmavic.la.funpic.de/screenie_1.jpg
Praktisch das gleiche macht wie dieses erweiterte Suchformular :
(Dies ist ein von mir eingebautes Suchfeld, dass auf jeder Seite im Header erscheint)
http://ladmavic.la.funpic.de/screenie_2.jpg
(Dies ist eine Viewssuche)
Man gibt also einen Begriff in dieses einzeilige Suchformular ein, und es soll halt über alle Felder suchen (also Nom, Localité, etc) und danach auf die selbe Ergebnisseite linken wie es die Viewssuche machen würde.
So ich hoffe, jetzt hat man's bissl verstanden!
Leider kann ich die Bilder nicht sehen.
am 03.04.2008 - 00:39 Uhr
Wenn du dass machen willst was ich denke,
musst du ein Modul erstellen, das die Such-form
überschreibt. In das Modul muss der folgende Inhalt:
<?php
/**
* Override drupal_get_form('search_theme_form') to return a form that the
* search/views_fastsearch page and the view filter search
*/
function search_theme_form() {
$form['filter0'] = array(
'#type' => 'textfield',
'#size' => 15,
'#default_value' => '',
'#attributes' => array('title' => t('Enter the terms you wish to search for.')),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Search Site'),
);
$form['#action'] = url('search/people');
return $form;
}
?>
Das #action-Element muss natürlich entsprechend angepasst werden.
Hoffe ich habe nichts vergessen.
Gruß
macco
Schon eingeladen?
FussballNZ - Das Fussballnetzwerk (http://www.fussballnz.de)
Gruß
Rockiger
Schon eingeladen?
FussballNZ - Das Fussballnetzwerk (http://www.fussballnz.de)
Kannst die Bilder echt nich
am 03.04.2008 - 18:33 Uhr
Kannst die Bilder echt nich sehen? HAb nochmal gecheckt, müssten online sein. Auf jedenfall war dein Ansatz SUPER!! danke!! Ich hab jetzt noch ne zweite Möglichkeit gefunden, direkt per HTML ein Formular einzubinden, und es mit der Views Suche zu verknüpfen :
<!-- SUCHFORMULAR -->
<form id="search_medic" action="" method="GET">
<input type="text" maxlength="128" name="filter0" id="edit-filter0" size="15" value="" title="Enter the terms you wish to search for." class="form-text" />
<input class="suchen" type="image" src="<?php print $directory; ?>/img/suchicon.jpg" alt="Absenden" />
<input type="hidden" name="form_id" id="edit-search_medic" value="search_medic" />
<input type="hidden" name="q" value="content/medics/overview" />
</form>
Das führt jetzt sogar eine Suche aus. Aber leider bislang nur über 1 Feld und zwar den Namen des Arztes (genau das ist bei Views filter0). Wie könnte ich es denn jetzt hinbekommen, dass, obwohl man nur 1 Feld als Eingabe hat, Drupal mit dieser Eingabe alle Felder Name, Ort, Spezialgebiet durchsucht? Habt ihr da n Ansatz für mich?
Danke vielmals!!
keiner ne idee? =\
am 06.04.2008 - 22:33 Uhr
keiner ne idee? =\
Ziel sollte ja wohl in etwa
am 07.04.2008 - 05:07 Uhr
Ziel sollte ja wohl in etwa diese Adresszeile sein: http://domain.de/pfadzuview?filter0=suchbegriff&filter1=suchbegriff&filt...
Wenn du das ganze über eine Form-function machst, also wie in meinem Beispiel, könntest du vielleicht versteckte Felder in die Form einbauen und dann den wert von filter0 diesen (filter1, filter2 etc.) zuordnen.
Ich würde mir noch mal die Docs der Form-Api und des View-Moduls wie auch die Form des Search-Moduls (submit-function ?) anschauen und entsprechend wie oben gezeigt abändern.
Eine Form aus eigenem HTML würde ich persönlich meiden.
Kannst ja mal berichten, ob es geklappt hat.
Gruß
macco
Schon eingeladen?
FussballNZ - Das Fussballnetzwerk (http://www.fussballnz.de)
Gruß
Rockiger
Schon eingeladen?
FussballNZ - Das Fussballnetzwerk (http://www.fussballnz.de)
hmmm ansich ne gute idee,
am 08.04.2008 - 19:17 Uhr
hmmm ansich ne gute idee, die ich auch schon hatte. ich hatte dabei nur die ganze Zeit nen Denkfehler... aber jetzt... is logisch ;). Danke!!
okkkkk..... ahm, also
am 10.04.2008 - 12:17 Uhr
okkkkk..... ahm, also irgendwie klappts doch nich so ganz wie ich mir das vorgestellt habe. das problem is doch nich gelöst, denn der Filter von Views ist ja eine "AND" Verknüpfung der einzelnen Felder. Wenn ich allerdings jetzt in meinem einzeiligen Suchformular eine Suche realisieren will, die über alle Felder suchen soll, kann ich ja schlecht das eingegebene Suchwort, z.b. "Lutzhausen" als filter0-4 benutzen, da er ja dann auch versucht, Namen von Ärzten mit dieser Bezeichnug zu filtern, und schlussendlich findet er eigentlich dann gar nichts mehr. Irgendwie müsste ich es hinbekommen, dass mein eigenes Suchformular im Gegensatz zum Views Filter die ganzen Begriffe ver"OR"t. Dann müsste es klappen. Aber wie? =\
Welche Views Suche
am 10.04.2008 - 17:09 Uhr
Welche Views Suche verwendest Du?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Eine Idee hätte ich noch.
am 10.04.2008 - 18:41 Uhr
Ok eigentlich zwei:
1. Views-Doku durcharbeiten, vielleich findet sich ja was ;) Schaden wird es mit Sicherheit nicht.
2. Du müsstest anstatt auf den View weiterzuleiten, auf eine Seite weiterleiten die vier eingebettete Views enthält und dann mittels arg() das Suchwort als Argument an die Views übergeben. Das wäre dann zwar ein Kompromiss, aber vielleicht kein fauler :)
Gruß
macco
Schon eingeladen?
FussballNZ - Das Fussballnetzwerk (http://www.fussballnz.de)
Gruß
Rockiger
Schon eingeladen?
FussballNZ - Das Fussballnetzwerk (http://www.fussballnz.de)
puuhhh klingt ja alles ganz
am 10.04.2008 - 22:24 Uhr
puuhhh klingt ja alles ganz schön mühselig ;). irgendwie dachte ich, dass das keine große Sache sein könnte... das scheint noch nich so gebräuchlich zu sein ;). naja ich benutze die normalen views filter! im allerschlimmsten notfall code ich mir ne abfrage per mysql selbst... was solls