Seite 1 von 1
Suche in passwortgeschützten Bereichen
Verfasst: Sa 24. Jun 2006, 12:00
von smart
Liebe Community,
ich betreue eine Seite, die passwortgeschützte Bereiche im Frontend hat, auf die man nur per Login zugreifen kann.
Leider habe ich nun festgestellt, dass diese über die Suchfunktion gar nicht indexiert werden. Auch nicht, wenn der Benutzer mit Rechten auf Zugriff zu diesen Kategorien eingeloggt ist.
Habt ihr einen Tipp? Ich dachte an einen Hinweis für alle, dass man sich erst einloggen muss - und danach eine ganz normale Ergebnisliste für alleEingeloggten.
Ist so etwas umsetzbar?
Verfasst: Sa 24. Jun 2006, 13:36
von emergence
ich bin mir jetzt nicht sicher, aber class.search.php hat eine option geschützte seiten ebenfalls zu durchsuchen.. (ich bin mir sicher das diese seiten auch indiziert werden...)
such dort einfach mal nach protected
du musst dann an sich nur mehr diesen parameter beim suchmodul mit berücksichtigen, wenn der user eingelogged ist...
Verfasst: Sa 24. Jun 2006, 14:26
von smart
Leider bin ich kein PHP-Experte, aber unter dem Begriff "protected" ist in der class.search.php nichts zu finden...

Verfasst: Sa 24. Jun 2006, 14:52
von Dodger77
smart hat geschrieben:Leider bin ich kein PHP-Experte, aber unter dem Begriff "protected" ist in der class.search.php nichts zu finden...

Dann solltest du deinen Text-/PHP-Editor nochmal suchen lassen. Oder schau mal direkt in Zeile 796 (Contenido 4.6.8 ).
Verfasst: Sa 24. Jun 2006, 19:02
von smart
Sorry, hatte nicht bemerkt, dass sich nach dem Update meines Weaverslave das Suchfenster verändert hat...
Habe nun also folgende Codestelle gefunden:
Code: Alles auswählen
/**
* Constructor
*
* @param array $options
* $options['db'] 'regexp' => DB search with REGEXP; 'like' => DB search with LIKE; 'exact' => exact match;
* $options['combine'] 'and', 'or' Combination of search words with AND, OR
* $options['exclude'] 'true' => searchrange specified in 'cat_tree', 'categories' and 'articles' is excluded; 'false' => searchrange specified in 'cat_tree', 'categories' and 'articles' is included
* $options['cat_tree'] e.g. array(8) => The complete tree with root 8 is in/excluded from search
* $options['categories'] e.g. array(10, 12) => Categories 10, 12 in/excluded
* $options['articles'] e.g. array(23) => Article 33 in/excluded
* $options['artspecs'] => e.g. array(2, 3) => search only articles with certain article specifications
* $options['protected'] 'true' => do not search articles which are offline (locked) or articles in catgeories which are offline (protected)
* $options['dontshowofflinearticles'] 'false' => search offline articles or articles in categories which are offline
* $options['searchable_articles'] array of article ID's which should be searchable
*
* @return void
*/
function Search($options, $oDB = false)
{
# TODO: avoid globals
global $cfg, $lang, $client;
$this->cfg = $cfg;
$this->lang = $lang;
$this->client = $client;
$this->bDebug = false;
if ($oDB == false)
{
$this->db = new DB_Contenido;
}elseif(is_object($oDB))
{
$this->db = &$oDB;
}
$this->index = new Index($oDB);
$this->cms_type = $this->index->cms_type;
$this->cms_type_suffix = $this->index->cms_type_suffix;
$this->search_option = (array_key_exists('db', $options)) ? strtolower($options['db']) : 'regexp';
$this->search_combination = (array_key_exists('combine', $options)) ? strtolower($options['combine']) : 'or';
$this->protected = (array_key_exists('protected', $options)) ? $options['protected'] : true;
$this->dontshowofflinearticles = (array_key_exists('dontshowofflinearticles', $options)) ? $options['dontshowofflinearticles'] : false;
$this->exclude = (array_key_exists('exclude', $options)) ? $options['exclude'] : true;
$this->article_specs = (array_key_exists('artspecs', $options) AND is_array($options['artspecs'])) ? $options['artspecs'] : array();
$this->index->setCmsOptions($this->cms_type_suffix);
if (array_key_exists('searchable_articles', $options) AND is_array($options['searchable_articles']))
{
$this->searchable_arts = $options['searchable_articles'];
}else
{
$this->searchable_arts = $this->getSearchableArticles($options);
}
}
Da ich - wie gesagt - keine große PHP-Ahnung habe:
Wo sollte ich denn nun die Zeile
Code: Alles auswählen
$options['dontshowofflinearticles'] 'false' => search offline articles or articles in categories which are offline
einfügen? Vor der letzten }-Klammer?
Sorry für diese Noob-Fragen - würde mich freuen, wen mir jemand helfen könnte. Für alle bisherigen Tipps ein dickes Dankschön!
Verfasst: So 25. Jun 2006, 09:26
von emergence
im suchmodul findet sich ja etwas wie das hier:
Code: Alles auswählen
$options = array ('db' => 'regexp', // use db function regexp
'combine' => $combine, // combine searchterms with and
'exclude' => false, // => searchrange specified in 'cat_tree', 'categories' and 'articles' is excluded, otherwise included (exclusive)
'cat_tree' => $aSearchRange, // searchrange
'artspecs' => $aArtSpecs, // array of article specifications => search only articles with these artspecs
'protected' => true); // => do not search articles or articles in categories which are offline or protected
$search = new Search($options);
es sollte reichen
auf
zu setzen...
Verfasst: So 25. Jun 2006, 14:38
von smart
Gesagt, getan - funktioniert aber leider noch immer nicht...

Weiterhin keine Suchergebnisse...
Verfasst: So 25. Jun 2006, 16:23
von emergence
ich könnte mir noch vorstellen, dass deine geschützten kategorien nicht in der searchrange definiert sind... (eventuell mal bei den mandanten settings nachsehen...)
sonst kann ich dir momentan keine weiteren tipps geben..
Verfasst: So 25. Jun 2006, 20:56
von smart
Dort habe ich folgendes gefunden:
Dann habe ich die geschützten Kategorien (85,86) einfach beim Wert hinzugefügt. Leider immer noch ohne Erfolg. Ich habe es so aber richtig verstanden, oder?
Was hat es denn mit diesem Searchrange auf sich?
Verfasst: So 25. Jun 2006, 22:24
von mvf
smart hat geschrieben:Was hat es denn mit diesem Searchrange auf sich?
searchrange include verlangt nach einer idcat, die dann rekusiv abwärts ind die suche it aufgenommen wird
hat dein baum der zu includieren ist die 1, dann wird der komplette baum includiert
Verfasst: So 25. Jun 2006, 23:56
von smart
Habe jetzt 85,86 durch die jeweils übergeordneten Kategorien ersetzt (74,75) - obwohl eh alle im Baum 1 liegen. Trotzdem kein Ergebnis. Hilfe!!!
Verfasst: Sa 30. Sep 2006, 22:31
von smart
Niemand? *bump*
Verfasst: Mo 13. Nov 2006, 19:29
von smart
*mal wieder nach oben schieb*