Forum

DynPG Forum

Foren

Login

Suchen

Forenübersicht - Allgemeines Forum - Suchfeld sucht in ausgeschalteten Gruppen

longis

Beiträge: 131

Suchfeld sucht in ausgeschalteten Gruppen
Salue mitenand

Habe die Suchmaschne eingebaut und festgestellt, dass diese auch in nicht sichtbaren Gruppen sucht und dann die Resultate anzeigt.

Wenn das Gruppen sind, welche nicht angezeigt werden dürfen ist das sehr ungünstig.

Habt ihr eine Idee? Kann ich im Search Gruppen ausschalten oder gibt es einen anderen Trick?

Vielen Dank für eure Hilfe.
Liebe Grüsse
Marlies

20.02.2009 08:24

ZITIEREN | ANTWORTEN

Daniel Schliebner

Beiträge: 382

Hallo longis!

Auf der Ergenisseite der Suche kann an der Stelle, wo die Suchergebnisse erscheinen sollen, etwa folgendes stehen:

$GLOBALS["DynPG"]->loadSavedParams();
$GLOBALS["DynPG"]->loadSavedParams();
$GLOBALS["DynPG"]->Write_AllGroups();
$GLOBALS["DynPG"]->SetParam_AA_Groups(Array(),Array(24));
$GLOBALS["DynPG"]->Write_AllArticles();
$GLOBALS["DynPG"]->Write_Article();

Mit

$GLOBALS["DynPG"]->SetParam_AA_Groups(Array(),Array(24));

lassen sich explizit Gruppen aus- und einblenden (hier wird etwa die Gruppe 24 ausgeblendet). Mehrere Gruppen können durch Kommata getrennt werden:

$GLOBALS["DynPG"]->SetParam_AA_Groups(Array(),Array(24,25,26));

Möchtest du etwa eine Gruppe (z.B. ID 15) samt all ihrer Untergruppen ausschließen, dann geht auch folgendes:

$GLOBALS["DynPG"]->SetParam_AA_Groups(Array(), $GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(15));
Mit freundlichen Grüßen

ds-develop
Daniel Schliebner
Webmaster & Programmierer
http://www.ds-develop.de

Bietzkestraße 18A
10315 Berlin
GERMANY

Tel.: +49 30 33980300

20.02.2009 19:52

ZITIEREN | ANTWORTEN

kust

Beiträge: 241

Zitat
Hallo longis!

Auf der Ergenisseite der Suche kann an der Stelle, wo die Suchergebnisse erscheinen sollen, etwa folgendes stehen:

$GLOBALS["DynPG"]->loadSavedParams();
$GLOBALS["DynPG"]->loadSavedParams();
$GLOBALS["DynPG"]->Write_AllGroups();
$GLOBALS["DynPG"]->SetParam_AA_Groups(Array(),Array(24));
$GLOBALS["DynPG"]->Write_AllArticles();
$GLOBALS["DynPG"]->Write_Article();

Mit

$GLOBALS["DynPG"]->SetParam_AA_Groups(Array(),Array(24));

lassen sich explizit Gruppen aus- und einblenden (hier wird etwa die Gruppe 24 ausgeblendet). Mehrere Gruppen können durch Kommata getrennt werden:

$GLOBALS["DynPG"]->SetParam_AA_Groups(Array(),Array(24,25,26));

Möchtest du etwa eine Gruppe (z.B. ID 15) samt all ihrer Untergruppen ausschließen, dann geht auch folgendes:

$GLOBALS["DynPG"]->SetParam_AA_Groups(Array(), $GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(15));


Hallo Daniel

Sind diese 2 Beispiele für die Version 3.7.1 noch gültig ?

Bei www.zpz.ch werden die untergeordneten Gruppen (56,57,58,59,60) von Gruppe 44 beim Search-Stichwort "intern" angezeigt.

Die beiden php-Dateien sind im angehängten ZIP enthalten.

Freundliche Grüsse
kust
Attachments
1 Attachment (Dateityp: zip, Größe: 3 Kb)

