Smilies

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag 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:
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag 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...
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag 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
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag 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:
Gast

Beitrag 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).
Benutzeravatar
Marquee
Mitglied
Beiträge: 77
Registriert: 26.05.2002 06:51

Nochmal ne Frage hierzu

Beitrag 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
Benutzeravatar
Marquee
Mitglied
Beiträge: 77
Registriert: 26.05.2002 06:51

Beitrag 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
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag 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..
Benutzeravatar
Marquee
Mitglied
Beiträge: 77
Registriert: 26.05.2002 06:51

Beitrag 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
Benutzeravatar
Marquee
Mitglied
Beiträge: 77
Registriert: 26.05.2002 06:51

Beitrag von Marquee »

hmm.. kann mir nicht jemand die smilee1.php mal posten, die ds Template untersützt?

Biiitte :cry:

Gruß

Maloon
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“