|
|
|
HanSolo
|
« am: 03 Januar 2011, 08:49:31 » |
|
Hallo alle zusammen, frohes neues Jahr noch - und alles Gute für jeden, der das liest ... und auch alle, die es nicht tun  Ich habe eine Frage zum Menümanager: Ein erstelltes Menü soll entweder komplett nur für bestimmte Benutzergruppen sichtbar sein oder aber - das wäre die Krönung - in einem erstellten Menü sollen einzelne Unterpunkte nur für bestimmte Benutzergruppen sichtbar sein. Soweit die Idee - die Umsetzung scheitert bei mir allerdings noch. Habe ich da einen Denkfehler oder sind beide Ansinnen gar nicht machbar? Danke für Hinweise und Anregungen.
|
|
|
|
|
Gespeichert
|
Lieben Gruß
Oliver / HanSolo
|
|
|
|
|
|
xmjay
|
« Antworten #1 am: 03 Januar 2011, 11:25:36 » |
|
Moin HanSolo  Ein erstelltes Menü wird in der Blocksteuerung angezeigt. Dort kann es u.A. einer bestimmten Benutzergruppe zugeordnet werden. Blöcke - Blockeinstellungen 0.1.11Bestehende Blöcke verändern 1.12
|
|
|
|
|
Gespeichert
|
Viele Grüße xmjay

WebSchau
pMx 0.1.12 RC2 | PHP: 5.3.1 | MySQL: 5.0.51 | Apache | All Inkl. | FileZilla | Win 7 | FF3.x
Kein Support per PM
|
|
|
|
|
|
HanSolo
|
« Antworten #2 am: 06 Januar 2011, 10:17:48 » |
|
Hallo xmjay,
danke für deine Antwort - das hatte ich vor dem Re-Design auch so gemacht; nun gibt es aber wohl einen Denkfehler meinerseits bei dem neuen Theme (axis). Da ist die Hauptnavigation ja oben - die ist inzwischen auch für alle Besucher soweit angelegt; nun gibt es aber auch Navigationspunkte, die ebenfalls da oben auftauchen sollen, die nur für bestimmte Benutzergruppen gedacht sind; insofern - brauche ich eigentlich zwei vom Manager erstellte Menüs - doch wie bekomme ich die beide da oben rein?
hmm .. je mehr ich das lese, umso mehr glaube ich, dass der Thread verschoben oder abgetrennt werden sollte in den Bereich der "Themes" - kann das bitte ein Moderator übernehmen und diesen Absatz dann löschen? Danke!
|
|
|
|
|
Gespeichert
|
Lieben Gruß
Oliver / HanSolo
|
|
|
|
|
|
xmjay
|
« Antworten #3 am: 06 Januar 2011, 16:16:40 » |
|
Hi HanSolo ! zwei vom Manager erstellte Menüs - doch wie bekomme ich die beide da oben rein? Dafür ist mir kein Lösungsweg bekannt.
|
|
|
|
|
Gespeichert
|
Viele Grüße xmjay

