Seite 1 von 3

Verfasst: 02.05.2002 12:50
von Acid
..ma so auf die schnelle gesagt, wär´s das einfachste Du benutzt nicht die MoreSmilee Funktion des Boardes (da das alles über die functions_post.php geht und a bissel vertrackt is) und erstellst Dir dafür Deine eigenes MoreSmilee Popup... :oops:

Verfasst: 02.05.2002 14:50
von Acid
Ich hab im Moment ned die Zeit es auszuprobieren...

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> ";
   } 

?>
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..

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>
mit..

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>
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...

Verfasst: 03.05.2002 14:23
von saerdnaer
@acid: du kommst auf ideen :D du hättest auch ganz einfach die funktion generate_pagination() für das aufteilen hernehmen können...

ah

Verfasst: 03.05.2002 22:49
von Acid
scho .. 8)

Aber so isses für ihn einfacher..

Da ich es früher im 1er Board es auf diese Weise geregelt hatte, konnte
ich es einfach so hinschreiben ohne es zu testen (bin halt faul). :oops:

Verfasst: 08.05.2002 02:21
von Gast
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).

Nochmal ne Frage hierzu

Verfasst: 06.09.2002 10:58
von Marquee
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:

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 -->
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

Verfasst: 08.09.2002 03:51
von Marquee
ein Problem hab ich lösen können... es werden jetzt pro Seite verschiedene Smilies angezeigt.. hatte was übersehen .. osrry :oops:

Fehlt mir nur noch, wie ich das Template dort fortführen kann...

Dank Euch nochmal.. falls Jemand mir ne Erklärung bauen kann :)

Gruß

Maloon

Verfasst: 08.09.2002 09:58
von Acid
Wie gesagt, wenn Du <link rel="stylesheet" href="templates/subSilver/subSilver.css" type="text/css"> an den Anfang dieser Dateien schreibst (ausserhalb von <? .. ?>), sollten die Style Sheets doch eigentlich übernommen werden..

Verfasst: 08.09.2002 13:43
von Marquee
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 :D

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. :oops:

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

Gruß

Maloon

Verfasst: 11.09.2002 03:51
von Marquee
hmm.. kann mir nicht jemand die smilee1.php mal posten, die ds Template untersützt?

Biiitte :cry:

Gruß

Maloon