Avatar für eine Gruppe ausblenden

Started by Tom64, May 14, 2012, 03:13:27 AM

Previous topic - Next topic

NetFlag

Quote from: Tom64 on May 24, 2012, 09:13:31 AM

Das ergibt leider eine weiße Seite "Template Parse Error!"

Aber ein Bild sehe ich so natürlich auch nicht  ;D  ;D  8)

Tja, so ist das mit Schüssen aus der Hüfte. Ich sollte es lassen. Sorry für die unnötigen Maßnahmen.

Tom64


NetHunter ... ich bin dir sehr dankbar für deine Hilfen.

Du solltest auf keinen Fall damit aufhören uns Unwissende zu unterstützen.

Leute wie dich brauchen wir.

Leute die mir schreiben "lernen zu Programmieren" waren weit weniger hilfreich.

Und ... es kommen sicher mehr Fragen von mir. Bleib an meiner Seite   ;D  ;)
Meine Frage wäre auch was für dein Forum ?
Schreib es drunter. Wenn viele die Antwort wollen, haben wir vielleicht mehr Glück  :)

Danke an alle die die hier helfen  :)

feline

Quote from: Tom64 on May 24, 2012, 12:45:14 PM
Nun fehlt mir nur noch die Lösung für die Mitgliederliste (MOD - Avatar on Member List)
Da müsstest du mal einen link zu dem mod posten ...

Tom64

Meine Frage wäre auch was für dein Forum ?
Schreib es drunter. Wenn viele die Antwort wollen, haben wir vielleicht mehr Glück  :)

Danke an alle die die hier helfen  :)

feline

In der Memberlist.template.php finde:

// Assuming there are members loop through each one displaying their data.
if (!empty($context['members']))
{
foreach ($context['members'] as $member)


und ersetze durch;

// Assuming there are members loop through each one displaying their data.
if (!empty($context['members']))
{
global $user_info;
$hideGrp = ##;
if(in_array($hideGrp, $user_info['groups']))
$member['avatar']['image'] = '';

foreach ($context['members'] as $member)

Tom64

Hmmmm ... so steht das bei mir nicht.
Bevor ich etwas falsch mache, hier mal mein Code ...

   // Assuming there are members loop through each one displaying their data.
   if (!empty($context['members']))
   {
      foreach ($context['members'] as $member) if($member['id'] != 2)
         echo '
      <tr style="text-align: center;"', empty($member['sort_letter']) ? '' : ' id="letter' . $member['sort_letter'] . '"', '>
         <td class="windowbg2">
            ', $context['can_send_pm'] ? '<a href="' . $member['online']['href'] . '" title="' . $member['online']['text'] . '">' : '', $settings['use_image_buttons'] ? '<img src="' . $member['online']['image_href'] . '" alt="' . $member['online']['text'] . '" align="middle" />' : $member['online']['label'], $context['can_send_pm'] ? '</a>' : '', '
         </td>
         <td class="windowbg" align="center">', $member['gender']['image'], '</td>
         <td class="windowbg" align="left">', $member['link'], '</td>
               
         <td class="windowbg2">', $member['avatar']['image'], '</td>
         <td class="windowbg2">', $member['hide_email'] ? '' : '<a href="mailto:' . $member['email'] . '"><img src="' . $settings['images_url'] . '/email_sm.gif" alt="' . $txt[69] . '" title="' . $txt[69] . ' ' . $member['name'] . '" /></a>', '</td>
         <td class="windowbg">', $member['website']['url'] != '' ? '<a href="' . $member['website']['url'] . '" target="_blank"><img src="' . $settings['images_url'] . '/www.gif" alt="' . $member['website']['title'] . '" title="' . $member['website']['title'] . '" /></a>' : '', '</td>
         <td class="windowbg2">', $member['icq']['link'], '</td>
         <td class="windowbg2">', $member['aim']['link'], '</td>
         <td class="windowbg2">', $member['yim']['link'], '</td>
         <td class="windowbg2">', $member['msn']['link'], '</td>
         <td class="windowbg" align="left">', empty($member['group']) ? $member['post_group'] : $member['group'], '</td>
         <td class="windowbg" align="left">', $member['registered_date'], '</td>
         <td class="windowbg2" width="15">', $member['posts'], '</td>
         <td class="windowbg" width="100" align="left">
            ', $member['posts'] > 0 ? '<img src="' . $settings['images_url'] . '/bar.gif" width="' . $member['post_percent'] . '" height="15" alt="" />' : '', '
         </td>
      </tr>';
   }
Meine Frage wäre auch was für dein Forum ?
Schreib es drunter. Wenn viele die Antwort wollen, haben wir vielleicht mehr Glück  :)

Danke an alle die die hier helfen  :)

