|
|
Latest News |
Latest Threads |
|
 |
55.784 Posts & 4.945 Themen in 78 Foren |
|
|
|
 |
Forensuche |
|
Suchbegriff |
Benutzerauswahl |
Ergebnisse anzeigen |
 |
 |
Smilieanordnung "verbessern" ? 12 Beiträge in diesem Thema |
|
|
 |
|
|
 |
|
 |
07.09.2012 - 17:24 Uhr |
|
|
|
Hi,
ich habe wieder etwas rumgebastelt und nun ein Problem mit den Smilies.
Wie auf diesem Bild zu sehen sieht das aus als hätte man allen in nen zu kleinen Raum gesteckt und die verteilen sich dort lustig. Da ich nicht alle Smilies auf die selbe größe bringen will hätte ichs gerne wie unten umgebaut, weiß nur nicht wie. Gibts ne Möglichkeit a) die Anzahl der Smilies die pro Reihe angezeigt werden sollen festzulegen und b) diese dann in z.b. eine Tabellenzeile zu packen ?
Also angenommen ich leg pro Zeile 5 Smilies fest
dann bräucht ich ne Möglichkeit das so zu bauen
format_smilies
| Quellcode <table>
<tr>
<td>Smilies</td>
</tr>
$smilies_row
</table> | |
format_smilies_row
| Quellcode
<tr>
$smilies_row_td
</tr>
| |
format_smilies_row_td
| Quellcode <td>$smilies_row_smilie</td>
<td>$smilies_row_smilie</td>
<td>$smilies_row_smilie</td>
<td>$smilies_row_smilie</td>
<td>$smilies_row_smilie</td> | |
format_smilies_row_smilie
| Quellcode <img blablubb /> | |
bisher müßt es ja so sein
format_smilies
| Quellcode <table>
<tr>
<td>Smilies</td>
</tr>
<tr>
<td>
$smilies_row
</td>
</tr>
</table> | |
format_smilies_row
| Quellcode <img blablubb /> | |
Muß ja irgendwie zu machen sein hmpf
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von fireball1982 - 07.09.2012 - 17:26 Uhr |
|
|
|
|
|
|
|
 |
|
 |
08.09.2012 - 00:12 Uhr |
|
|
|
Durch die unterschiedlichen Größen der Smilies ist das leider nicht die Lösung :/
http://s14.directupload.net/file/d/3007/43wnzto9_png.htm
edit: vergiss die ganze Sache, ich kuck das Wochenende mal das ich irgendeine Popuplösung wie per pn geschrieben finde, muß ja zu machen sein, durch die unterschiedlichen Größen der Smilies würde es wohl so oder so schei**e aussehen. Danke trotzdem für den Versuch 
|
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von fireball1982 - 08.09.2012 - 00:25 Uhr |
|
|
|
|
|
|
|
 |
WEBI Unberechenbares Urgestein |
 |
|
|
|
|
|
|
|
|
 |
08.09.2012 - 01:05 Uhr |
|
|
|
Oder aber ganz simpel lösen, wie es hier (beinahe) der Fall ist.
In etwa Gleichgrosse Smilies, ggf. mit einer Ausnahme seitlich des Textareas publizieren, die restlichen über das PopUp laufen lassen. Schon würde auch k!r!ka seine Variante, Wunder bewirken. Hier zb. wird auf ein weiteres PopUp verzichtet, trotz weiterer Smilies. Im Grunde werden nur die wenigsten der extravaganten Smilies genutzt, weswegen es im Grunde Unnütz ist, vorallem aber einen unschönen Eindruck hinterlässt x Optisch- sowie Grössen-Verschiedene Smilies am Rand des Textareas anzubieten.
|
|
|
|
|
|
|
 |
|
 |
08.09.2012 - 05:45 Uhr |
|
|
|
Zitat Original geschrieben von fireball1982
Durch die unterschiedlichen Größen der Smilies ist das leider nicht die Lösung :/
http://s14.directupload.net/file/d/3007/43wnzto9_png.htm
edit: vergiss die ganze Sache, ich kuck das Wochenende mal das ich irgendeine Popuplösung wie per pn geschrieben finde, muß ja zu machen sein, durch die unterschiedlichen Größen der Smilies würde es wohl so oder so schei**e aussehen. Danke trotzdem für den Versuch |
Naja, ich hab mich absicht eine CSS-Lösung genommen. Diese ist natürlich nur bei gleichgroßen Smilies wirklich brauchbar.
Aber nach deinen Bild nach ist sowieso höchstens für 4 Smilies platz.
Und wenn wir das über php direkt lösen, würde die Smile-Box aufgrund der verschiedenen Größen eh nur in die Breite gezogen.
Wenn du die Variante wie in der PM machen möchtest, kannst du im Grunde den CSS-Code wie oben anwenden. Da wirst du ja mehr Platz in der Breite haben, als wie es jetzt nach deinen Bild ist ;o
|
|
|
|
|
|
|
 |
