PHP Warning: Illegal string offset 'status' (File: /www/htdocs/mamonede/print.php on line 190)
PHP Warning: Illegal string offset 'status' (File: /www/htdocs/mamonede/print.php on line 190)
PHP Warning: Illegal string offset 'status' (File: /www/htdocs/mamonede/print.php on line 190) MaMo Net » German Support » Pakete, Hacks und sonstige Anpassungen » [Hack] Profilübersicht - Eigene Profilfelder
Mr. Creativo 05.04.2007, 13:11
Betreff: Profilübersicht - Eigene Profilfelder

Wenn man die im Adminbereich eigenen, angelegten Profilfelder nicht unter den vorhandenen "Rubriken" Foreninformationen oder Persönlichen Informationen anlegen möchten, sondern in dem Profil noch eigene Rubriken haben möchte, muss man wie folgt vorgehen:

Im Template Ordner unter Profile die index.html öffnen und nach folgendem Wert suchen:

(Für Persönliche Informationen)
Zitat:

<?php foreach ($customfields['1'] as $field) { ?>
     <br />
     <h5><?php echo $field['name']; ?>:</h5>
     <em><?php echo $field['value']; ?></em>
     <?php } ?>

(Für Foreninformationen)
Zitat:

<?php } foreach ($customfields['2'] as $field) { ?>
     <br />
     <h5><?php echo $field['name']; ?>:</h5>
     <em><?php echo $field['value']; ?></em>
     <?php } ?>

Diese beiden Werte dort löschen und dann nach folgendem Text suchen:

Zitat:

<?php
if($imanz > 0) {
    echo iif($row->icq > 0, '<a style="display: block;" href="profile.php?action=ims&type=icq&id='.$row->id.SID2URL_x.'"><img src="'.$tpl->img('icq').'" alt="'.$lang->phrase('im_icq').'" /> '.$row->icq.'</a>');
    echo iif($row->aol,'<a style="display: block;" href="profile.php?action=ims&type=aol&id='.$row->id.SID2URL_x.'"><img src="'.$tpl->img('aol').'" alt="'.$lang->phrase('im_aol').'" /> '.$row->aol.'</a>');
    echo iif($row->msn,'<a style="display: block;" href="profile.php?action=ims&type=msn&id='.$row->id.SID2URL_x.'"><img src="'.$tpl->img('msn').'" alt="'.$lang->phrase('im_msn').'" /> '.$row->msn.'</a>');
    echo iif($row->yahoo,'<a style="display: block;" href="profile.php?action=ims&type=yahoo&id='.$row->id.SID2URL_x.'"><img src="'.$tpl->img('yahoo').'" alt="'.$lang->phrase('im_yahoo').'" /> '.$row->yahoo.'</a>');
    echo iif($row->jabber,'<a style="display: block;" href="profile.php?action=ims&type=jabber&id='.$row->id.SID2URL_x.'"><img src="'.$tpl->img('jabber').'" alt="'.$lang->phrase('im_jabber').'" /> '.$row->jabber.'</a>');
    echo iif($row->skype,'<a style="display: block;" href="profile.php?action=ims&type=skype&id='.$row->id.SID2URL_x.'"><img src="'.$tpl->img('skype').'" alt="'.$lang->phrase('im_skype').'" /> '.$row->skype.'</a>');
    }
else {
echo $lang->phrase('profile_no_im');
}
?>
</td>
    </tr>

Danach folgendes einfügen:

Zitat:

<tr>
<th>Name der 1. Rubrik (Bsp.:Lieblings...)</th>
<th>Name der 2. Rubrik(Bsp.:Sonstige Informationen)</th>
</tr>
<tr class="tbody profiledata">
     <td valign="top">
<?php foreach ($customfields['1'] as $field) { ?>
     <br />
     <h5><?php echo $field['name']; ?>:</h5>
     <em><?php echo $field['value']; ?></em>
     <?php } ?>
</td>
<td valign="top">
<?php } foreach ($customfields['2'] as $field) { ?>
     <br />
     <h5><?php echo $field['name']; ?>:</h5>
     <em><?php echo $field['value']; ?></em>
     <?php } ?>

</td>
</tr>

Danach speichern und hochladen!

Im Anhang seht ihr wie es dann aussehen sollte!
Dateianhänge:
profile.jpg (Dateigröße: 488,06 KB)

Philipp 29.07.2007, 12:30
Betreff: Re: Profilübersicht - Eigene Profilfelder

Als kleine Erweiterung des Hacks:
Wenn man trotzdem noch oben noch Profilfelder hinzufügen will kann man auch mehrere Möglichkeiten festlegen.