feline

Quote from: Tom64 on May 24, 2012, 04:06:19 PM
Hmmmm ... so steht das bei mir nicht.
Bevor ich etwas falsch mache, hier mal mein Code ...

   // Assuming there are members loop through each one displaying their data.
   if (!empty($context['members']))
   {
      foreach ($context['members'] as $member) if($member['id'] != 2)
         echo '
      <tr style="text-align: center;"', empty($member['sort_letter']) ? '' : ' id="letter' .
Da schein etwas eingebaut zu sein, was nicht im original code vorhanden ist ...
das hier ...  if($member['id'] != 2)
Hast du weitere mods installiert?
Auf jeden fall muss der code  den ich dir geschrieben habe zwischen
   if (!empty($context['members']))
   {

und
      foreach ($context['members'] as $member)

das andere kannst du erst mal ignorieren.
Ausserdem .. man macht vorher immer ein backup der datei  ;)

DieNeue

Als Gast habe ich das Thema mit Interesse verfolgt und alles ausprobiert... :D

Für mich stellt es aktuell noch ein "Problem" dar, dass die unberechtigte Gruppe noch nicht einmal die vorgegebenen Forum-Avatare sehen kann und somit keine Veränderung beim Hochladen eines eigenen Bildes erkennen kann.

Lässt sich das umgehen?


feline

Du meinst, das user in der "hide" Gruppe ihren eigenen Avatar nicht sehen können ?
Tja .. Grundsätzlich ist das möglich ..
Dazu müsste man wissen, ob und wie die Gruppen-ID in dem jeweiligen Daten array ($context['member'] / $message['member']) vorhanden ist (was ich in ermangelung eine SMF 1.1.6 nicht weiß).

WENN das so ist (Annahme im array gibt es ein $xx['member]['group']  mit der ID)  kann man den Test wie folgt machen:
if(!in_array($hideGrp, $user_info['groups']) || $hideGrp == $xx['member]['group'])
  Anzeigen

oder auch
if(in_array($hideGrp, $user_info['groups']) && $hideGrp != $xx['member]['group'])
Verbergen

Wenn vorhanden und $xx['member]['group'] ein array enthält (weil user in mehreren Gruppen sein können) müsste es etwa so aussehen:

if(!in_array($hideGrp, $user_info['groups']) || in_array($hideGrp, $xx['member]['group']))
  Anzeigen

oder auch
if(in_array($hideGrp, $user_info['groups']) && !in_array($hideGrp, $xx['member]['group']))
Verbergen

Vielleicht hilfts !?  ;)

Tom64

Soooo ... getestet.

Wenn ich nichts falsch gemacht habe, sieht man die Avatare weiterhin.
Auch dann wenn man den zusätzlichen Code entfernt.
Der ist übrigens da um ein Profil in der Mitgliederliste völlig zu verstecken (Testprofil).

Ich habe natürlich ein Backup   ;)
Meine Frage wäre auch was für dein Forum ?
Schreib es drunter. Wenn viele die Antwort wollen, haben wir vielleicht mehr Glück  :)

Danke an alle die die hier helfen  :)

DieNeue

Quote from: feline on May 25, 2012, 03:14:35 AM
Du meinst, das user in der "hide" Gruppe ihren eigenen Avatar nicht sehen können ?
Tja .. Grundsätzlich ist das möglich ..
Dazu müsste man wissen, ob und wie die Gruppen-ID in dem jeweiligen Daten array ($context['member'] / $message['member']) vorhanden ist (was ich in ermangelung eine SMF 1.1.6 nicht weiß).

WENN das so ist (Annahme im array gibt es ein $xx['member]['group']  mit der ID)  kann man den Test wie folgt machen:
if(!in_array($hideGrp, $user_info['groups']) || $hideGrp == $xx['member]['group'])
  Anzeigen

oder auch
if(in_array($hideGrp, $user_info['groups']) && $hideGrp != $xx['member]['group'])
Verbergen

Wenn vorhanden und $xx['member]['group'] ein array enthält (weil user in mehreren Gruppen sein können) müsste es etwa so aussehen:

if(!in_array($hideGrp, $user_info['groups']) || in_array($hideGrp, $xx['member]['group']))
  Anzeigen

oder auch
if(in_array($hideGrp, $user_info['groups']) && !in_array($hideGrp, $xx['member]['group']))
Verbergen

Vielleicht hilfts !?  ;)




Ich habe beides probiert und... Das Forum war weg!  :-\
Alles rückgängig und es ist wieder gut! :)

Der Code, der bei mir vorhanden ist, ist folgender:
       ', (!in_array($hideGrp, $user_info['groups']) ? $context['member']['avatar']['image'] : ''), '<br /><br />


Und nun?


feline

Da müsste ich etwas mehr vom code sehen .. was davor und dannach kommt  ;)

Tom64

Moin Moin  :)

Leider funktioniert das mit dem Ausblenden der Bilder in der Mitgliederliste nicht.

Noch ein Tipp zur Hand ?   ;D   :-[   :-[
Meine Frage wäre auch was für dein Forum ?
Schreib es drunter. Wenn viele die Antwort wollen, haben wir vielleicht mehr Glück  :)

Danke an alle die die hier helfen  :)

feline

Ja .. die Modifikation deinstallieren .. wer braucht so was? macht nur unnötige Server last....

Tom64

Hihi ... ich brauche das. Wirklich !

Ich würde Ärger bekommen wenn das plötzlich weg wäre   ;D ;D ;D
Meine Frage wäre auch was für dein Forum ?
Schreib es drunter. Wenn viele die Antwort wollen, haben wir vielleicht mehr Glück  :)

Danke an alle die die hier helfen  :)

feline

Dann frag doch mal den Mod Author, wie du das machen kannst ...

Tom64

Hmmm ... auch eine Idee   :)

Dann möchte ich mich an dieser Stelle recht herzlich bei dir bedanken.

Du hast mir unheimlich geholfen.

Vielen, vielen Dank feline ... du bekommst 100 Punkte   ;)
Meine Frage wäre auch was für dein Forum ?
Schreib es drunter. Wenn viele die Antwort wollen, haben wir vielleicht mehr Glück  :)

Danke an alle die die hier helfen  :)

feline

es ist immer schwierig wenn smf modifiziert wird und für diese mods änderungen gemacht werden sollen.
doppelt schwierig für mich, weil ich kein smf 1.1.6 habe  :D

DieNeue

Sooo... Besser spät als nie... ;)
Hier also mehr vom Code:


   // Now print the second column where the members avatar/text is shown
        global $user_info;
            $hideGrp = 10;
            echo '
                        <td class="windowbg" valign="middle" align="center" width="170">
                                   ', (!in_array($hideGrp, $user_info['groups']) ? $context['member']['avatar']['image'] : ''), '<br /><br />
                                   ', $context['member']['blurb'], '
                        </td>
            </tr>';




Hilft das weiter?

feline

Das sollte problemlos funktionieren ..
ich hoffe du hast hier: ? $context['member']['avatar']['image'] : ''
am ende nicht EIN Anführungszeichen (") sondern zwei Apostroph (') verwendet ...

Advertisement: