XForum verändern 2

Begonnen von Enders, 18 Juli 2002, 02:41:31

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Enders

Wer kann mir sagen wie ich es am einfachsten hinbekomme, das die Smilies statt in 2 Spalten in 4 Spalten angezeigt werden.   Der org. Code sieht so aus.

$querysmilie = mysql_query("SELECT * FROM $table_smilies WHERE type='smiley'") or die(mysql_error());
echo "<table border=\"1\" align=\"center\">";
$l = "on";
while($smilie = mysql_fetch_array($querysmilie)) {

if($l == "on") {
echo "<tr><td><a href=\"javascript:icon('$smilie[code]')\"><img src=\"modules/XForum/images/$smilie[url]\" border=\"0\"></a></td>";
} else {
echo "<td><a href=\"javascript:icon('$smilie[code]')\"><img src=\"modules/XForum/images/$smilie[url]\" border=\"0\"></a></td></tr>";
}

if($l == "on") {
$r = "on";
$l = "off";
} else {

$l = "on";
$r = "off";
}
}

if($l == "off") {
echo "<td> </td></tr>";
}

echo "</table>\n";


Diese Zeilen stammen aus der post.php.

Vielen Dank

tequila

So, hier bekommst Du die eBoard-Funktion, die dafür zuständig ist:

 
function affTableSmilies()
{
  global $table_smilies, $dbxf, $smiliesrownumber;

  $str = "";
  $totalsmilies = 5 * $smiliesrownumber;
  $querysmilie = $dbxf->sql_query("SELECT * FROM $table_smilies WHERE type='smiley' limit 0, $totalsmilies");

  $str .= "<table border=\"0\" align=\"center\">";
  $l = 'on';
  $count = 1;

  while($smilie = $dbxf->sql_fetch_object($querysmilie))
  {
    if($l == 'on')
    {
 if($count == 1){$str .= "<tr>";}
 $count++;
      $str .= "<td align=center><a href=\"javascript:insertAtCaret('".$smilie->code."','')\"><img src=\""._BASEMODIMG."/".$smilie->url."\" border=\"0\"></a></td>";
    }
    else
    {
      $str .= "<td align=center><a href=\"javascript:insertAtCaret('".$smilie->code."','')\"><img src=\""._BASEMODIMG."/".$smilie->url."\" border=\"0\"></a></td></tr>";
    }

if(($l == 'on' && $count < $smiliesrownumber) || $count == 1 ) { $l = 'on'; }
    else { $l = 'off'; $count = 1;}
  }

  if($l == 'off') { $str .= "<td> </td></tr>"; }
  $str .= "</table>\n";

return $str;
}
 

$smilierownumber steht für die Anzahl der Spalten, bei Dir muß dann da also 4 stehen.

Viel Spaß damit ;)

tequila

Alles, was da als " " oder "&nb sp" steht ist ein Kopier-Fehler, das steht nur für ein Leerzeichen und soll natürlich nicht mit übernommen werden!

Enders

Hm , jetzt bekomme ich kar keine Smilies mehr. Aber auch kein Fehler.

Kann ich den Code so übernehmen oder muß es für das XForum angepasst werden.

 :quest

tequila

Übernehmen kannst Du das nicht, hier ist es ja eine Funktion, im XForum ist es noch einfach ein Code-Block. Dich interessiert nur dieser Teil:

 
if(($l == 'on' && $count < $smiliesrownumber) || $count == 1 ){ $l = 'on'; }
else{ $l = 'off'; $count = 1;}
}

if($l == 'off') { $str .= "<td> </td></tr>"; }
$str .= "</table>\n";
 

Außerdem mußt du eben noch bei jeder Ausgabe den $count hochzählen lassen. Ist Deine gewünschte Anzahl von Spalten (also 4) erreicht wird mit einem BR umgebrochen, sonst macht er weiter ....

Marty

Könnt ihr das nochmal für absolute Idioten (also mich) erklären. Wie ich in welcher Datei was, wie verändern muss??

tequila

So, hab den Code jetzt mal versucht für das XForum zu ändern. Ob es geht, keine Ahnung. Probiert es aus.


$lines = 5;
$rows = 4;
$totalsmilies = $lines * $rows;

$querysmilie = mysql_query("SELECT * FROM $table_smilies WHERE type='smiley' LIMIT 0, $totalsmilies") or die(mysql_error());
echo "<table border=\"1\" align=\"center\">";
$l = "on";
while($smilie = mysql_fetch_array($querysmilie)) {

if($l == "on") {
 
if($count == 1){echo = "<tr>";}

 $count++;
echo "<td><a href=\"javascript:icon('$smilie[code]')\"><img src=\"modules/XForum/images/$smilie[url]\" border=\"0\"></a></td>";

} else {

echo "<td><a href=\"javascript:icon('$smilie[code]')\"><img src=\"modules/XForum/images/$smilie[url]\" border=\"0\"></a></td></tr>";
}

if(($l == 'on' && $count < $rows) || $count == 1 ){ $l = 'on'; }

else{ $l = 'off'; $count = 1;}

}
}