WebSchau
pMx 0.1.12 RC2 | PHP: 5.3.1 | MySQL: 5.0.51 | Apache | All Inkl. | FileZilla | Win 7 | FF3.x
Kein Support per PM
|
|
|
|
|
|
TerraProject
|
« Antworten #4 am: 06 Januar 2011, 17:46:33 » |
|
die einzige Möglichkeit, die ich sehe, ist in der setting.php die menus auszuwählen. Hier ein Bsp. $themesetting['head_css_menu'] = 'axis-manu-guest'; if (MX_IS_USER) $themesetting['head_css_menu'] = 'axis-head-user'; if (MX_IS_ADMIN) $themesetting['head_css_menu'] = 'axis-head-admin';
Allerdings kannst du nur nach User/Gast/Admin selektieren... aber vielleicht hilft dir das ja schon weiter...
|
|
|
|
|
Gespeichert
|
g TerraProject ...::: TECMU :::... TerraProjectKein Support über PN, Mail oder ICQ! Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern. Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
|
|
|
|
|
|
HanSolo
|
« Antworten #5 am: 07 Januar 2011, 13:49:48 » |
|
Hallo Terra, das bringt mich schon mal einen kleinen Schritt weiter - aber wie werden denn sonst Blöcke für die unterschiedlichen Benutzergruppen erkannt? Das müsste doch vom Prinzip her ähnlich funktionieren, oder denke ich da zu einfach 
|
|
|
|
|
Gespeichert
|
Lieben Gruß
Oliver / HanSolo
|
|
|
|
|
|
HanSolo
|
« Antworten #6 am: 07 Januar 2011, 15:55:57 » |
|
Hallo alle zusammen, nach einigem Stöbern hier im Forum und einem Wahnsinns-Schiss, dass ich mir das Theme Axis komplett durcheinander haue, poste ich lieber mal hier - sorry, programmieren ist nicht wirklich mein Ding. $information=mxGetUserData(); if ($information['user_ingroup']==2) $themesetting['head_css_menu'] = 'axis-manu-user'; //Hier die jew. Usergruppenid angeben.
else
{ if ($information['user_ingroup']==0) $themesetting['head_css_menu'] = 'axis-manu-guest'; //Hier die jew. Usergruppenid angeben. } So müsste man das doch einarbeiten können - kann ich das einfach so in die settings.php reinhauen? Da der Tipp schon ein paar Jährchen her ist, wäre auch die Frage, ob das so noch in der aktuellen Version machbar ist oder nicht. Danke für eure Hilfe 
|
|
|
|
|
Gespeichert
|
Lieben Gruß
Oliver / HanSolo
|
|
|
|
|
|
TerraProject
|
« Antworten #7 am: 07 Januar 2011, 15:59:30 » |
|
Den Ansatz hatte ich auch schon und ich habe das auch schon probiert... könnt aber u.U. Probleme mit dem Theme geben. Deshalb hab ich dir den o.g. Vorschlag gemacht, der geht auf alle Fälle.
|
|
|
|
|
Gespeichert
|
g TerraProject ...::: TECMU :::... TerraProjectKein Support über PN, Mail oder ICQ! Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern. Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
|
|
|
|
|
|
HanSolo
|
« Antworten #8 am: 07 Januar 2011, 16:24:22 » |
|
Danke für die Antwort, Terra
welche Probleme meinst du, die sich ergeben könnten?
Problem bei der Seite ist, dass sich prinzipiell jeder registrieren kann (und das auch getan wird), diese dann aber nicht wirklich Mitglieder sind, also auch nicht die Inhalte für die Mitglieder sehen sollten; und daher reicht wohl die Unterscheidung Guest, User und Admin leider nicht aus, oder sehe ich das falsch?
|
|
|
|
|
Gespeichert
|
Lieben Gruß
Oliver / HanSolo
|
|
|
|
|
|
TerraProject
|
« Antworten #9 am: 07 Januar 2011, 16:30:40 » |
|
gut, das ist ein Problem, was bei deiner Seite dann prinzipiell herrscht, das was ich meine, das das Theme auf diesen Code affig reagiert und teilweise (aus welchem Grund auch immer) bei mir zerschossen wurde.
Du kannst zwar die einzelnen Menublöcke auch diversen Usergruppen zuordnen, müsstest sie dann aber in den Linken/rechten Block setzen. Für das Menu oben kannst du dann nur Punkte nehmen, die für alle zugänglich sein sollen, oder wie von mir beschrieben, für die Grobeinteilung...
|
|
|
|
|
Gespeichert
|
g TerraProject ...::: TECMU :::... TerraProjectKein Support über PN, Mail oder ICQ! Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern. Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
|
|
|
|
|
|
HanSolo
|
« Antworten #10 am: 07 Januar 2011, 20:43:44 » |
|
Hallo alle zusammen, wenn ich das so probiere, wie im Beitrag 7 geschrieben (ich probiere also weiter  ), dann erhalte ich diese Meldung Parse error: syntax error, unexpected T_VARIABLE in /TLD/themes/axis/settings.php on line 36nehme ich das erste Semikolon raus, dann ändert sich die Fehlermeldung zu Parse error: syntax error, unexpected T_ELSE in /TLD/themes/axis/settings.php on line 35Ich stehe ein wenig auf dem Schlauch .. kann ein Coder mir vielleicht helfen? Danke!
|
|
|
|
|
Gespeichert
|
Lieben Gruß
Oliver / HanSolo
|
|
|
|
|
|
TerraProject
|
« Antworten #11 am: 07 Januar 2011, 20:47:50 » |
|
muss richtig heissen $information=mxGetUserData(); if ($information['user_ingroup']==2) { $themesetting['head_css_menu'] = 'axis-manu-user'; //Hier die jew. Usergruppenid angeben. } else {
if ($information['user_ingroup']==0) $themesetting['head_css_menu'] = 'axis-manu-guest'; //Hier die jew. Usergruppenid angeben. }
du hast die ersten geschweiften Klammern vergessen
|
|
|
|
|
Gespeichert
|
g TerraProject ...::: TECMU :::... TerraProjectKein Support über PN, Mail oder ICQ! Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern. Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
|
|
|
|
|
|
HanSolo
|
« Antworten #12 am: 07 Januar 2011, 20:53:33 » |
|
Hallo Terra,
vielen lieben Dank, dass du mir weiter unter die Arme greifst .. jetzt weiß ich auch, was du mit "Theme zerschossen" meintest .. smile .. klappt, sieht aber ja wirklich ziemlich kaputt nun aus .. mal schauen, woran das nun liegt.
|
|
|
|
|
Gespeichert
|
Lieben Gruß
Oliver / HanSolo
|
|
|
|
|
|
HanSolo
|
« Antworten #13 am: 21 Januar 2011, 08:40:02 » |
|
Hallo alle zusammen,
eine Frage / Bitte an das Team bzw. an Andi, der doch das Theme "Axis" für pragma portiert hatte (oder?):
Ich habe nun versucht dahinter zu kommen, warum bei Einbinden des hier im Thread genannten Codes das Theme komplett zerschossen wird und die Darstellung nicht klappt. Vielleicht kannst du dir einmal anschauen.
Vielen Dank schon mal im voraus!
|
|
|
|
|
Gespeichert
|
Lieben Gruß
Oliver / HanSolo
|
|
|
|
|
|
Andi
|
« Antworten #14 am: 22 Januar 2011, 13:53:47 » |
|
Moin  die settings.php wird auch im dyn. Stylesheet des Themes (themes/axis/style/style.css.php) eingebunden. Dort sind aber die API-Funktionen von pragmaMx nicht vorhanden. Die Funktion mxGetUserData() gibt es dort also nicht und das Stylesheet wird mit einem PHP-Fehler abgebrochen. Daher vermutlich die Fehlanzeige des Themes... Vor der Verzweigung der versch. Menüs muss also noch geprüft werden, ob die pragmaMx Umgebung existiert. Ausserdem ist die Verzweigung in dem Beispiel etwas ungünstig gelöst, weil kein Standardmenü berücksichtigt ist. Nachfolgend ein Beispiel, was beide Probleme berücksichtigt: if (function_exists('mxGetUserData')) { // pragmaMx Umgebung vorhanden $userinfo = mxGetUserData(); switch ($userinfo['user_ingroup']) { case 2: // für Gruppe mit ID 2 $themesetting['head_css_menu'] = 'ein Menüname'; break; case 3: // für Gruppe mit ID 3 case 4: // oder für Gruppe mit ID 4 $themesetting['head_css_menu'] = 'ein anderer Menüname'; break; default: // Standard für alle anderen $themesetting['head_css_menu'] = 'der Standard Menüname'; } }
Bei sowas verwende ich lieber switch() als if/else Verzweigungen, weil das m.E. flexibler und übersichtlicher ist...
|
|
|
|
|
Gespeichert
|
schön´s Grüssle, Andi Kein Support über PN, Mail oder ICQ! Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern. Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
|
|
|
|
|
|
HanSolo
|
« Antworten #15 am: 12 Februar 2011, 22:44:05 » |
|
Moin Andi  danke für die Info - hat ein wenig länger gedauert mit meiner Rückmeldung. Ich bin unsicher, in welchen Dateien ich nun Änderungen einarbeiten soll. Deinen Code in die style.css.php und keine weitere Datei mehr bearbeiten oder muss in die settings.php der alte Code noch rein? Kannst du mir da bitte noch einen Hinweis zu geben? Ich glaube, dann kann das Thema endlich geschlossen werden 
|
|
|
|
|
Gespeichert
|
Lieben Gruß
Oliver / HanSolo
|
|
|
|
|
|
Andi
|
« Antworten #16 am: 14 Februar 2011, 00:17:52 » |
|
Moin  der Code ist eine Optimierung des von TerraProject geposteten Codes für die settings.php des Themes. Also dort rein 
|
|
|
|
|
Gespeichert
|
schön´s Grüssle, Andi Kein Support über PN, Mail oder ICQ! Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern. Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
|
|
|
|
|
|
HanSolo
|
« Antworten #17 am: 14 Februar 2011, 20:22:49 » |
|
Hi Andi,
danke für die Info - klappt und läuft super .. danke!!!
|
|
|
|
|
Gespeichert
|
Lieben Gruß
Oliver / HanSolo
|
|
|
|
|
|
HanSolo
|
« Antworten #18 am: 03 November 2011, 00:35:27 » |
|
Hallo alle zusammen, ich beziehe mich auf die letzte Lösung in diesem Thread: http://www.pragmamx.org/Forum-topic-32277-start-msg203765.html#msg203765Funktion ist weiterhin einwandfrei, allerdings produziert anscheinend jeder Aufruf der Seite in den Logfiles einen Fehler, so dass ich zum Einen extrem große Files habe, zum Anderen damit die Größe meines Webspaces einschränke  Fehlermeldung lautet: PHP Run-time notice: Undefined index: user_ingroup in /home/.../themes/axis/settings.php on line 32 Ich stehe gerade ein wenig auf dem Schlauch und hoffe auf Hilfe zur Vermeidung der Run-time notice. pragma ist soweit aktuell installiert.
|
|
|
|
|
Gespeichert
|
Lieben Gruß
Oliver / HanSolo
|
|
|
|
|
|
Andi
|
« Antworten #19 am: 03 November 2011, 19:55:06 » |
|
Moin  jop, da ist noch ein kleiner Fehler drin im Code... Das Feld 'user_ingroup' ist natürlich nur in den Userdaten vorhanden, wenn es ein angemeldeter User ist. Bei Gästen entsteht dann diese Fehlermeldung.... Ändere den Code wie folgt ab, dann sollte Ruhe im logfile sein... // hier bereits Standard für alle, auch Gäste... $themesetting['head_css_menu'] = 'der Standard Menüname'; // dann die für die Usergruppen if (function_exists('mxGetUserData') && MX_IS_USER) { // pragmaMx Umgebung vorhanden und user angemeldet $userinfo = mxGetUserData(); switch ($userinfo['user_ingroup']) { case 2: // für Gruppe mit ID 2 $themesetting['head_css_menu'] = 'ein Menüname'; break; case 3: // für Gruppe mit ID 3 case 4: // oder für Gruppe mit ID 4 $themesetting['head_css_menu'] = 'ein anderer Menüname'; break; } }
ps: habe die beiden Threads verbunden 
|
|
|
|
|
Gespeichert
|
schön´s Grüssle, Andi Kein Support über PN, Mail oder ICQ! Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern. Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
|
|
|
|