$userfields
<center><img style="margin-right: 5px;" src="http://www.newterritory.de/virtuell/images/irkanieni/klan_$fieldcontent.gif" align=left></center>
$userrating
Nun habe ich aber zwei userfields die Bilder machen sollen, was tun?
$userfields
<center><img style="margin-right: 5px;" src="http://www.newterritory.de/virtuell/images/irkanieni/klan_$fieldcontent.gif" align=left></center>
$userrating
Nun habe ich aber zwei userfields die Bilder machen sollen, was tun?
Wenn die Userfields Bilder machen sollen kannst du es nicht in thread_postbit machen, sondern in thread_userfields
Dort kannst du eine Fallunterscheidung machen ob es ein normales Feld ist oder eins für Bilder und dementsprechend Code ausgeben.
'$val[title]: $fieldcontent<br />'
Nun, das sagt nun gar nichts aus.
Oder '$val[Herkunftsland]: $land' darunter? Ich hasse php.
Nein, $fieldcontent muss so bleiben. Du musst halt auswählen ob es als Text da stehen soll oder als Bild über <img src="$fieldcontent"...
Das hat auch mit PHP nix zu tun, das sind einfach Platzhalter für jedes Userfield...
Wenn du da was dran änderst ändert sich das in allen Profilfeldern, da das halt eine Vorlage für ein Profilfeld ist mit den beiden Platzhaltern $val[title] und $fieldcontent und das wird für jedes Profilfeld wiederholt.
Die Frage ist nun: wie?
' $userfields
<center><img style="margin-right: 5px;" src="http://www.newterritory.de/virtuell/images/irkanieni/klan_$fieldcontent.gif" align=left></center>
$userrating
'
Damit funktioniert zumindest das eine.
Die Bilder heißen klan_*
Die für die Herkunftsstaaten staat_*
Meine Laienfähigkeiten sagen mir:
Gar nichts leider.
Wie sage ich dem crap dann nun "junge, da sind deine bilder"
Wie gesagt, dass was du da bisher hast muss raus, das funktioniert nur zufällig.
Du musst das was du da in das thread_postbit-Template eingetragen hast in das thread_userfield-Template eintragen.
Ah, ich versuch's mal.
Edit: Juhu, geht!
Danke.
Edit: Nur hübsch bekomm ich es nicht.
Nun andere Idee.
Wie komme ich an die Variablen eines Userfelds denn ran?
Wenn ich z.B. den Inhalt von einem unter die Signatur packen will.
Ach ja, Stand der Dinge:
ZitatAlles anzeigen<if($val[title]=="Herkunftsland")><then>
<span><img style="margin-right: 5px;" src="http://www.newterritory.de/anni/staaten/staat_$fieldcontent.gif"><br /></span>
</then><else>
<if($val[title]=="Klan")><then>
<span><img style="margin-right: 5px;" src="http://www.newterritory.de/virtuell/images/irkanieni/klan_$fieldcontent.gif"></span>
</then><else>
$val[title]:
</else></if>
</else></if> $fieldcontent<br />
Nur bekomme ich den Text noch nicht weg uuuund nun will ich die Flagge aber lieber unter die Sigtutur haben. Nur, wie?
Text ist weg.
von
Zitat</then><else>
$val[title]:
</else></if>
</else></if> $fieldcontent<br />
zu
Zitat</then><else>
$val[title]: $fieldcontent<br />
</else></if>
</else></if>
Wenn ich $val[title] $fieldcontent
in das fhread_posdbit haue kommt immer nur der klan raus, das letzte der profilfelder.
Ja, aus dem gleichen Grund warum du es nicht ins thread_postbit schreiben solltest wie ich es oben schrieb;)
Müsstest halt erstmal in den PHP-Dateien die Variablen suchen und übergeben.
Wie übergebe ich die denn?
Wie die 'grob' heißen weiß ich ja.
Das kann ich dir nicht sagen, ich hab kein WBB2 mehr. Du musst in der thread.php nach der Übergabe ans Template suchen und dort die anderen Variablen hinzufügen.
Werde ich mal schauen, danke.
ZitatAlles anzeigenfunction makePostBit($posts, $count, $indentwidth = 0) {
global $thread, $board, $tpl, $wbbuserdata, $style, $lang, $session, $userratings, $showuserratinginthread, $showuserlevels,$
if ($this->userfieldcache) reset($this->userfieldcache);
$userrating = '';
$signature = '';
$lastedit = '';
$user_online = '';
$userfields = '';
$useravatar = '';
$rankimages = '';
$setvisible = '';
$userlevel = '';
$posts['username'] = htmlconverter($posts['username']);
$username = $posts['username'];
Hier macht er so Dinge, und zwar das Postbit wenn ich das richtig sehe, die Variablen noch leer.
ZitatAlles anzeigenif ($showuserfieldsinthread == 1 && is_array($this->userfieldcache) && count($this->userfieldcache)) {
while (list($key, $val) = each($this->userfieldcache)) {
$fieldcontent = textwrap($posts["field".$val['profilefieldid']], 20);
if ($fieldcontent && $fieldcontent != "0000-00-00") {
if ($val['fieldtype'] == "multiselect") $fieldcontent = str_replace("\n", "; ", $fieldconten$
elseif ($val['fieldtype'] == "date") {
$row_datearray = explode("-", $fieldcontent);
if ($row_datearray[0] == "0000") $fieldcontent = $row_datearray[2].".".$row_datearra$
else $fieldcontent = $row_datearray[2].".".$row_datearray[1].".".$row_datearray[0];
}
$fieldcontent = htmlconverter($fieldcontent);
eval("\$userfields .= \"".$tpl->get("thread_userfields")."\";");
Da holt er sich unter anderem die Input aus thread_userfields.
Zitatvar $userfieldcache = array();
userfields ist ein Array, was Sinn macht...
Das kann so in der Reihenfolge nicht funktionieren, außer du hast sehr viel weggelassen...
Außerdem sind Fehler im Code, die zu einem fatal error führen müssten.
Ist direkt rauskoplert.
Aber meine Programmierkenntnisse reichen leider nur für einen Zufallsgenerator via Java.
Eigentlich brauche ich doch 'nur': Guck mal bei user-id an Array(dem userfields) stelle X.
WENN ich in meinem Studium mal 5 Minuten aufgepasst habe schlürft er sich hier das userfield voll
ZitatAlles anzeigenif ($showuserfieldsinthread == 1) {
$userfields = ", uf.*";
$userfieldsjoin = "LEFT JOIN bb".$n."_userfields uf ON (uf.userid=p.userid)";
$result = $db->unbuffered_query("SELECT profilefieldid, title, fieldtype FROM bb".$n."_profilefields WHERE showinthr$
while ($row = $db->fetch_array($result)) {
$row['title'] = getlangvar($row['title'], $lang);
$this->userfieldcache[] = $row;
}
}
und nenn yas Dingen dann auch gleich uf.*
Vor Datenbanksachen habe ich nur Angst.
Ja, da wird das voll gemacht und nein, es wird nicht uf.* genannt.
Aber mit einzelnen Stellen kommt man nicht weit, vor allem da es die falschen sind und direkt rauskopiert worden sein kann es nicht, da
if ($val['fieldtype'] == "multiselect") $fieldcontent = str_replace("\n", "; ", $fieldconten$
kein gültiger PHP-Code ist, statt dem $ am Ende müsste t); kommen.
Ja, die Zeile war wohl nicht komplett, dann macht pico immer ein $ dahin.
Und wenn man es dann kopiert, naja.