JOOM::GALLERY::FORUM

Archiv => Gelöste Themen: Zusammenspiel mit anderen Komponenten => Thema gestartet von: tankberg am 04-08-2010 15:46:09



Titel: Autoerstellen neuer Kategorien mit CB?
Beitrag von: tankberg am 04-08-2010 15:46:09
Hallo zusammen,

erstmal ein dickes Dankeschön an die Macher der JoomGallery für die Mühe und Arbeit in den letzten Jahren.

Ich hab da ein kleines Problemchen. Ich nutze den CommunityBuilder und die JoomGallery - unter anderem auch mit dem JoomAutoCat Plugin (1.5 BETA2). Das JoomlaAutoCat funktioniert an sich optimal, nur brauch ich leider noch ein "wenig mehr". Im CB habe ich ein Drop-Down-Feld, das einen User einer Gruppe zuweist (zusätzlich zur Joomla-internen Einteilung).

Diese Gruppen sollen die Kategorien (auf der obersten Ebene) für die Gallery sein. Innerhalb dieser Kategorien soll dann ein Plugin automatisch eine Userkategorie (wie beim JoomlaAutoCat) in der jeweiligen Kategorie anlegen. Leider hab ich vom coden so ziemlich gar keine Ahnung. Ich zähle daher auf eure Hilfe.


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: Chraneco am 04-08-2010 23:25:29
Hi,

falls man über das CBuser-Objekt eines Benutzers auf diese zusätzlichen Daten zugreifen kann (wovon ich stark ausgehe), sollte es über eine 'switch'-Anweisung ganz einfach möglich sein, zum Beispiel so:

Code
$cbUser = & CBuser::getInstance($user['id']);
$cbUserData = &$cbUser->getUserData();
 
switch($cbUserData->gruppen_id)
{
 case 1:
   $category->parent = 35;
   break;
 case 2:
   $category->parent = 17;
   break;
 case 3:
   $category->parent = 47;
   break;
 default:
   $category->parent = 36;
   break;
}

Gruß
Chraneco


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: tankberg am 05-08-2010 00:00:29
Hallo Chraneco,

ich steh grad ziemlich auf dem Schlauch - glaub ich. Dein Code würde ins JoomAutoCat kommen, versteh ich das richtig? Und was würde ich im Case genau abfragen? Meine Eigenschaft hat 4 Ausprägungen in der Form "Hund", "Katze", "Maus", "Vogel".


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: Chraneco am 05-08-2010 00:05:52
Hi,

jep, du müsstest im Plugin folgenden Code ersetzen:

Code
if($parent = $this->params->get('parent'))
   {
     $category->parent = intval($parent);
   }

Mit deinen Daten würde es dann so aussehen:

Code
$cbUser = & CBuser::getInstance($user['id']);
$cbUserData = &$cbUser->getUserData();
 
switch($cbUserData->tiergruppe)
{
 case 'Hund':
   $category->parent = 35;
   break;
 case 'Katze':
   $category->parent = 17;
   break;
 case 'Maus':
   $category->parent = 47;
   break;
 case 'Vogel':
   $category->parent = 36;
   break;
 default:
   $category->parent = 36;
   break;
}

wobei du die Kategorie-IDs noch mit den gewünschten IDs ersetzen musst und hier die Kategorie 36 als Standard verwendet wird, falls vom Benutzer keine Auswahl eines Tieres getroffen wurde. Das '$cbUserData->tiergruppe' muss wahrscheinlich auch noch angepasst werden.

Gruß
Chraneco


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: tankberg am 05-08-2010 01:03:03
Super! Hat geklappt. Vielen Dank.

Allerdings hab ich noch die Zeile über deinem Code eingefügt.
Code:
$category->parent = $user['cb_usergroup'];

Keinen Schimmer was die genau macht, aber es funktioniert.

PS: Nett hier. Ich glaub, ich bleib hier. :)


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: Chraneco am 05-08-2010 01:16:23
Hi,

Wie sieht die Datei bei dir jetzt genau aus?

Könntest du bitte mal testweise meinen Code komplett löschen und nur die von dir eingefügte Zeile stehen lassen? :-)

Denn falls diese Zeile zum gewünschten Ergebnis geführt hat, sollte mein Code völlig nutzlos sein. Das funktioniert dann aber nur, falls die Kategorie-IDs genau mit den Benutzergruppen-IDs übereinstimmen.

Gruß
Chraneco


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: tankberg am 05-08-2010 01:29:05
Aaaaaalso. Erstens, es geht auch ohne meine Zeile. Grad probiert.

Zweitens hab ich das grad mit ohne deinen Code probiert. Die Kategorie-Namen IDs stimmten nicht mit den Namen in der CB überein, aber ich habs gerade mal angepasst. Ohne deinen Code - nur mit meiner Zeile - funktioniert es nicht. Dann erstellt der eine neue Kategorie für den neuen User auf der obersten Ebene.

Gleich mal ne Kleinigkeit hinterher, kann ich die Category-ID (sprich die Zahl) irgendwo von Hand nachträglich ändern? Durch das Erstellen und Löschen von Kategorien beim Testen hab ich da jetzt eine kleine Lücke die ich korrigieren möchte.


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: Chraneco am 05-08-2010 01:39:06
Hi,

du kannst die eingetragenen IDs in der 'switch'-Anweisung auch noch nachträglich ändern oder habe ich dich jetzt falsch verstanden?

Gruß
Chraneco


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: tankberg am 05-08-2010 01:39:18
Ich meinte die IDs im Backend der "regulären" JoomGallery-Komponente. Wenns nicht geht, ist es auch nicht tragisch.


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: Chraneco am 05-08-2010 01:41:56
Hi,

achso, das wäre direkt in der Datenbank mit Hilfe von PhpMyAdmin oder ähnlichem möglich, wenn sich noch keine Bilder in den Kategorien befinden. Ansonsten musst du die Zuweisungen der Bilder ebenfalls direkt in der Datenbank erneuern.

Gruß
Chraneco


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: tankberg am 05-08-2010 01:53:03
Ich hab grad in der Datenbank in "jos_joomgallery_catg" den Schlüssel(?) "Nächste Autoindex" mit dem Wert 22 gefunden. Das ist eigentlich genau das was ich suche. Wie kann ich den auf einen niedrigeren Wert ändern? Ich nutze PHPMyAdmin (von 1&1).

So, das war die letzte Frage für heute.  ;-))


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: Chraneco am 05-08-2010 01:59:13
Hi,

diesen Wert kannst du mit PhpMyAdmin im Abschnitt 'Tabellenoptionen' ändern, nachdem du während dem Betrachten der Tabelle oben auf 'Operationen' geklickt hast.

Gruß
Chraneco


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: tankberg am 05-08-2010 02:03:27
Hat wieder funktioniert. Vielen Dank.

So Feierabend, gute Nacht und nochmal danke für die Hilfe heute (und gestern).


Titel: Re: Autoerstellen neuer Kategorien mit CB?
Beitrag von: Chraneco am 05-08-2010 02:04:17
Hi,

kein Problem, gute Nacht :-)

Gruß
Chraneco