if($l == "off") {
echo "<td> </td></tr>";
}

echo "</table>\n";



Zu finden sollte der ganze Kram in der "post.php" sein .....
Hier oben steht eben der Originalcode und der muß gegen diesen hier ersetzt werden .....
Mehr Erklärungen gibt es jetzt von mir nicht, eBoard hat es drinnen ;)

[Editiert am 18/7/2002 von SiteAdmin Tequila]

[Editiert am 18/7/2002 von SiteAdmin Tequila]

Enders

Hallo @Tequila

Besten Dank für deine Hielfe  

Ich musste noch etwas abändern, aber nun funzt das ganze.
Ich habe übrigens auch schon nach dem eBoard gesucht, aber kein Modul davon gefunden.  Vieleicht ist es ja beim nächsten VKP dabei.

Hier nochmals der motifizierte Code:

<?

$lines = 5;

$rows = 4; // anzahl der Spalten //

$totalsmilies = $lines * $rows;



$querysmilie = mysql_query("SELECT * FROM $table_smilies WHERE type='smiley' LIMIT 0, $totalsmilies") or die(mysql_error());

echo "<table border=\"1\" align=\"center\">";

$l = "on";

while($smilie = mysql_fetch_array($querysmilie)) {



if($l == "on") {

if ($count == 1) {echo "<tr>"; }



 $count++;

echo "<td><a href=\"javascript:icon('$smilie[code]')\"><img src=\"modules/XForum/images/$smilie[url]\" border=\"0\"></a></td>";


} else {

echo "<td><a href=\"javascript:icon('$smilie[code]')\"><img src=\"modules/XForum/images/$smilie[url]\" border=\"0\"></a></td></tr>";

}

if(($l == 'on' && $count < $rows) || $count == 1 ){ $l = 'on'; }

else{ $l = 'off'; $count = 1;}

}

}

if($l == "off") {

echo "<td> </td></tr>";

}

echo "</table>\n";

if($validadministrator || $status == "Super Moderator" || $status == "Moderator") {
$topoption = "<input type=\"checkbox\" name=\"toptopic\" value=\"yes\" />"._TOPMSGQUES."";

?>

@marty wenn nötig kann ich dir die post.php auch per mail schicken. Mein Mail findest du im Profil.

Nochmals vielen Dank. Speziell an das Support Team hier  :thumbup:  :thumbup:

tequila

Danke für die Blumen und freut mich, das es geht.

Im nächsten großen VKP ist das eBoard natürlich drinnen, es wird auch später noch als eigenes Modul kommen.

Kannst Dich also noch todsuchen, wirst nix finden ;)

Enders

Na dann warten wir mal auf das große VKP.

 :thumbup:

Marty

so, ich hab den Code von Enders bekommen. Leider sind trotzdem 2 Spalten a 14 Zeilen zu sehen. Iast das weil ich vielleciht zu viele Smileies hab oda ein anderes Prob.

Enders

@Marty,

ich habe dein Forum von der Startseite aufgerufen und bin auch auf Antworten gegangen. Ich habe 4 oder 5 Spalten a. waren es 6 Zeilen?  Von welchen Smilies sprichst du eigendlich.  Wenn du die Smilies ansprichst du du für das Topic nehmen kannst, dann kann ich nur sagen, das ich diese auch nicht verändert haben wollte. Sondern die Rechts. Und da scheint es auch bei dir zu funktionieren.


Ja ich wollt auch die rechts und wenn ich (mit nem anderen member hab ichs auch versucht) auf antworten gehe gibts eben die massen an Zeilen! :cry

Marcello

Hallo,
ich hab den Code von Enders mal versucht einzubauen. Die Smilies sind zwar jetzt besser angeordnet dafür tritt wieder was anderes auf. Der Seiten-fuß ist plötzlich im Postfenster!?????
könnt Ihr mir da vielleicht kurz helfen?
Danke, Marko

Enders

@all

Nicht das hier was missverstanden wird. Der Code stammt nicht von mir, sonder wurde nur etwas mit Hilfe der Team Mitglieder modifiziert.

Hierbei ist @Tequila besonders aktiv daran beteiligt geweswn. Dafür nochmals besten Dank  :thumbup:  

Aber mal abgesehen davon, würde ich eh empfehlen auf das VKP Mxxx umzusteigen.
Dann erledigt sich das Problem Smilies von selbst.

Marcello

Umsteigen ist so ne Sache! Unsere Seite ist rst vor einer Woche online gegengen, da möchte ich nicht gleich wieder so ein Update machen.
Könnte mir hier vielleicht doch   noch jemand mit meinen "alten Sachen" ;) helfen?
Danke, Marcello
 http://fanzone.wnsc.at
Ach ja, das eboard als extramodul wär schon geil :cool: