
Smilies
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Ich hab im Moment ned die Zeit es auszuprobieren...
Du erstellst z.B. eine smilee1.php mit folgendem Inhalt:
Wie Du oben bei dem sql-Statement siehst, werden in dieser Datei die ersten 33 Smilees geladen (LIMIT 0,33).
Nun musst Du noch einen Link zu dieser smilee1.php in der posting_body.tpl setzen.
Dabei ersetzt Du am besten..
mit..
Wenn Du jetzt auf Beitrag schreiben gehst, siehst a Link zu der smilee1.php, welche aufploppt und Du einen der Smilees anklicken kannst.
Natürlich musst Du die Fenstergrösse und jeweilige Layoutwerte nach Deinen Wünschen ändern.
Wenn Du sagen wir mal 99 Smilees hast, erstellst Du drei solcher Dateien (smilee1, smilee2, smilee3) und änderst dabei jeweils in den Dateien das sql Limit (0,33 bzw. 34,66 bzw. 67,99). Anschliessend musst Du für diese 3 Dateien halt wie oben beschrieben in der posting_body.tpl einen Link setzen...
Du erstellst z.B. eine smilee1.php mit folgendem Inhalt:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
?>
<script language="javascript" type="text/javascript">
<!--
function emoticon(text) {
text = ' ' + text + ' ';
if (opener.document.forms['post'].message.createTextRange && opener.document.forms['post'].message.caretPos) {
var caretPos = opener.document.forms['post'].message.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
opener.document.forms['post'].message.focus();
} else {
opener.document.forms['post'].message.value += text;
opener.document.forms['post'].message.focus();
}
}
//-->
</script>
<?
$sql = "SELECT * FROM " . SMILIES_TABLE . " ORDER BY smilies_id LIMIT 0,33";
if ( !($results = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain smilee information', '', __LINE__, __FILE__, $sql);
}
while($m = $db->sql_fetchrow($results))
{
echo "<a href=\"javascript:emoticon('$m[code]')\"><img src=\"$phpbb_root_path/images/smiles/$m[smile_url]\" border=\"0\" alt=\"\" title=\"\" /></a> ";
}
?>
Nun musst Du noch einen Link zu dieser smilee1.php in der posting_body.tpl setzen.
Dabei ersetzt Du am besten..
Code: Alles auswählen
<span class="nav"><a href="{U_MORE_SMILIES}" onclick="window.open('{U_MORE_SMILIES}', '_phpbbsmilies', 'HEIGHT=300,resizable=yes,scrollbars=yes,WIDTH=250');return false;" target="_phpbbsmilies" class="nav">{L_MORE_SMILIES}</a>
Code: Alles auswählen
<a href="smilee1.php" onclick="window.open('smilee1.php', '_phpbbsmilies', 'HEIGHT=300,resizable=no,scrollbars=no,WIDTH=250');return false;" target="_phpbbsmilies" class="nav">Smilee Seite 1</a>
Natürlich musst Du die Fenstergrösse und jeweilige Layoutwerte nach Deinen Wünschen ändern.
Wenn Du sagen wir mal 99 Smilees hast, erstellst Du drei solcher Dateien (smilee1, smilee2, smilee3) und änderst dabei jeweils in den Dateien das sql Limit (0,33 bzw. 34,66 bzw. 67,99). Anschliessend musst Du für diese 3 Dateien halt wie oben beschrieben in der posting_body.tpl einen Link setzen...
Acid.
Ich habe eben diese Funktion mit LIMIT bei mir erweitert. Das Problem in der normalen function_post ist nur, dass die Smilies dabei nach der smilie.pak gezählt werden und nicht nach Namen.
Bsp ich habe in der PAK 64 verschiedene Namen, aber nur 48 Icons. In der Anzeige werden doppelte (Namen) aussortiert, aber die Zählung erfolgt nach Liste (PAK).
Ich habe eben diese Funktion mit LIMIT bei mir erweitert. Das Problem in der normalen function_post ist nur, dass die Smilies dabei nach der smilie.pak gezählt werden und nicht nach Namen.
Bsp ich habe in der PAK 64 verschiedene Namen, aber nur 48 Icons. In der Anzeige werden doppelte (Namen) aussortiert, aber die Zählung erfolgt nach Liste (PAK).
Nochmal ne Frage hierzu
Hallo,
ich habe es nach Acid's Anleitung hinbekommen, weitere Smilie-Fenster einzubauen und etsprechend zu verlinken
Das ganze hat aber 2 Haken
Zum einen, ich habe in der smilee2.php den Wert von 0,33 auf 34,66 geändert.. trotzdem wird der gleiche Inhalt wie bei der smilee1.php angezeigt
Ebenso bei smilee3.php etc.
Genügend Smilies liegen im images/smilies Ordner
Auch werden verschiedene Größenvorgaben des Fensters nicht berücksichtigt
Eintrag in posting_body_tpl:
Das zweite Problem ist, dass mein Template nicht fortgeführt wird 
Ich bekomm nur ne weisse Seite mit den Smilies
Da ich leider keine Ahnung von PHP und Html hab, bitte ich um Hilfe mit einer Art Anleitung, was muss ich finden, was ersetzen, was wo einfügen...
Vielen Dank im voraus für Eure Hilfe
Gruß
Maloon
ich habe es nach Acid's Anleitung hinbekommen, weitere Smilie-Fenster einzubauen und etsprechend zu verlinken
Das ganze hat aber 2 Haken

Zum einen, ich habe in der smilee2.php den Wert von 0,33 auf 34,66 geändert.. trotzdem wird der gleiche Inhalt wie bei der smilee1.php angezeigt


Genügend Smilies liegen im images/smilies Ordner

Auch werden verschiedene Größenvorgaben des Fensters nicht berücksichtigt

Eintrag in posting_body_tpl:
Code: Alles auswählen
<!-- BEGIN switch_smilies_extra -->
<tr align="center">
<td colspan="{S_SMILIES_COLSPAN}"><a href="smilee1.php" onclick="window.open('smilee1.php', '_phpbbsmilies', 'HEIGHT=600,resizable=yes,scrollbars=yes,WIDTH=850');return false;" target="_phpbbsmilies" class="nav">Smilie Seite 1</a></td>
<tr align="center">
<td colspan="{S_SMILIES_COLSPAN}"><a href="smilee2.php" onclick="window.open('smilee2.php', '_phpbbsmilies', 'HEIGHT=400,resizable=yes,scrollbars=yes,WIDTH=650');return false;" target="_phpbbsmilies" class="nav">Smilie Seite 2</a></td>
<tr align="center">
<td colspan="{S_SMILIES_COLSPAN}"><a href="smilee3.php" onclick="window.open('smilee3.php', '_phpbbsmilies', 'HEIGHT=600,resizable=yes,scrollbars=yes,WIDTH=850');return false;" target="_phpbbsmilies" class="nav">Smilie Seite 3</a></td>
<tr align="center">
<td colspan="{S_SMILIES_COLSPAN}"><a href="smilee4.php" onclick="window.open('smilee4.php', '_phpbbsmilies', 'HEIGHT=600,resizable=yes,scrollbars=yes,WIDTH=850');return false;" target="_phpbbsmilies" class="nav">Smilie Seite 4</a></td>
</tr>
<!-- END switch_smilies_extra -->

Ich bekomm nur ne weisse Seite mit den Smilies

Da ich leider keine Ahnung von PHP und Html hab, bitte ich um Hilfe mit einer Art Anleitung, was muss ich finden, was ersetzen, was wo einfügen...
Vielen Dank im voraus für Eure Hilfe

Gruß
Maloon
Hi 
naja.. das einzige was passiert, ist.. das nun ein Hintergrund da ist.. das ist aber leider nur ein kleiner Teil der Optik
Wär schön, wenn die einzelnen Fenster so aussehen würden, wie das Standardfenster, was man normalerweise hat
Ich nehme an, dass man dann für jedes Fenster Spalten- und Zeilenanzahl angeben müsste, wäre ja kein Prob und eher sogar gut
Da ich aber wirklich Null Ahnung von PhP und Html hab, ist es für mich natürlich sehr schwer diese Optik wieder herzustellen, bzw. zu übernehmen
Wenn ich die Vorlage gefunden hätte vom Orig-Fenster, hätt ich's mit Try and Error versucht, find das aber nicht
Ich denk mal, irgendwas mit Tabellen wird das zu tun haben... aber ka.. wie man sowas anlegt... etc.
Ich geb's ja zu.. ich bin 'n Unwissender
Gruß
Maloon

naja.. das einzige was passiert, ist.. das nun ein Hintergrund da ist.. das ist aber leider nur ein kleiner Teil der Optik

Wär schön, wenn die einzelnen Fenster so aussehen würden, wie das Standardfenster, was man normalerweise hat

Ich nehme an, dass man dann für jedes Fenster Spalten- und Zeilenanzahl angeben müsste, wäre ja kein Prob und eher sogar gut

Da ich aber wirklich Null Ahnung von PhP und Html hab, ist es für mich natürlich sehr schwer diese Optik wieder herzustellen, bzw. zu übernehmen
Wenn ich die Vorlage gefunden hätte vom Orig-Fenster, hätt ich's mit Try and Error versucht, find das aber nicht

Ich denk mal, irgendwas mit Tabellen wird das zu tun haben... aber ka.. wie man sowas anlegt... etc.

Ich geb's ja zu.. ich bin 'n Unwissender

Gruß
Maloon