Home / Forum / Suchergebnisse einschränken

Suchergebnisse einschränken

Um Zugang zu den Foren zu erhalten, müssen Sie angemeldet sein

Autor Nachricht

Felix Glücklich

Registriert seit: 01.12.2007

Beiträge: 113

Montag, 10. Dezember 2007 15:02:23

Was muss an parametern in fetch( content, search,... angegeben werden, um moeglichst keine Bilder im Suchergebnis zu liefern? Auch wenn der Bild-Alternativtext mit dem Suchbegriff übereinstimmt, soll nicht das einzelne Bild erscheinen, sondern z.b. der Artikel oder die komplette Seite, in der das Bild eingebettet ist. Auch habe ich keine Moeglichkeit gefunden, im admin_bereich der jeweiligen Site zum beispiel das Logo oder einzelne bilder von der suche auszuschliessen.

Mit der dokumentation unter
ez.no / documentation / ez publish / technical manual / 3.9 / reference / modules / content / fetch functions / search
komme ich nicht weiter.

Thomas Köhn

Thomas Köhn

Registriert seit: 05.03.2007

Beiträge: 355

Dienstag, 11. Dezember 2007 11:27:54

Wenn du dein Fetch auf bestimmte Contenobjeke beschränken möchtest, dann kannst du es über einen Filter realisieren. Das Beispiel unten beschränkt es z.B. auf folder und article.

{def $node_list = fetch( 'content', 'list', hash( 'parent_node_id', $node.node_id,
                                                                'class_filter_type',  'include',
                                                                'class_filter_array', array( 'folder' , 'article' )
                                                               ) 
                                 ) 
}


Wenn das Class-Filter-Array zu groß werden sollte, dann kannst du es auch vorher separat definieren, um die Übrsichtlichkeit hoch zu halten.

{def
        $class_include_array=array( 'folder',
                                                  'article',
                                                  'forum',
                                                  'gallery',
                                                  'shop',
                                                  'link',
                                                  'google_map',
                                                  'file'
                                                 )
}


Dann sieht der Fetch wie folgt aus.

{def $node_list = fetch( 'content', 'list', hash( 'parent_node_id', $node.node_id,
                                                                'class_filter_type',  'include',
                                                                class_filter_array, $class_include_array
                                                               ) 
                                 ) 
}


Ich hoffe, dass ich dir helfen konnte.

Dipl. Ing. (FH) M. Sc. Thomas Köhn

http://www.jac-systeme.de - Individuelle WEB-Lösungen
--
http://www.CJW-NETWORK.com/de - Developers united in eZ Publish
http://projects.ez.no/cjw_newsletter - eZ Publish Newsletter Lösung

Thomas Köhn

Thomas Köhn

Registriert seit: 05.03.2007

Beiträge: 355

Dienstag, 11. Dezember 2007 11:32:28

Die Möglichkeiten für einen Fetch findest du übrigends unter http://ez.no/doc/ez_publish/techn...modules/content/fetch_functions/list !

Dipl. Ing. (FH) M. Sc. Thomas Köhn

http://www.jac-systeme.de - Individuelle WEB-Lösungen
--
http://www.CJW-NETWORK.com/de - Developers united in eZ Publish
http://projects.ez.no/cjw_newsletter - eZ Publish Newsletter Lösung

Felix Woldt

Bild Felix Woldt

Registriert seit: 31.01.2006

Beiträge: 353

Dienstag, 11. Dezember 2007 12:49:16

Hallo Thomas,
da muss ich dir wiedersprechen,
die Frage ziehlte auf die fetch function fetch( 'content', 'search' ....) und die hat nicht die gleichen parameter wie content list.
Aber bei der searchfunktion kann man die suche über die class_ids auch einschränken, das steht im Example1 von dieser funktion.

Gruß Felix

http://www.jac-systeme.de - Individuelle WEB-Lösungen
--
http://www.CJW-Network.com/de - Developers united in eZ Publish
http://projects.ez.no/cjw_newsletter - eZ Publish Newsletter Lösung

Thomas Köhn

Thomas Köhn

Registriert seit: 05.03.2007

Beiträge: 355

Dienstag, 11. Dezember 2007 15:39:45

@Felix W.: Ohh ja ... da hast du wohl recht. Aber das Grundprinzip ist auch da ähnlich.

@Felix G.: Welche Möglichkeiten du hier hast, kannst du unter http://ez.no/doc/ez_publish/techn...dules/content/fetch_functions/search nachlesen!

Dipl. Ing. (FH) M. Sc. Thomas Köhn

http://www.jac-systeme.de - Individuelle WEB-Lösungen
--
http://www.CJW-NETWORK.com/de - Developers united in eZ Publish
http://projects.ez.no/cjw_newsletter - eZ Publish Newsletter Lösung

Felix Glücklich

Registriert seit: 01.12.2007

Beiträge: 113

Mittwoch, 12. Dezember 2007 12:50:16

Danke fuer eure Ideen. Damit komme ich leider nicht klar.

Unter http://www.fischland-darss-zingst.de ist die Suche so eingebaut worden, wie ich sie auch gern haette. Man kann nach Wörtern suchen, und es werden keine Bilder sondern nur Text - also Artikelüberschriften und die Kurzzusammenfassung angezeigt mit einem Link auf den eigentlichen Inhalt. Im Admin bereich kann ich ja genau diese Artikel so anlegen: Überschrift, kurzzusammenfassung, text und eingebettete bildobjekte. Nur die Bildobjekte mag ich nicht finden wollen, wenn ich den Artikel suche.

Unter http://ez.no/doc/ez_publish/techn.../modules/search/fetch_functions/list fand ich zwar noch ein anderes Beispiel, aber es hilft mir auch nicht weiter.

Was ist der Unterschied zwischen fetch( 'search', 'list',... und fetch( content, search, ...? Einmal mit Hochkommata, einmal search als erster parameter, dann als zweiter parameter...

Bei fetch (content, search,... scheint die class_id sehr wichtig zu sein. Da ich nur Text, Artikel und Links zu den Texten sehen will, aber keine Bilder im Suchergebnis vorfinden moechte, muss ich also die class_id fuer Texte und Artikel suchen? Woher weiss ich diese class_id? Woher kenne ich die Instanzen der zusuchenden Objekte? Hat mal jemand ein Beispiel fuer die Nutzung von fetch (..., search ..., was man auch versteht?

Norman Leutner

Norman Leutner

Registriert seit: 16.02.2006

Beiträge: 65

Mittwoch, 09. Januar 2008 12:36:42

Du solltest folgendemaßen vorgehen:

1. Overrride für das search template

Kopier dir das standard template (/design/standard/templates/content/search.tpl) in deine design-extension.
Das Template sollte unter /extension/meine_design_extension/design/site_name/templates/content/search.tpl liegen,
dann brauchst du dafür keinen Eintrag in der overrride.ini.append.php erstellen.

2. Editier das template
Ändere die Zeilen 2 bis 16:

{let search=false()}
{section show=$use_template_search}
    {set page_limit=10}
    {set search=fetch(content,search,
                      hash(text,$search_text,
                           section_id,$search_section_id,
                           subtree_array,$search_subtree_array,
                           sort_by,array('modified',false()),
                           offset,$view_parameters.offset,
                           limit,$page_limit))}
    {set search_result=$search['SearchResult']}
    {set search_count=$search['SearchCount']}
    {set stop_word_array=$search['StopWordArray']}
    {set search_data=$search}
{/section}


in

{* Definition der Klassen, in welchen gesucht werden soll *}
{def $search_class_id_array=array('2','12','4')}

{let search=false()}

    {set page_limit=10}
    {set search=fetch(content,search,
                      hash(text,$search_text,
                           section_id,$search_section_id,
                           subtree_array,$search_subtree_array,
                           class_id, $search_class_id_array,
                           sort_by,array('modified',false()),
                           offset,$view_parameters.offset,
                           limit,$page_limit))}
    {set search_result=$search['SearchResult']}
    {set search_count=$search['SearchCount']}
    {set stop_word_array=$search['StopWordArray']}
    {set search_data=$search}


Das wars im wesentlichen.

--------------------
eZ Publish Gold Partner
http://www.all2e.com

Norman Leutner

Norman Leutner

Registriert seit: 16.02.2006

Beiträge: 65

Mittwoch, 09. Januar 2008 12:40:19

Die jeweiligen class ids findes du im admin unter /class/grouplist

--------------------
eZ Publish Gold Partner
http://www.all2e.com

FB 85

Registriert seit: 11.05.2009

Beiträge: 43

Montag, 11. Mai 2009 10:59:55

Hallo Leute,

ich bin relativ neu in der Welt von eZ! Habe nun ein Problem, undzwar wird mein Suchergebnis nicht so angezeigt wie ich es gerne hätte! Bei mir werden nur teilweise die Summary-Texte mit angezeigt! Ich hätte es gerne so, wie unter der von Felix Glücklich genannten Seite - http://www.fischland-darss-zingst.de ! Kann mir jemand erklären, wieso das so ist??

Gruß

Florian

Um Zugang zu den Foren zu erhalten, müssen Sie angemeldet sein