28.08.2009 00:10

ZITIEREN | ANTWORTEN

Daniel Schliebner

Beiträge: 382

Hallo kust!

Das Snippet sollte nach wie vor funktionieren. Habe es lokal getestet und dort hat es einwandfrei funktioniert. Sende mir doch einmal einen Testzugang zum CMS.
Mit freundlichen Grüßen

ds-develop
Daniel Schliebner
Webmaster & Programmierer
http://www.ds-develop.de

Bietzkestraße 18A
10315 Berlin
GERMANY

Tel.: +49 30 33980300

28.08.2009 09:52

ZITIEREN | ANTWORTEN

kust

Beiträge: 241

Hallo Daniel

Vielen Dank für die Antwort. Es funktioniert auch bei mir, wenn ich bei der Gruppe die Naviagation auf "Nein" setze.

Ich habe übersehen, dass deine Vorschläge hier im Forum für "ausgeschaltete Gruppen" gelten (Sorry).

--------------------

Da es sich bei der Gruppe 44 um eine Gruppe mit Navigation handelt, würde mich der entsprechende Command interessieren.

Es wäre auch OK, wenn die Artikel 45, 56, 57, 58, 59 und 60 für die Search-Funktion ausgeschlossen werden können.

Freundliche Grüsse
kust

28.08.2009 14:07

ZITIEREN | ANTWORTEN

Daniel Schliebner

Beiträge: 382

Hallo kust,

die "Öffentlich"-Einstellung im Backend sollte darauf keinen Einfluss haben. Gruppen über das genannte Snippet werden dann generell ausgeblendet. Nun weiß ich nicht mehr, was da schief laufen kann.

Alternativ kannst du mal versuchen, per

$GLOBALS["DynPG"]->SetParam_AA_ExcludeArticles(Array(), Array(45, 56, 57, 58, 59, 60));

(vor dem Write_AllArticles platzieren) die Artikel direkt heraus zu nehmen.

Wenn das auch nicht funktioniert, kann ich mir das auch mal anschauen, benötige dann aber die FTP-Daten. Für die Aufwendungen müsste ich dann aber ggf. eine Rechnung stellen.
Mit freundlichen Grüßen

ds-develop
Daniel Schliebner
Webmaster & Programmierer
http://www.ds-develop.de

Bietzkestraße 18A
10315 Berlin
GERMANY

Tel.: +49 30 33980300

28.08.2009 14:54

ZITIEREN | ANTWORTEN

Patrick Wicki

Beiträge: 131

Zitat
Alternativ kannst du mal versuchen, per

$GLOBALS["DynPG"]->SetParam_AA_ExcludeArticles(Array(), Array(45, 56, 57, 58, 59, 60));

Grüezi Herr Schliebner

Ich beschäftige mich auch gerade mit dem Thema und stelle fest, bei DynPG 3.7.1, dass die Suchausschlüsse mit der im Forum genannten Methode (get Subgroup...) nicht greifen.

Es macht keinen Unterschied, ob der Code in der Suche.php-Seite drin ist oder nicht. Einzig wenn er drin ist und man einfach auf den Suchen-Button klickt, listet DynPG verschiedene Artikel auf (??)

Können Sie mir da weiterhelfen? Meine Einstellungen sehen so aus (verwende ein anderes Search-Template):
$GLOBALS["DynPG"]->loadSavedParams();
$GLOBALS["DynPG"]->setupTemplate('search');

$GLOBALS["DynPG"]->SetParam_AA_ForceNav(false);
$GLOBALS["DynPG"]->SetParam_AA_CategoryNavigation(false);
$GLOBALS["DynPG"]->SetParam_AA_Groups(Array(), $GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(1,6,9,4,3,24));

$GLOBALS["DynPG"]->Write_AllGroups();
$GLOBALS["DynPG"]->Write_AllArticles();
$GLOBALS["DynPG"]->Write_Article();

$GLOBALS["DynPG"]->setupTemplate('default');
?>
Freundliche Grüsse
Patrick Wicki
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
wivisions GmbH -> www.wivisions.ch

10.09.2009 01:08

ZITIEREN | ANTWORTEN

Daniel Schliebner

Beiträge: 382

Hallo Herr Wicki!

Zitat
Einzig wenn er drin ist und man einfach auf den Suchen-Button klickt, listet DynPG verschiedene Artikel auf (??)


Dies ist ind er Tat noch ein fehlerhaftes Verhalten. Wir werden dieses im nächsten Update korrigieren.

Das Ausblenden wie beschrieben funktioniert, ich habe es nun mehrfach lokal getestet.

Sie verwenden die Funktion "get_DynPG_Subgroups_Of" falsch. Als Parameter erwartet diese lediglich eine einzelne Gruppe, aus welcher die Untergruppen ausgelesen werden. Eine kommaseparierte Angabe ist nicht möglich. Sollten Sie mehrere Gruppen samt ihrer Untergruppen ausschließen wollen, so können Sie dies wiefolgt erreichen:

$GLOBALS["DynPG"]->SetParam_AA_Groups(
// explizit Gruppen einblenden
Array(),

// explizit Gruppen ausblenden
array_merge(
$GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(1),
$GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(6),
$GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(9),
$GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(4),
$GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(3),
$GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(24)
)
);

Haben bei Ihnen die Gruppen 1,6,9,4,3,24 eigentlich Untergruppen? Die Funktion "get_DynPG_Subgroups_Of" gibt nämlich nur die Untergruppen der spezifizierteen Gruppen zurück, nicht aber die Gruppe selbst. Hat etwa die Gruppe 1 keine Untergruppen, so wäre die Rückgabe von

$GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(1);

schlicht "Array()", also ein leeres Array.
Mit freundlichen Grüßen

ds-develop
Daniel Schliebner
Webmaster & Programmierer
http://www.ds-develop.de

Bietzkestraße 18A
10315 Berlin
GERMANY

Tel.: +49 30 33980300

10.09.2009 13:15

ZITIEREN | ANTWORTEN

Patrick Wicki

Beiträge: 131

Zitat

Haben bei Ihnen die Gruppen 1,6,9,4,3,24 eigentlich Untergruppen? Die Funktion "get_DynPG_Subgroups_Of" gibt nämlich nur die Untergruppen der spezifizierteen Gruppen zurück, nicht aber die Gruppe selbst. Hat etwa die Gruppe 1 keine Untergruppen, so wäre die Rückgabe von

$GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(1);

schlicht "Array()", also ein leeres Array.


Hallo Herr Schliebner
Besten Dank ich versuche es. Nur bei der oberen Erklärung häng ich noch. Wie meinen Sie das mit einem leeren Array? Müsste das noch hinter get_DynPG_Subgroups angehaengt werden???
Freundliche Grüsse
Patrick Wicki
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
wivisions GmbH -> www.wivisions.ch

11.09.2009 20:20

ZITIEREN | ANTWORTEN

Chris

Beiträge: 510

Gruezi Herr Wicki,

Nein das mit dem leeren Array war nur die Erklärung was die Funktion get_DynPG_Subgroups_Of() zurückgibt wenn die übergebene Gruppe gar keine Untergruppe besitzt. Das muss also nirgends angehängt werden.

mfg
chris.w.
*************************************
Christoph Würsch
Urbanización Aranjuez
Asturianas No° 23
Asuncion / Paraguay
-------------------------------------
Tel: +595 (0)21 332 984
-------------------------------------
http://www.chriswuersch.com
*************************************

11.09.2009 20:52

ZITIEREN | ANTWORTEN

Patrick Wicki

Beiträge: 131

Grüezi Herr Würsch

Merci fuer die Erklärung.
Freundliche Grüsse
Patrick Wicki
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
wivisions GmbH -> www.wivisions.ch

14.09.2009 16:36

ZITIEREN | ANTWORTEN