====== Unterschiede ====== Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:howto:open_folder [2009/03/05 20:59] 127.0.0.1 Externe Bearbeitung |
de:howto:open_folder [2024/09/18 08:32] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | = Zugriff auf Ordner in der Trefferliste = | + | ====== How-To: Zugriff auf Ordner in der Trefferliste ====== |
- | ;Zusatzfeature: mit einem Mausklick den Ordner mit der gefundenen Datei zu öffnen | + | ===== Zusatzfeature ===== |
- | ;Lösungsansatz: zu jedem Treffer der Desktop-Suche einen Link zum Ordner, ähnlich wie <search:hit_link/> in der Trefferliste erstellen | + | Mit einem Mausklick den Ordner mit der gefundenen Datei zu öffnen. |
- | ;Vorteile: Zusatzkomfort bei der Verwaltung von Dateien | ||
- | ;Quelltext: | + | ===== Lösungsansatz ===== |
- | /* | + | |
- | * regain - A file search engine providing plenty of formats | + | Zu jedem Treffer der Desktop-Suche einen Link zum Ordner, ähnlich wie ''<search:hit_link/>'' in der Trefferliste erstellen. |
- | * Copyright (C) 2004 Til Schneider, abgeändert von itebob | + | |
- | * | + | |
- | * This library is free software; you can redistribute it and/or | + | ===== Vorteile ===== |
- | * modify it under the terms of the GNU Lesser General Public | + | |
- | * License as published by the Free Software Foundation; either | + | Zusatzkomfort bei der Verwaltung von Dateien. |
- | * version 2.1 of the License, or (at your option) any later version. | + | |
- | * | + | |
- | * This library is distributed in the hope that it will be useful, | + | ===== Quelltext ===== |
- | * but WITHOUT ANY WARRANTY; without even the implied warranty of | + | |
- | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | + | <code java> |
- | * Lesser General Public License for more details. | + | package net.sf.regain.search.sharedlib.hit; |
- | * | + | |
- | * You should have received a copy of the GNU Lesser General Public | + | import net.sf.regain.RegainException; |
- | * License along with this library; if not, write to the Free Software | + | import net.sf.regain.search.SearchToolkit; |
- | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | + | import net.sf.regain.search.results.SearchResults; |
- | * | + | import net.sf.regain.util.sharedtag.PageRequest; |
- | * Contact: Til Schneider, info@murfman.de | + | import net.sf.regain.util.sharedtag.PageResponse; |
- | * | + | import org.apache.lucene.document.Document; |
- | * CVS information: | + | |
- | * =RCSfile: UrlTag.java,v = | + | public class DirTag extends AbstractHitTag { |
- | * =Source: /cvsroot/regain/regain/src/net/sf/regain/search/sharedlib/hit/UrlTag.java,v = | + | |
- | * =Date: 2006/01/19 21:03:32 = | + | |
- | * =Author: til132 = | + | |
- | * =Revision: 1.4 = | + | |
- | */ | + | |
- | package net.sf.regain.search.sharedlib.hit; | + | |
- | import net.sf.regain.RegainException; | + | |
- | import net.sf.regain.search.SearchToolkit; | + | |
- | import net.sf.regain.search.results.SearchResults; | + | |
- | import net.sf.regain.util.sharedtag.PageRequest; | + | |
- | import net.sf.regain.util.sharedtag.PageResponse; | + | |
- | import org.apache.lucene.document.Document; | + | |
- | /** | + | |
- | * Generates the URL of the current hit's document. | + | |
- | * | + | |
- | * The URL is generated as plain text not as a link. If you want a link use the | + | |
- | * link tag. | + | |
- | * | + | |
- | * @see LinkTag | + | |
- | * | + | |
- | * @author Til Schneider, www.murfman.de | + | |
- | */ | + | |
- | public class <span style="color:green">DirTag</span> extends AbstractHitTag { | + | |
- | /** | + | |
- | * Generates the tag. | + | |
- | * | + | |
- | * @param request The page request. | + | |
- | * @param response The page response. | + | |
- | * @param hit The current search hit. | + | |
- | * @param hitIndex The index of the hit. | + | |
- | * @throws RegainException If there was an exception. | + | |
- | */ | + | |
protected void printEndTag(PageRequest request, PageResponse response, | protected void printEndTag(PageRequest request, PageResponse response, | ||
Document hit, int hitIndex) | Document hit, int hitIndex) | ||
Zeile 69: | Zeile 37: | ||
SearchResults results = SearchToolkit.getSearchResults(request); | SearchResults results = SearchToolkit.getSearchResults(request); | ||
String url = results.getHitUrl(hitIndex); | String url = results.getHitUrl(hitIndex); | ||
- | <span style="color:green">// Dir_Verweis_erstellen Anfang</span> | + | |
+ | // Dir_Verweis_erstellen Anfang | ||
String url_dir = ""; | String url_dir = ""; | ||
String url_array[] = url.split("/"); | String url_array[] = url.split("/"); | ||
for (int i = 0; i < url_array.length-1; i++) { | for (int i = 0; i < url_array.length-1; i++) { | ||
- | url_dir = url_dir+url_array[i]+"/"; | + | url_dir = url_dir+url_array[i]+"/"; |
- | } | + | } |
url =url_dir; | url =url_dir; | ||
- | <span style="color:green">// Dir_Verweis_erstellen Ende</span> | + | |
+ | // Dir_Verweis_erstellen Ende | ||
response.print(url); | response.print(url); | ||
} | } | ||
- | } | + | } |
+ | </code> | ||
- | In der Datei ''search.jsp'' wird ein Link | + | In der Datei ''search.jsp'' wird folgender Link plaziert: |
- | <a href="file://<span style="color:green"><search:hit_dir/></span>" target="_blank">Link zum Ordner</a> | + | |
- | platziert. | + | |
- | ;Autor: [http://regain.murfman.de/wiki/de/index.php/Benutzer:Itebob itebob] | + | <code html> |
+ | <a href="file://<search:hit_dir/>" target="_blank">Link zum Ordner</a> | ||
+ | </code> | ||
- | ==Implementierung== | ||
- | eine Klasse ''DirTag'', die von der Klasse net.sf.regain.search.sharedlib.hit/''AbstractHitTag'' abgeleitet ist, erstellen und im Ordner ''net/sf/regain/search/sharedlib/hit'' in der Datei ''regain.jar'' ablegen. Als fertige Vorlage kann dabei die Klasse | ||
- | net.sf.regain.search.sharedlib.hit/''UrlTag.java'' dienen. | ||
- | ;Änderungen im Quelltext: | ||
- | // Dir_Verweis_erstellen Anfang | ||
- | String url_dir = ""; | ||
- | String url_array[] = url.split("/"); | ||
- | for (int i = 0; i < url_array.length-1; i++) { | ||
- | url_dir = url_dir+url_array[i]+"/"; | ||
- | } | ||
- | url =url_dir; | ||
- | // Dir_Verweis_erstellen Ende | ||
- | ;[http://forum.murfman.de/de/viewtopic.php?t=220 Diskussion zum Hack]: | + | ===== Implementierung ===== |
- | ==für Firefox-User== | + | Eine Klasse ''DirTag'', die von der Klasse ''net.sf.regain.search.sharedlib.hit.AbstractHitTag'' abgeleitet ist, erstellen und im Ordner ''net/sf/regain/search/sharedlib/hit'' in der Datei ''regain.jar'' ablegen. Als fertige Vorlage kann dabei die Klasse ''net.sf.regain.search.sharedlib.hit.UrlTag'' dienen. |
- | Falls Sie Firefox unter Windows einsetzen, erscheint im Kontextmenü nach dem Rechtsklick auf den Verweis <span style="color:green">'Link zum Ordner'</span> ein Menüpunkt 'Launchy -> Ziel mit Explorer ducrhsuchen', falls Sie die Erweiterung | + | |
- | [http://www.erweiterungen.de/detail/Launchy/ Launchy] installiert haben. Mit der Auswahl des Menüpunkts öffnet sich der Ordner mit der gefundenen Datei im Windows Explorer. Sie können auch 'Launchy -> Link im Internet Explorer öffnen' auswählen - das Ergebnis ist gleich ;-) | + | |
- | Alternativ kann man [http://www.erweiterungen.de/detail/ViewSourceWith/ ViewSourceWith]-Erweiterung einsetzen, die einfacher zu kofigurieren ist. S. dazu [[Regain-Hack: Treffer mit der gewünschten Anwendung öffnen]]. | + | ===== Änderungen im Quelltext ===== |
+ | |||
+ | <code java> | ||
+ | // Dir_Verweis_erstellen Anfang | ||
+ | String url_dir = ""; | ||
+ | String url_array[] = url.split("/"); | ||
+ | for (int i = 0; i < url_array.length-1; i++) { | ||
+ | url_dir = url_dir+url_array[i]+"/"; | ||
+ | } | ||
+ | url =url_dir; | ||
+ | |||
+ | // Dir_Verweis_erstellen Ende | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ===== Für Firefox-User ===== | ||
+ | |||
+ | Falls Sie Firefox unter Windows einsetzen, erscheint im Kontextmenü nach dem Rechtsklick auf den Verweis 'Link zum Ordner' ein Menüpunkt 'Launchy -> Ziel mit Explorer ducrhsuchen', falls Sie die Erweiterung. | ||
+ | |||
+ | [[http://www.erweiterungen.de/detail/Launchy/|Launchy]] installiert haben. Mit der Auswahl des Menüpunkts öffnet sich der Ordner mit der gefundenen Datei im Windows Explorer. Sie können auch 'Launchy -> Link im Internet Explorer öffnen' auswählen - das Ergebnis ist gleich ;-) | ||
+ | |||
+ | Alternativ kann man [[http://www.erweiterungen.de/detail/ViewSourceWith/|ViewSourceWith]]-Erweiterung einsetzen, die einfacher zu konfigurieren ist. Siehe dazu: [[de:howto:open_file_with]] | ||
+ | |||
+ | |||
+ | ===== Einschränkungen ===== | ||
- | ==Einschränkungen== | ||
* Im Internet Explorer Version 6.0 SP2 ist es nicht möglich, mit einem Klick auf den Link ein Ordner zu öffnen, falls der Ordner auf dem Laufwerk C:/ oder D:/ liegt. In diesen Fällen kann man den Link zum Ordner mit der rechten Maustaste anklicken, im Kontextmenü 'Verknüpfung kopieren' wählen und diese Verknüpfung in der Adressleiste im Browser direkt eingeben, danach 'Wechseln zu' oder Eingabetaste betätigen. | * Im Internet Explorer Version 6.0 SP2 ist es nicht möglich, mit einem Klick auf den Link ein Ordner zu öffnen, falls der Ordner auf dem Laufwerk C:/ oder D:/ liegt. In diesen Fällen kann man den Link zum Ordner mit der rechten Maustaste anklicken, im Kontextmenü 'Verknüpfung kopieren' wählen und diese Verknüpfung in der Adressleiste im Browser direkt eingeben, danach 'Wechseln zu' oder Eingabetaste betätigen. | ||
- | * der hier beschiriebene Hack funktioniert am komfortabelsten dann, wenn ein Zugriff auf ein file://-URL im Browser erlaubt ist. Falls dies nicht der Fall ist, kann man den oben beschriebenen Trick mit 'Verknüpfung kopieren' anwenden oder mit Firefox-Browser die Launchy-Erweiterung installieren. | + | * Das hier beschriebene How-To funktioniert am komfortabelsten dann, wenn ein Zugriff auf ein <nowiki>file://-URL</nowiki> im Browser erlaubt ist. Falls dies nicht der Fall ist, kann man den oben beschriebenen Trick mit 'Verknüpfung kopieren' anwenden oder mit Firefox-Browser die Launchy-Erweiterung installieren. |
- | * es ist nicht möglich, gleichzeitig diesen Hack in der ''search.jsp'' und <rewriteRules> in der ''SearchConfiguration.xml'' anzuwenden - außer, wenn das Ergebnis von RewriteRules im Zusammenspiel mit <search:hit_dir/> einen Pfad generieren, der zu einem existirenden Ordner führt | + | * Es ist nicht möglich, gleichzeitig dieses How-To in der ''search.jsp'' und ''<rewriteRules>'' in der ''SearchConfiguration.xml'' anzuwenden - außer, wenn das Ergebnis von RewriteRules im Zusammenspiel mit ''<search:hit_dir/>'' einen Pfad generieren, der zu einem existierenden Ordner führt. |
+ | |||
+ | FIXME: Eine step-by-step-Anleitung, die hilft im Browser die oben geschilderte Einschränkung 2 zu beseitigen, wäre sehr wünschenswert. | ||
+ | |||
+ | |||
+ | ===== Siehe auch ===== | ||
- | ==Weiterentwicklung== | + | * Im Forum: [[http://forum.murfman.de/de/viewtopic.php?t=220|Diskussion zum How-To]] |
- | Eine step-by-step-Anleitung, die hilft im Browser die oben geschilderte Einschränkung 2 zu beseitigen, wäre sehr wünschenswert | + | * [[http://www.supportnet.de/fresh/2005/1/id987764.asp|Einen Link auf Ordner und nicht auf Datei]] |
- | ==Weblinks== | ||
- | * [http://forum.murfman.de/de/viewtopic.php?t=220 Diskussion zum Hack] | + | **Autor:** itebob |
- | * [http://www.supportnet.de/fresh/2005/1/id987764.asp Einen Link auf Ordner und nicht auf Datei] | + | |