|
 |
08.09.2012 - 19:57 Uhr |
|
|
|
Zitat Original geschrieben von WEBI
Oder aber ganz simpel lösen, wie es hier (beinahe) der Fall ist.
In etwa Gleichgrosse Smilies, ggf. mit einer Ausnahme seitlich des Textareas publizieren, die restlichen über das PopUp laufen lassen. Schon würde auch k!r!ka seine Variante, Wunder bewirken. Hier zb. wird auf ein weiteres PopUp verzichtet, trotz weiterer Smilies. Im Grunde werden nur die wenigsten der extravaganten Smilies genutzt, weswegen es im Grunde Unnütz ist, vorallem aber einen unschönen Eindruck hinterlässt x Optisch- sowie Grössen-Verschiedene Smilies am Rand des Textareas anzubieten. |
Wenn ich das entscheiden könnte würde ich die "unförmigen" auch ins Popup tun, aber es ist halt gewünscht das die direkt angezeigt werden. Sowas wie hier möcht ich mir ja bauen mal sehen ob ich das irgendwie hinbekomme.
@k!r!ka falls ich irgendwas hinbekomm kann ichs ja gerne hier posten
|
|
|
|
|
|
|
 |
|
 |
09.09.2012 - 00:48 Uhr |
|
|
|
So ich hab jetzt mal was, was mir optisch ganz gut gefällt und für mich auch funktioniert, auch wenn es mit unterschiedlich großen Smilies nicht so schick wie hier wird.
Funktioniert eigentlich wie die Geschichte mit der aufklappbaren Kommentarfunktion.
Im CSS hab ich des hinzugefügt
| Quellcode
.showsmilies {
display: none;
}
.displaysmilies {
position: absolute;
top: 4px;
left: 200px;
} | |
dann habe ich das forum/newpost Template hergenommen und ganz oben ein Stück Javascript eingefügt
| Quellcode
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".displaysmilies").hide();
$(".showsmilies").show();
$(".showsmilies").click(function(){
$(".displaysmilies").slideToggle();
});
});
</script> | |
Da mein newpost Template etwas anders ausschaut als es normal ist müßte es bei dem normalen Template ungefähr so aussehen
| Quellcode
<tr>
<td style="vertical-align: top;">BB-Code</div>
<td>$sign_format2<div style="position: relative;"><div class="displaysmilies">$sign_format</div></div></td>
</tr>
| |
Vorher habe ich BB-Code und Smilies getrennt, irgendwo im Forum hier gibts da auch nen Post von Webi glaub ich.
sign_format 2 steht halt für die BB-Codes und sign_format für die Smilies. Das div mit dem style="position: relative;" ist dafür da damit das nachfolgende div absolute positioniert werden kann (richtet sich nach dem Element darüber) - gibt sicher auch andere Möglichkeiten aber für mich geht es so.
Das div displaysmilies wird nicht angezeigt, erst wenn man auf den BB-Code klickt.
Diese Änderung muß man dann noch in den anderen Templates einbauen wo man Smilies auswählen kann, editpost, bei der Kommentarfunktion, im Gästebuch, etc.
Dann hab ich im Template format_text diese Zeile eingefügt am Ende
| Quellcode <a class="showsmilies" href="#showsmilies"><img style="padding-right: 4px;" src="$style[style_images]/bbcode/smilies.png" alt="Smilie einfügen" title="Smilie einfügen" /></a> | |
(wie gesagt bei mir sieht alles bissel anders aus, normal sind da glaub ich noch Tabellenspalten)
Die Grafik muß man sich halt selber machen.
Das Template format_smilies müßte in etwa so aussehen
| Quellcode <table>
<tr>
<td>Smilies</td>
</tr>
<tr>
<td>$smilies_row</td>
</tr>
$smilies_more
</table> | |
Der Tabelle muß man eben ne feste Breite geben, bei mir sind die divs 200px in der Breite. Dann werden die Smilies später Reihenweise dargestellt (auch wenns immernoch wie aufm Hühnerhaufen aussieht).
Template format_smilies_row
sollte in etwa so aussehen
| Quellcode <a href="javascript:;" onclick="singler('$smilies[smilie_code]');" onfocus="blur();"><img src="$smilies[smilie_path]" $smilie_size alt="$smilies[smilie_title]" title="$smilies[smilie_title]" /></a> | |
Das müßt es auch schon gewesen sein. Wenn man jetzt auf den Smilie BB-Code klickt fährt das Fenster aus und man kann seinen Smilie auswählen. Nochmal klick auf den bbcode und das Fenster fährt wieder ein.
Einziges Problem ist jetzt das die Grafik für den BB-Code auch angezeigt wird wenn Smilies nicht erlaubt sind. Könnt ihr mir da vllt. noch helfen ? vllt. müßte man dann den eingefügten Inhalt im Template format_text durch eine Variable ersetzen die ein Template mit dem BB-Code aufruft wenn Smilies erlaubt sind. Ich weiß aber nicht wie das geht -.-
|
|
|
|
|
|
|
 |