Unter dem Ordner Admin ist die Datei "profilefield.php".
Diese öffnen und nach diesem Code suchen:
DownloadPHP-Quelltext:
  1. $viewable = array(
  2.         '0' => 'Hidden',
  3.         '1' => 'Personal information',
  4.         '2' => 'Forum information',
  5.         '3' => 'Contact information'
  6. );
Hier kann dann einfach eine neue Kategorie hinzugefügt werden.
Beispiel:
DownloadPHP-Quelltext:
  1. ,
  2. '4' => 'Rubrik 4'

Eingebaut:
DownloadPHP-Quelltext:
  1. $viewable = array(
  2.         '0' => 'Hidden',
  3.         '1' => 'Personal information',
  4.         '2' => 'Forum information',
  5.         '3' => 'Contact information',
  6.         '4' => 'Rubrik 4'
  7. );

Wichtig ist dabei das man an der Zeile drüber ein "," (Komma) anhängt.

Nun damit diese Rubrik dann angezeigt wird muss im Template Ordner unter Profile die "index.html" geöffnet werden.

Dort nach diesem Teil suchen:
DownloadPHP-Quelltext:
  1. <?php
  2. if($imanz > 0) {
  3.     echo iif($row->icq > 0, '<a style="display: block;" href="profile.php?action=ims&type=icq&id='.$row->id.SID2URL_x.'"><img src="'.$tpl->img('icq').'" alt="'.$lang->phrase('im_icq').'" /> '.$row->icq.'</a>');
  4.     echo iif($row->aol,'<a style="display: block;" href="profile.php?action=ims&type=aol&id='.$row->id.SID2URL_x.'"><img src="'.$tpl->img('aol').'" alt="'.$lang->phrase('im_aol').'" /> '.$row->aol.'</a>');
  5.     echo iif($row->msn,'<a style="display: block;" href="profile.php?action=ims&type=msn&id='.$row->id.SID2URL_x.'"><img src="'.$tpl->img('msn').'" alt="'.$lang->phrase('im_msn').'" /> '.$row->msn.'</a>');
  6.     echo iif($row->yahoo,'<a style="display: block;" href="profile.php?action=ims&type=yahoo&id='.$row->id.SID2URL_x.'"><img src="'.$tpl->img('yahoo').'" alt="'.$lang->phrase('im_yahoo').'" /> '.$row->yahoo.'</a>');
  7.     echo iif($row->jabber,'<a style="display: block;" href="profile.php?action=ims&type=jabber&id='.$row->id.SID2URL_x.'"><img src="'.$tpl->img('jabber').'" alt="'.$lang->phrase('im_jabber').'" /> '.$row->jabber.'</a>');
  8.     echo iif($row->skype,'<a style="display: block;" href="profile.php?action=ims&type=skype&id='.$row->id.SID2URL_x.'"><img src="'.$tpl->img('skype').'" alt="'.$lang->phrase('im_skype').'" /> '.$row->skype.'</a>');
  9.     }
  10. else {
  11. echo $lang->phrase('profile_no_im');
  12. }
  13. ?>
  14. </td>
  15.     </tr>

Und danach dieses einfügen:
DownloadPHP-Quelltext:
  1. <tr>
  2. <th colspan="2">Name der Rubrik (Bsp.:Lieblings...)</th>
  3. </tr>
  4. <tr class="tbody profiledata">
  5.      <td valign="top" colspan="2">
  6. <?php foreach ($customfields['4'] as $field) { ?>
  7.      <br />
  8.      <h5><?php echo $field['name']; ?>:</h5>
  9.      <em><?php echo $field['value']; ?></em>
  10.      <?php } ?>
  11. </td>
  12. </tr>

Wobei in diesem Teil die Zahl (hier 4) die selbe sein muss wie sie in der profilefield.php sie eingetragen haben.
<?php foreach ($customfields['4'] as $field) { ?>

OrangeAleX 22.08.2007, 12:27
Betreff: Re: Profilübersicht - Eigene Profilfelder

sehr sehr gute Sache, genau sowas hab ich gesucht.

Aber (jaja das böse aber)
kann ich spezielle Customfields verlinken?

Beispiel

ich adde ein customfield test1
das was dort eingetragen wird, soll im Forum, dort wo es angezeigt wird, als link angezeigt werden.

z.b. so. das der link generiert wird http://dasisteineadesse/*inhaltdescustomfieldstest1*
ich als admin möchte aber auch festlegen wie der linkname lautet...

<a href="http://http://dasisteineadesse/*inhaltdescustomfieldstest1*">name des links</a>

ist das irgendwie noch machbar?

MaMo 22.08.2007, 17:11
Betreff: Re: Profilübersicht - Eigene Profilfelder

Hi,

nein, ohne "manuelle Hackerei" ist das derzeit nicht möglich.

Mit freundlichen Grüßen MaMo