Kategoriereport mit weniger Userspalten

Hast du Probleme oder Fragen bei der Einrichtung bestimmter Plugins ? Diese kannst du hier loswerden.
Antworten
guenter47
Beiträge: 19
Registriert: 7. Dez 2012, 14:09
Wohnort: Nürnberg

Kategoriereport mit weniger Userspalten

Beitrag von guenter47 »

Hallo,
ich finde den Kategoriereport grundsätzlich gut und wichtig für Kontrollaufgaben, dass allerdings immer alle Userdatenfelder ausgegeben werden ist erstens völlig überflüssig und erzeugt zweitens so breite Tabellen, dass man ständig am hin- und herschieben ist.

Ich hab' das plugin ein wenig abgeändert und kann jetzt die User-Spalten, die ich im Report haben möchte, einstellen.
Im plugin-Verzeichnis 'kategoriereport' habe ich folgende Änderungen vorgenommen:

1. config.php
An das Ende der Datei die folgenden Zeilen anhängen:

Code: Alles auswählen

//User-Spalten, die vor den Pollen- und Kategoriespalten angezeicht werden sollen
//1 = Nachname, 2 = Vorname müssen angegeben sein
//3,4,5 = Adresse, 10 = Geburtstag
$plgSpalten = array(1,2,3,10);
2. kategoriereport_show.php
in Zeile 98 der Originaldatei die Variable $plgSpalten als Parameter an den Funktionsaufruf hängen:

Code: Alles auswählen

//die Liste erzeugen und in ein array einlesen
$members = erzeuge_liste($gDb,$gProfileFields,$plgJaNein,$plgSpalten);
in Zeile 379 in der Funktionsdefinition ebenso

Code: Alles auswählen

function erzeuge_liste($gDb,$gProfileFields,$plgJaNein,$plgSpalten)
im Funktionsbody (ab Zeile 446) steht in der Originaldatei folgendes;

Code: Alles auswählen

    //alle Attribute abfragen
    $attributes = array();    
    foreach($gProfileFields->mProfileFields as $field)
    {    
		$attributes[$field->getValue('usf_name')] = $field->getValue('usf_id');
    }   
Dieser Abschnitt ist zu ersetzen durch:

Code: Alles auswählen

    //alle Attribute abfragen
    $attributes = array();    
    foreach($gProfileFields->mProfileFields as $field)
    {    
      foreach ($plgSpalten AS $sp){
        //##### NUR WENN usf_id in $plgSpalten enthalten ist ####
        if($field->getValue('usf_id')==$sp){
		      $attributes[$field->getValue('usf_name')] = $field->getValue('usf_id');
        }// end IF ==$sp
      } // end foreach $sp 
    }   
Und schon lässt sich der Report viel besser handeln.

Noch schöner wäre es natürlich, wenn das plugin ein Setup-Feld hätte, in dem man das ganz komfortabel einstellen kann. Vielleicht hat ja jemand Lust dazu.

Gruß
Günter
Antworten