|
 |
09.09.2012 - 08:01 Uhr |
|
|
|
Zitat Das div mit dem style="position: relative;" ist dafür da damit das nachfolgende div absolute positioniert werden kann (richtet sich nach dem Element darüber) - gibt sicher auch andere Möglichkeiten aber für mich geht es so. |
Diese Variante ist absolut korrekt. Jeder andere Möglichkeit, die vll. noch gäbe, ist umständlicher und viel Anpassungfröhlich, da viele Browser es gibt *bisschen mach Joda*
---
Deine Frage / Dein Problem:
Ich hät eine bessere Variante für dich, vorallem weil sie Gobal wirkt.
Hier klicken zum aufklappenÖffne die Datei inc/func/default.php und suche das:
| PHP-Quelltext if ($count==1) eval ("\$smilies_more=\"".getTemplate("format_smilies_morelink","")."\";");
eval ("\$format_smilies=\"".getTemplate("format_smilies","")."\";"); | |
Und packe darunter das ein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | | PHP-Quelltext global
$USER,
$style
;
if (intval($USER['id'])===0)
{
unset($format_smilies);
}
else
{
$format_smilies =
'
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function()
{
$(".displaysmilies").hide();
$(".showsmilies").show();
$(".showsmilies").click(function()
{
$(".displaysmilies").slideToggle();
}
);
}
);
</script>
<a class="showsmilies" href="#showsmilies" title="Smilie einfügen"><img style="padding-right: 4px;" src="'.$style['style_images'].'/bbcode/smilies.png" /></a>
<div style="position: relative;">
<div class="displaysmilies">
'.$format_smilies.'
</div>
</div>
';
$format_smilies =trim($format_smilies);
} | |
---
Alternativ obiges als Template:
Hier klicken zum aufklappenÖffne die Datei inc/func/default.php und suche das:
| PHP-Quelltext if ($count==1) eval ("\$smilies_more=\"".getTemplate("format_smilies_morelink","")."\";");
eval ("\$format_smilies=\"".getTemplate("format_smilies","")."\";"); | |
Und packe darunter das ein:
| PHP-Quelltext global
$USER,
$style
;
if (intval($USER['id'])===0)
{
unset($format_smilies);
}
else
{
eval ("\$format_smilies=\"".getTemplate('format_smileBlock')."\";");
} | |
Template dafür mit den Namen format_smileBlock und folgenden Inhalt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | | Quellcode <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function()
{
$(".displaysmilies").hide();
$(".showsmilies").show();
$(".showsmilies").click(function()
{
$(".displaysmilies").slideToggle();
}
);
}
);
</script>
<a class="showsmilies" href="#showsmilies" title="Smilie einfügen"><img style="padding-right: 4px;" src="$style[style_images]/bbcode/smilies.png" /></a>
<div style="position: relative;">
<div class="displaysmilies">
$format_smilies
</div>
</div> | |
---
Rest ist dann CSS-Sache 
---
Ansonsten, wenn du deine Variante möchtest, dann müsstest du diesen Code aus dem Template format_text
| Quellcode <a class="showsmilies" href="#showsmilies"><img style="padding-right: 4px;" src="$style[style_images]/bbcode/smilies.png" alt="Smilie einfügen" title="Smilie einfügen" /></a> | |
in eine Variable packen, diese mit User eingelogt? abfragen und wenn Ja, bin eingelogt anzeigen lassen.
Abfragen tuste das in etwa so:
Hier klicken zum aufklappen | PHP-Quelltext if ($USER['id']!==0)
{
eval ("\$sign_format2=\"".getTemplate('format_smilies_link')."\";");
} | |
Um im neu erstellten Template format_smilies_link kommt dann der obige Code (s. Code-Block).
Hab hier einfach mal gesagt, das hinter den BB-Codes der Link erscheinen soll (Variable: $sign_format2). Einfach abändern, wenn der Link nicht sort sein soll und entsprechend bei diesen Code-Part von dir erweitern:
| Quellcode <tr>
<td style="vertical-align: top;">BB-Code</div>
<td>$sign_format2<div style="position: relative;"><div class="displaysmilies">$sign_format</div></div></td>
</tr> | |
|
|
|
|
|
|
|
 |
|
 |
09.09.2012 - 11:30 Uhr |
|
|
|
Puh, da komm ich nicht ganz mit.
Habe mal die 2. Lösung von dir genommen mit dem Template.
Dann habe ich das js aus forum/newpost wieder entfernt, ebenso die 2 divs in diesem Template da steht jetzt nur noch das $sign_format was wenn ichs richtig verstehe jetzt die variable für die Grafik ist.
Den Grafiklink aus format_text hab ich auch wieder entfernt.
Jetzt werden die Smilies nicht angezeigt wenn sie deaktiviert sind, sehr cool Hab ich des so richtig eingebaut ?
Ich müßte also nur überall wo Smilies eingefügt werden können das $sign_format einfügen und die Berechtigung wird geprüft ?!
Ist natürlich Prima, so ists viel besser 
Ein kleines Schönheitsproblem hab ich noch, die Grafik für den Smilie bbcode erscheint nun in ner neuen Zeile kann ich das irgendwie verhindern ohne float zu benutzen (mag float nicht ) ?
EDIT:
der Fehler hat sich erledigt, die bbcodes standen in nem div für das padding, hab das div entfernt und das padding direkt in die img tags genommen, nun haut es hin 
Dankeschön, super Arbeit
|
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von fireball1982 - 09.09.2012 - 11:36 Uhr |
|
|
|
|
|
|
|
 |
|
 |
09.09.2012 - 11:47 Uhr |
|
|
|
Diese Lösung gilt halt für alle Stellen, wo BB-Codes und Smilies Verwendung findet. Das heist, die Änderung, die du in der forum/newpost.php gemacht hast, kannst du rückgängig machen, genauso wie in den Templates.
Und dank der 2. Möglichkeit, kann man es bequem abändern.
---
Aber was meinste mit Jetzt werden die Smilies nicht angezeigt wenn sie deaktiviert sind, sehr cool ?
Diesbezüglich hab ich nichts verändert oO Standardmässig ist das ja eigentlich schon drin 
Lediglich die User-Abfrage ist mit drin. Also ob eingelogt oder nicht.
Zitat Ich müßte also nur überall wo Smilies eingefügt werden können das $sign_format einfügen und die Berechtigung wird geprüft ?! |
Naja, $sign_format müsste dann ja erstmal gefüllt werden. Und das sind sie ja im Grunde an allen Stellen, wo Eingaben getätigt werden, und BB-Codes und Smilies anwendbar sein sollen.
|
|
|
|
|
|
|
 |
|
 |
09.09.2012 - 11:53 Uhr |
|
|
|
Standardmässig werden zwar die Smilies nicht angezeigt wenn deaktiviert, aber die Grafik (BB-Code) wurde halt trotzdem angezeigt. Durch deine Änderung wird die jetzt auch ausgeblendet, dass meinte ich, hab mich ungünstig ausgedrückt.
Gefällt mir sehr gut die Lösung 
|
|
|
|
|
|
|
 |
|
 |
09.09.2012 - 11:56 Uhr |
|
|
|
Ach so, ja klar. Sollte ja nur für eingelogte User zu ersehen sein, wie du es wolltest 
|
|
|
|
|
|
|
 |
Ähnliche Themen |
|
Es wurden keine ähnlichen Themen gefunden.
|
|
|
|
|
|
|
|
|
|