Teammitglieder online
Support-Box
Neue Beiträge seit dem letzten Besuch.
Textbausteine des MODERATIONSTOOL
AB > PFAD > GENERATOR
FORUM > PFAD > GENERATOR
Unterstützung Lösungs-Probleme
Auffällige
User
Der Runde
Tisch
HÄUFIG GESTELLTE FRAGEN
Regeln und nützliche Hinweise
Neueste Themen
» Profil in beiträgen nur im blog deaktivieren.
von derforumde Gestern um 16:54

» [Invision] Editor über den Bildrand ziehbar + Schriftgrößenproblem
von Skouliki Mi 20 Nov 2024 - 8:06

» Passwort für meinen Adminbereich vergessen.
von Joost Sa 9 Nov 2024 - 10:13

» [Invision] Signatur wird nicht immer eingefügt
von Skouliki Mo 4 Nov 2024 - 16:33

» [Invision]  Schriftgröße Navigationsleiste, Links und Forenbeschreibungen
von Skouliki So 27 Okt 2024 - 13:29

» [Invision] Transparent Logohintergrund/Struktur
von Joost So 27 Okt 2024 - 12:58

» png wird im servimg in ein jpg umgewandelt
von Skouliki Mi 23 Okt 2024 - 20:26

» Passwort Vergessen (SilentHowl)
von Joost Do 17 Okt 2024 - 17:14

» [Invision] Hintergrundbild fixieren
von Skouliki Mo 14 Okt 2024 - 11:30

» Paßwort vergessen
von Joost So 13 Okt 2024 - 17:58

» Anti-Spam-Prüfung
von Hana19 Sa 12 Okt 2024 - 16:59

» Private Nachrichten bleiben im Postausgang hängen
von Skouliki Fr 11 Okt 2024 - 11:11

» [phpBB3] Mittelteil des Forums verschoben
von Eto Mo 7 Okt 2024 - 20:50

» [phpBB3] Farbpalette ändern
von Skouliki Mo 7 Okt 2024 - 10:08

» [Klassische Version] Account löschen
von Joost Sa 5 Okt 2024 - 21:05

» Chatbox einloggen nicht möglich
von Joost So 29 Sep 2024 - 8:01

» [phpBB2] Admin Passwort nicht korrekt
von Joost Do 26 Sep 2024 - 19:20

» Grid-Layout für alle Forumversionen verfügbar
von Joost Mi 18 Sep 2024 - 16:54

Farbauswahl - Codeprobleme

2 verfasser

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten

Farbauswahl - Codeprobleme Empty Farbauswahl - Codeprobleme

Beitrag von Giklo Do 30 Dez 2010 - 21:05

Hallo zusammen.
Ich versuche gerade, meine Farbtabelle für die Beiträge zu erweitern.
Hab schon über die SuFu folgende hilfreiche Anleitung gefunden: https://hilfe.forumieren.com/t14886-farbauswahl?highlight=farbauswahl

Ich hab nun folgende Probleme mit dem CSS und html:

Laut Julian soll ich ja folgende Abschnitte suchen:
Code:
<button style="color:FARBCODE;" onclick="bbfontstyle('[color=BBCODENAME]', '[/color]');selectWysiwyg(this, 'color');return false;" onmouseover="this.className='selectHover';" onmouseout="this.className='';">BBCODENAME 2</button><br />
Bei mir sieht es aber so aus:
Code:
<button style="color:red" onclick="bbfontstyle('[color=red]','[/color]');selectWysiwyg(this,'color');return false">{L_COLOR_RED}</button><br />
wo muss ich denn dann folgendes eintragen:
FARBECODE = red, orange, yellow...
BBCODENAME = rot, orange, gelb...
BBCODENAME 2 = Rot, Orange, Gelb... ?
(In meinem Code ist alles Englisch, wo kommt denn da der deutsche Teil hin?)

Also, z.B. ich nehme von dieser Farbtabelle die Farben: http://www.webdesign-city.de/farbtabelle_hexcode.html
und möchte die Farbe maroon #800000 einfügen, sieht dann der Code so aus?:
Code:
<button style="color:maroon" onclick="bbfontstyle('[color=maroon]','[/color]');selectWysiwyg(this,'color');return false">{L_COLOR_MAROON}</button><br />


Und wo ist der Teil von dem angezeigten Farbnamen? Im Forum steht dann ja nicht z.b: "red" sondern "Rot".

Und den html-Code für die Farben finde ich in meinem posting_body-Code auch nicht. scratch
Nur diesen Abschnitt:
Code:
<button style="color:red" id="text_editor_cmd_constructBBcode_select_color_red">{L_COLOR_RED}</button><br />
Was muss ich denn mit dem anstellen?

Ich will doch nur 8 Farben hinzufügen und etwas sortieren (von hell nach dunkel also weiß-gelb-rot-blau-grün-braun-schwarz) und dann sowas. silent Versteh nur Bahnhof. confused

(Es handelt sich um folgende Farben:
gold #FFD700
hotpink #FF69B4
crimson # DC143C
maroon #800000
orchid #DA70D6
purple #800080
lightskyblue #87CEFA
mediumseagreen #3CB371)

Danke schon mal im Vorraus! I love you
Giklo
Giklo
Meister
Meister

Weiblich Beiträge : 233
Anmeldedatum : 23.07.10
phpBB2

Nach oben Nach unten

Farbauswahl - Codeprobleme Empty Re: Farbauswahl - Codeprobleme

Beitrag von #Frank Do 30 Dez 2010 - 21:39

Ich kann dir morgen eine Antwort dazu geben.
Heute wird das nichts mehr.
Bei bestimmten Farben geht das so nicht.
Du musst da ein wenig anders vorgehen.
Aber wie gesagt kann ich das morgen machen, oder jemand anderes postet das hier.
#Frank
#Frank
Admin a.D.
Admin a.D.

Männlich Beiträge : 34614
Anmeldedatum : 13.08.08
keine
Mozilla Firefox phpBB2

Nach oben Nach unten

Farbauswahl - Codeprobleme Empty Re: Farbauswahl - Codeprobleme

Beitrag von #Frank Sa 1 Jan 2011 - 13:06

Ich zeige dir nun mal am Beispiel der Farbe Maroon, wie du die Zeile bearbeiten musst:
Der Erste Abschnitt. Du hast es ja jetzt so gemacht.:
Code:
<button style="color:maroon" onclick="bbfontstyle('[color=maroon]','[/color]');selectWysiwyg(this,'color');return false">{L_COLOR_MAROON}</button><br />
Für die Farbe musst du so Vorgehen:
Code:
<button style="color:#800000" onclick="bbfontstyle('[color=#800000]','[/color]');selectWysiwyg(this,'color');return false">Maroon</button><br />

Wenn du genau hinschaust, dann siehst du das die Bezeichnung von dir "maroon" durch den Farbcode für die Farbe ersetzt ist: "#800000" Auch der Name der Farbe muss in Klartext eingegeben werden.
Also nicht: {L_COLOR_MAROON} sondern Maroon.
Der Grund ist, das das hier: {L_COLOR_MAROON} eine Variable ist, die es aber nicht gibt.
Genau so ist es entsprechend bei den anderen Farben.
Noch mal ein Beispiel: Gold:
Code:
<button style="color:#FFD700" onclick="bbfontstyle('[color=#FFD700]','[/color]');selectWysiwyg(this,'color');return false">Gold</button><br />

Nun der Zweite Abschnitt den du umstellen / erweitern musst (hier muss die gleiche Reihenfolge der Farben wie oben eingehalten werden):
Du suchst diesen Bereich:
Code:
<button style="color:green" id="text_editor_cmd_constructBBcode_select_color_green">{L_COLOR_GREEN}</button><br />
Das musst du dann für die Farbe "Gold" so einsetzen:
Code:
<button style="color:#FFD700" id="text_editor_cmd_constructBBcode_select_color_#FFD700">Gold</button><br />
Wenn du das mit allen deinen Zusätzlichen Farben so gemacht hast, dann hast du es geschafft und die Änderung ist fertig.

Ich denke das du es so hin bekommen solltest.

Hier das ganze geänderte Template als TXT Datei zum Download:
http://www.file-upload.net/download-3093324/Template-posting_body.txt.html
#Frank
#Frank
Admin a.D.
Admin a.D.

Männlich Beiträge : 34614
Anmeldedatum : 13.08.08
keine
Mozilla Firefox phpBB2

Nach oben Nach unten

Farbauswahl - Codeprobleme Empty Re: Farbauswahl - Codeprobleme

Beitrag von Giklo Sa 1 Jan 2011 - 15:00

Super, danke! anbet
Wenn ich etwas Zeit hab, setz ich mich da ran.

Ich hoffe, ich darf hier noch mal schreiben, wenn ich Probleme hab (und das Thema wird nicht gleich geschlossen). clown
Giklo
Giklo
Meister
Meister

Weiblich Beiträge : 233
Anmeldedatum : 23.07.10
phpBB2

Nach oben Nach unten

Farbauswahl - Codeprobleme Empty Re: Farbauswahl - Codeprobleme

Beitrag von #Frank Sa 1 Jan 2011 - 15:45

Du kannst das Template so wie es in der TXT Datei ist übernehmen.
Dort sind die Farben die du oben gennant hast schon enthalten.
#Frank
#Frank
Admin a.D.
Admin a.D.

Männlich Beiträge : 34614
Anmeldedatum : 13.08.08
keine
Mozilla Firefox phpBB2

Nach oben Nach unten

Farbauswahl - Codeprobleme Empty Re: Farbauswahl - Codeprobleme

Beitrag von Giklo Sa 1 Jan 2011 - 17:15

Ok, super! Hab ich gemacht und veröffentlicht.

Habe auch den ColorPicker-Code aus "Allgemeines" - "Einstellungen" - "Beschreibung der Website", aber leider ist es jetzt die alte Farbauswahl.

Hab ich noch was vergessen oder übersehen?
Giklo
Giklo
Meister
Meister

Weiblich Beiträge : 233
Anmeldedatum : 23.07.10
phpBB2

Nach oben Nach unten

Farbauswahl - Codeprobleme Empty Re: Farbauswahl - Codeprobleme

Beitrag von #Frank Sa 1 Jan 2011 - 18:09

Wie soll ich das jetzt verstehen.
Wir waren uns doch einig, das du den Colorpicker nicht nutzen willst und dafür lieber deine Farben erweiterst.
Ich habe dir doch in das Template alle Farben eingesetzt, die du aufgezählt hast.
Sind die nicht dabei?

Noch was:
In der Expressantwort wird das nicht übernommen.
#Frank
#Frank
Admin a.D.
Admin a.D.

Männlich Beiträge : 34614
Anmeldedatum : 13.08.08
keine
Mozilla Firefox phpBB2

Nach oben Nach unten

Farbauswahl - Codeprobleme Empty Re: Farbauswahl - Codeprobleme

Beitrag von Giklo Sa 1 Jan 2011 - 19:53

Genau, den Colorpicker wollte ich doch nicht nutzen, daher musste ich doch den Code auch rausnehmen. Oder hätte der drin stehen bleiben können?

#Frank schrieb:
Noch was:
In der Expressantwort wird das nicht übernommen.
Ach so! Da hatte ich es natürlich nur ausprobiert.

Wollte jetzt eine normale Antwort erstellen, aber das geht nicht.
Auch wenn ich bei der Express-Antwort auf Vorschau klicke, dann erscheint das Portal? Suspect
Selbst wenn ich einen neuen Beitrag schreiben will. HILFE! confused
Giklo
Giklo
Meister
Meister

Weiblich Beiträge : 233
Anmeldedatum : 23.07.10
phpBB2

Nach oben Nach unten

Farbauswahl - Codeprobleme Empty Re: Farbauswahl - Codeprobleme

Beitrag von #Frank Sa 1 Jan 2011 - 20:03

Was nun verstehe ich gar nichts mehr.
Was hast du genau gemacht?
Hast du nur das Template ausgetauscht?
Hast du mal nachgesehen, ob das Template auch komplett übernommen wurde?
Es kann sein, das ein Teil unten in dem Template im Adminbereich nicht übernommen wurde.
#Frank
#Frank
Admin a.D.
Admin a.D.

Männlich Beiträge : 34614
Anmeldedatum : 13.08.08
keine
Mozilla Firefox phpBB2

Nach oben Nach unten

Farbauswahl - Codeprobleme Empty Re: Farbauswahl - Codeprobleme

Beitrag von Giklo Sa 1 Jan 2011 - 20:26

Oh je. Also, ich hab deinen Code noch einmal kopiert und eingefügt (und abgesendent). War tatsächlich das Ende nicht mit drin, warum auch immer.

Aber das Problem bleibt. Sad

Was ich vorher meinte mit dem Code vom Colorpicker:
Ich hatte hier in dem Beitrag ( https://hilfe.forumieren.com/t25071-farbtabelle-furs-forum-textfarbe-in-beitragen#157478 ) Zuckerpuppes Hilfe für den ColorPicker bekommen:
Zuckerpuppe schrieb:Guten Morgen, Giklo Smile

darf ich dich darauf hinweisen, dass Mehrfachpostings nicht erlaubt sind?
Du bist doch jetzt schon lange genug hier zugegen, dass du das wissen solltest.
Bitte halte dich zukünftig an die Regeln.

Solch ein Colorpicker ist ganz flott eingebaut. Dazu braucht man keine Templates, sondern kann das einfach über ein Script einsetzen.

Zuerst setzt du folgendes in dein CSS:
Code:

.colorpicker {
  width: 356px;
  height: 176px;
  overflow: hidden;
  position: absolute;
  background: url(http://tinyurl.com/colorpickerimg/colorpicker_background.png);
  font-family: Arial, Helvetica, sans-serif;
  display: none;
}
.colorpicker_color {
  width: 150px;
  height: 150px;
  left: 14px;
  top: 13px;
  position: absolute;
  background: #f00;
  overflow: hidden;
  cursor: crosshair;
}
.colorpicker_color div {
  position: absolute;
  top: 0;
  left: 0;
  width: 150px;
  height: 150px;
  background: url(http://tinyurl.com/colorpickerimg/colorpicker_overlay.png);
}
.colorpicker_color div div {
  position: absolute;
  top: 0;
  left: 0;
  width: 11px;
  height: 11px;
  overflow: hidden;
  background: url(http://tinyurl.com/colorpickerimg/colorpicker_select.gif);
  margin: -5px 0 0 -5px;
}
.colorpicker_hue {
  position: absolute;
  top: 13px;
  left: 171px;
  width: 35px;
  height: 150px;
  cursor: n-resize;
}
.colorpicker_hue div {
  position: absolute;
  width: 35px;
  height: 9px;
  overflow: hidden;
  background: url(http://tinyurl.com/colorpickerimg/colorpicker_indic.gif) left top;
  margin: -4px 0 0 0;
  left: 0px;
}
.colorpicker_new_color {
  position: absolute;
  width: 60px;
  height: 30px;
  left: 213px;
  top: 13px;
  background: #f00;
}
.colorpicker_current_color {
  position: absolute;
  width: 60px;
  height: 30px;
  left: 283px;
  top: 13px;
  background: #f00;
}
.colorpicker input {
  background-color: transparent;
  border: 1px solid transparent;
  position: absolute;
  font-size: 10px;
  font-family: Arial, Helvetica, sans-serif;
  color: #898989;
  top: 4px;
  right: 11px;
  text-align: right;
  margin: 0;
  padding: 0;
  height: 11px;
}
.colorpicker_hex {
  position: absolute;
  width: 72px;
  height: 22px;
  background: url(http://tinyurl.com/colorpickerimg/colorpicker_hex.png) top;
  left: 212px;
  top: 142px;
}
.colorpicker_hex input {
  right: 6px;
}
.colorpicker_field {
  height: 22px;
  width: 62px;
  background-position: top;
  position: absolute;
}
.colorpicker_field span {
  position: absolute;
  width: 12px;
  height: 22px;
  overflow: hidden;
  top: 0;
  right: 0;
  cursor: n-resize;
}
.colorpicker_rgb_r {
  background-image: url(http://tinyurl.com/colorpickerimg/colorpicker_rgb_r.png);
  top: 52px;
  left: 212px;
}
.colorpicker_rgb_g {
  background-image: url(http://tinyurl.com/colorpickerimg/colorpicker_rgb_g.png);
  top: 82px;
  left: 212px;
}
.colorpicker_rgb_b {
  background-image: url(http://tinyurl.com/colorpickerimg/colorpicker_rgb_b.png);
  top: 112px;
  left: 212px;
}
.colorpicker_hsb_h {
  background-image: url(http://tinyurl.com/colorpickerimg/colorpicker_hsb_h.png);
  top: 52px;
  left: 282px;
}
.colorpicker_hsb_s {
  background-image: url(http://tinyurl.com/colorpickerimg/colorpicker_hsb_s.png);
  top: 82px;
  left: 282px;
}
.colorpicker_hsb_b {
  background-image: url(http://tinyurl.com/colorpickerimg/colorpicker_hsb_b.png);
  top: 112px;
  left: 282px;
}
.colorpicker_submit {
  position: absolute;
  width: 22px;
  height: 22px;
  background: url(http://tinyurl.com/colorpickerimg/colorpicker_submit.png) top;
  left: 322px;
  top: 142px;
  overflow: hidden;
}
.colorpicker_focus {
  background-position: center;
}
.colorpicker_hex.colorpicker_focus {
  background-position: bottom;
}
.colorpicker_submit.colorpicker_focus {
  background-position: bottom;
}
.colorpicker_slider {
  background-position: bottom;
}


Dann erstellst du dazu eine HTML-Seite in deinem Forum, wo du folgendes einsetzt: (der Titel der HTML-Seite ist beliebig wählbar)
Code:
$(document).ready(function(){
if($('#color').length==0) return;
/**
 *
 * Color picker
 * Author: Stefan Petre www.eyecon.ro
 *
 * Dual licensed under the MIT and GPL licenses
 *
 */
(function ($) {
    var ColorPicker = function () {
        var
            ids = {},
            inAction,
            charMin = 65,
            visible,
            tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',
            defaults = {
                eventName: 'click',
                onShow: function () {},
                onBeforeShow: function(){},
                onHide: function () {},
                onChange: function () {},
                onSubmit: function () {},
                color: 'ff0000',
                livePreview: true,
                flat: false
            },
            fillRGBFields = function  (hsb, cal) {
                var rgb = HSBToRGB(hsb);
                $(cal).data('colorpicker').fields
                    .eq(1).val(rgb.r).end()
                    .eq(2).val(rgb.g).end()
                    .eq(3).val(rgb.b).end();
            },
            fillHSBFields = function  (hsb, cal) {
                $(cal).data('colorpicker').fields
                    .eq(4).val(hsb.h).end()
                    .eq(5).val(hsb.s).end()
                    .eq(6).val(hsb.b).end();
            },
            fillHexFields = function (hsb, cal) {
                $(cal).data('colorpicker').fields
                    .eq(0).val(HSBToHex(hsb)).end();
            },
            setSelector = function (hsb, cal) {
                $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
                $(cal).data('colorpicker').selectorIndic.css({
                    left: parseInt(150 * hsb.s/100, 10),
                    top: parseInt(150 * (100-hsb.b)/100, 10)
                });
            },
            setHue = function (hsb, cal) {
                $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
            },
            setCurrentColor = function (hsb, cal) {
                $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
            },
            setNewColor = function (hsb, cal) {
                $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
            },
            keyDown = function (ev) {
                var pressedKey = ev.charCode || ev.keyCode || -1;
                if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
                    return false;
                }
                var cal = $(this).parent().parent();
                if (cal.data('colorpicker').livePreview === true) {
                    change.apply(this);
                }
            },
            change = function (ev) {
                var cal = $(this).parent().parent(), col;
                if (this.parentNode.className.indexOf('_hex') > 0) {
                    cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
                } else if (this.parentNode.className.indexOf('_hsb') > 0) {
                    cal.data('colorpicker').color = col = fixHSB({
                        h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
                        s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
                        b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
                    });
                } else {
                    cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
                        r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
                        g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
                        b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
                    }));
                }
                if (ev) {
                    fillRGBFields(col, cal.get(0));
                    fillHexFields(col, cal.get(0));
                    fillHSBFields(col, cal.get(0));
                }
                setSelector(col, cal.get(0));
                setHue(col, cal.get(0));
                setNewColor(col, cal.get(0));
                cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
            },
            blur = function (ev) {
                var cal = $(this).parent().parent();
                cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
            },
            focus = function () {
                charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
                $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
                $(this).parent().addClass('colorpicker_focus');
            },
            downIncrement = function (ev) {
                var field = $(this).parent().find('input').focus();
                var current = {
                    el: $(this).parent().addClass('colorpicker_slider'),
                    max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
                    y: ev.pageY,
                    field: field,
                    val: parseInt(field.val(), 10),
                    preview: $(this).parent().parent().data('colorpicker').livePreview                   
                };
                $(document).bind('mouseup', current, upIncrement);
                $(document).bind('mousemove', current, moveIncrement);
            },
            moveIncrement = function (ev) {
                ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
                if (ev.data.preview) {
                    change.apply(ev.data.field.get(0), [true]);
                }
                return false;
            },
            upIncrement = function (ev) {
                change.apply(ev.data.field.get(0), [true]);
                ev.data.el.removeClass('colorpicker_slider').find('input').focus();
                $(document).unbind('mouseup', upIncrement);
                $(document).unbind('mousemove', moveIncrement);
                return false;
            },
            downHue = function (ev) {
                var current = {
                    cal: $(this).parent(),
                    y: $(this).offset().top
                };
                current.preview = current.cal.data('colorpicker').livePreview;
                $(document).bind('mouseup', current, upHue);
                $(document).bind('mousemove', current, moveHue);
            },
            moveHue = function (ev) {
                change.apply(
                    ev.data.cal.data('colorpicker')
                        .fields
                        .eq(4)
                        .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
                        .get(0),
                    [ev.data.preview]
                );
                return false;
            },
            upHue = function (ev) {
                fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
                fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
                $(document).unbind('mouseup', upHue);
                $(document).unbind('mousemove', moveHue);
                return false;
            },
            downSelector = function (ev) {
                var current = {
                    cal: $(this).parent(),
                    pos: $(this).offset()
                };
                current.preview = current.cal.data('colorpicker').livePreview;
                $(document).bind('mouseup', current, upSelector);
                $(document).bind('mousemove', current, moveSelector);
            },
            moveSelector = function (ev) {
                change.apply(
                    ev.data.cal.data('colorpicker')
                        .fields
                        .eq(6)
                        .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
                        .end()
                        .eq(5)
                        .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
                        .get(0),
                    [ev.data.preview]
                );
                return false;
            },
            upSelector = function (ev) {
                fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
                fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
                $(document).unbind('mouseup', upSelector);
                $(document).unbind('mousemove', moveSelector);
                return false;
            },
            enterSubmit = function (ev) {
                $(this).addClass('colorpicker_focus');
            },
            leaveSubmit = function (ev) {
                $(this).removeClass('colorpicker_focus');
            },
            clickSubmit = function (ev) {
                var cal = $(this).parent();
                var col = cal.data('colorpicker').color;
                cal.data('colorpicker').origColor = col;
                setCurrentColor(col, cal.get(0));
                cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el, ev);
            },
            show = function (ev) {
                var cal = $('#' + $(this).data('colorpickerId'));
                cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
                var pos = $(this).offset();
                var viewPort = getViewport();
                var top = pos.top + this.offsetHeight;
                var left = pos.left;
                if (top + 176 > viewPort.t + viewPort.h) {
                    top -= this.offsetHeight + 176;
                }
                if (left + 356 > viewPort.l + viewPort.w) {
                    left -= 356;
                }
                cal.css({left: left + 'px', top: top + 'px'});
                if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
                    cal.show();
                }
                $(document).bind('mousedown', {cal: cal}, hide);
                return false;
            },
            hide = function (ev) {
                if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
                    if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
                        ev.data.cal.hide();
                    }
                    $(document).unbind('mousedown', hide);
                }
            },
            isChildOf = function(parentEl, el, container) {
                if (parentEl == el) {
                    return true;
                }
                if (parentEl.contains) {
                    return parentEl.contains(el);
                }
                if ( parentEl.compareDocumentPosition ) {
                    return !!(parentEl.compareDocumentPosition(el) & 16);
                }
                var prEl = el.parentNode;
                while(prEl && prEl != container) {
                    if (prEl == parentEl)
                        return true;
                    prEl = prEl.parentNode;
                }
                return false;
            },
            getViewport = function () {
                var m = document.compatMode == 'CSS1Compat';
                return {
                    l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
                    t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
                    w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
                    h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
                };
            },
            fixHSB = function (hsb) {
                return {
                    h: Math.min(360, Math.max(0, hsb.h)),
                    s: Math.min(100, Math.max(0, hsb.s)),
                    b: Math.min(100, Math.max(0, hsb.b))
                };
            },
            fixRGB = function (rgb) {
                return {
                    r: Math.min(255, Math.max(0, rgb.r)),
                    g: Math.min(255, Math.max(0, rgb.g)),
                    b: Math.min(255, Math.max(0, rgb.b))
                };
            },
            fixHex = function (hex) {
                var len = 6 - hex.length;
                if (len > 0) {
                    var o = [];
                    for (var i=0; i<len; i++) {
                        o.push('0');
                    }
                    o.push(hex);
                    hex = o.join('');
                }
                return hex;
            },
            HexToRGB = function (hex) {
                var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
                return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
            },
            HexToHSB = function (hex) {
                return RGBToHSB(HexToRGB(hex));
            },
            RGBToHSB = function (rgb) {
                var hsb = {
                    h: 0,
                    s: 0,
                    b: 0
                };
                var min = Math.min(rgb.r, rgb.g, rgb.b);
                var max = Math.max(rgb.r, rgb.g, rgb.b);
                var delta = max - min;
                hsb.b = max;
                if (max != 0) {
                   
                }
                hsb.s = max != 0 ? 255 * delta / max : 0;
                if (hsb.s != 0) {
                    if (rgb.r == max) {
                        hsb.h = (rgb.g - rgb.b) / delta;
                    } else if (rgb.g == max) {
                        hsb.h = 2 + (rgb.b - rgb.r) / delta;
                    } else {
                        hsb.h = 4 + (rgb.r - rgb.g) / delta;
                    }
                } else {
                    hsb.h = -1;
                }
                hsb.h *= 60;
                if (hsb.h < 0) {
                    hsb.h += 360;
                }
                hsb.s *= 100/255;
                hsb.b *= 100/255;
                return hsb;
            },
            HSBToRGB = function (hsb) {
                var rgb = {};
                var h = Math.round(hsb.h);
                var s = Math.round(hsb.s*255/100);
                var v = Math.round(hsb.b*255/100);
                if(s == 0) {
                    rgb.r = rgb.g = rgb.b = v;
                } else {
                    var t1 = v;
                    var t2 = (255-s)*v/255;
                    var t3 = (t1-t2)*(h%60)/60;
                    if(h==360) h = 0;
                    if(h<60) {rgb.r=t1;    rgb.b=t2; rgb.g=t2+t3}
                    else if(h<120) {rgb.g=t1; rgb.b=t2;    rgb.r=t1-t3}
                    else if(h<180) {rgb.g=t1; rgb.r=t2;    rgb.b=t2+t3}
                    else if(h<240) {rgb.b=t1; rgb.r=t2;    rgb.g=t1-t3}
                    else if(h<300) {rgb.b=t1; rgb.g=t2;    rgb.r=t2+t3}
                    else if(h<360) {rgb.r=t1; rgb.g=t2;    rgb.b=t1-t3}
                    else {rgb.r=0; rgb.g=0;    rgb.b=0}
                }
                return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
            },
            RGBToHex = function (rgb) {
                var hex = [
                    rgb.r.toString(16),
                    rgb.g.toString(16),
                    rgb.b.toString(16)
                ];
                $.each(hex, function (nr, val) {
                    if (val.length == 1) {
                        hex[nr] = '0' + val;
                    }
                });
                return hex.join('');
            },
            HSBToHex = function (hsb) {
                return RGBToHex(HSBToRGB(hsb));
            },
            restoreOriginal = function () {
                var cal = $(this).parent();
                var col = cal.data('colorpicker').origColor;
                cal.data('colorpicker').color = col;
                fillRGBFields(col, cal.get(0));
                fillHexFields(col, cal.get(0));
                fillHSBFields(col, cal.get(0));
                setSelector(col, cal.get(0));
                setHue(col, cal.get(0));
                setNewColor(col, cal.get(0));
            };
        return {
            init: function (opt) {
                opt = $.extend({}, defaults, opt||{});
                if (typeof opt.color == 'string') {
                    opt.color = HexToHSB(opt.color);
                } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
                    opt.color = RGBToHSB(opt.color);
                } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
                    opt.color = fixHSB(opt.color);
                } else {
                    return this;
                }
                return this.each(function () {
                    if (!$(this).data('colorpickerId')) {
                        var options = $.extend({}, opt);
                        options.origColor = opt.color;
                        var id = 'collorpicker_' + parseInt(Math.random() * 1000);
                        $(this).data('colorpickerId', id);
                        var cal = $(tpl).attr('id', id);
                        if (options.flat) {
                            cal.appendTo(this).show();
                        } else {
                            cal.appendTo(document.body);
                        }
                        options.fields = cal
                                            .find('input')
                                                .bind('keyup', keyDown)
                                                .bind('change', change)
                                                .bind('blur', blur)
                                                .bind('focus', focus);
                        cal
                            .find('span').bind('mousedown', downIncrement).end()
                            .find('>div.colorpicker_current_color').bind('click', restoreOriginal);
                        options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
                        options.selectorIndic = options.selector.find('div div');
                        options.el = this;
                        options.hue = cal.find('div.colorpicker_hue div');
                        cal.find('div.colorpicker_hue').bind('mousedown', downHue);
                        options.newColor = cal.find('div.colorpicker_new_color');
                        options.currentColor = cal.find('div.colorpicker_current_color');
                        cal.data('colorpicker', options);
                        cal.find('div.colorpicker_submit')
                            .bind('mouseenter', enterSubmit)
                            .bind('mouseleave', leaveSubmit)
                            .bind('click', clickSubmit);
                        fillRGBFields(options.color, cal.get(0));
                        fillHSBFields(options.color, cal.get(0));
                        fillHexFields(options.color, cal.get(0));
                        setHue(options.color, cal.get(0));
                        setSelector(options.color, cal.get(0));
                        setCurrentColor(options.color, cal.get(0));
                        setNewColor(options.color, cal.get(0));
                        if (options.flat) {
                            cal.css({
                                position: 'relative',
                                display: 'block'
                            });
                        } else {
                            $(this).bind(options.eventName, show);
                        }
                    }
                });
            },
            showPicker: function() {
                return this.each( function () {
                    if ($(this).data('colorpickerId')) {
                        show.apply(this);
                    }
                });
            },
            hidePicker: function() {
                return this.each( function () {
                    if ($(this).data('colorpickerId')) {
                        $('#' + $(this).data('colorpickerId')).hide();
                    }
                });
            },
            setColor: function(col) {
                if (typeof col == 'string') {
                    col = HexToHSB(col);
                } else if (col.r != undefined && col.g != undefined && col.b != undefined) {
                    col = RGBToHSB(col);
                } else if (col.h != undefined && col.s != undefined && col.b != undefined) {
                    col = fixHSB(col);
                } else {
                    return this;
                }
                return this.each(function(){
                    if ($(this).data('colorpickerId')) {
                        var cal = $('#' + $(this).data('colorpickerId'));
                        cal.data('colorpicker').color = col;
                        cal.data('colorpicker').origColor = col;
                        fillRGBFields(col, cal.get(0));
                        fillHSBFields(col, cal.get(0));
                        fillHexFields(col, cal.get(0));
                        setHue(col, cal.get(0));
                        setSelector(col, cal.get(0));
                        setCurrentColor(col, cal.get(0));
                        setNewColor(col, cal.get(0));
                    }
                });
            }
        };
    }();
    $.fn.extend({
        ColorPicker: ColorPicker.init,
        ColorPickerHide: ColorPicker.hidePicker,
        ColorPickerShow: ColorPicker.showPicker,
        ColorPickerSetColor: ColorPicker.setColor
    });
})(jQuery)

/**
 *
 * Color picker : added code using the color picker to change the picking color method on forumactif
 *
 */       
$('#wcolor,#color').html('<div></div>');

if(my_getcookie('defaultColor')) defaulColor=my_getcookie('defaultColor');
else defaulColor='000000';
$('#color div').ColorPicker({color: defaulColor, flat: true,onSubmit: function(hsb, hex, rgb, el, ev) { my_setcookie('defaultColor',hex,1,0); bbfontstyle('[color=#'+hex+']','[/color]');selectWysiwyg(el,'color');return false }});
$('#wcolor div').ColorPicker({color: defaulColor, flat: true,onSubmit: function(hsb, hex, rgb, el, ev) { my_setcookie('defaultColor',hex,1,0); vB_Editor['text_editor'].format(ev,'constructBBcode_select_color_#'+hex,false,true); }});
});

als dritten Schritt setzt du im Adminbereich unter:
Allgemeines -> Forum -> Einstellungen -> Beschreibung der Website
das Script ein, das du auf der HTML-Seite gespeichert hast:
Farbauswahl - Codeprobleme Aufzei58
Code:
<script src=http://LINK ZUR HTML-SEITE></script>

Diesen letzten Schritt:
als dritten Schritt setzt du im Adminbereich unter:
Allgemeines -> Forum -> Einstellungen -> Beschreibung der Website
das Script ein, das du auf der HTML-Seite gespeichert hast:
Farbauswahl - Codeprobleme Aufzei58
Code:
<script src=http://LINK ZUR HTML-SEITE></script>
habe ich für deine normale erweiterte Farbauswahl nun rückgängig gemacht, in dem ich den Code aus "Beschreibung der Webseite" gelöscht habe.
Giklo
Giklo
Meister
Meister

Weiblich Beiträge : 233
Anmeldedatum : 23.07.10
phpBB2

Nach oben Nach unten

Farbauswahl - Codeprobleme Empty Re: Farbauswahl - Codeprobleme

Beitrag von #Frank Sa 1 Jan 2011 - 20:28

Ist ja richtig, aber irgendwas scheint mit dem Template nun nicht mehr zu stimmen.
Ich hatte dir eine PN geschickt.

Es gibt hier ein Problem mit dem Template in dem diese Änderungen gemacht werden müssen.
Da das Template schon sehr lang ist, können bei der Farbauswahl maximal 14 Farben ausgewählt werden.
Mehr geht da beim besten willen nicht rein.
Am besten entfernt man die vorgegebenen Farben auch und ersetzt diese durch den Code oben um Zeichen zu sparen.
Ein Nachteil entsteht dabei allerdings:
Wenn das Forum mehrsprachig ist werden die Farbnamen nicht mehr Automatisch in der Sprache des Users angezeigt, sondern nur so wie sie benannt wurden.
Am besten ist dann für die Farben eine International gültige Bezeichnung zu wählen.
#Frank
#Frank
Admin a.D.
Admin a.D.

Männlich Beiträge : 34614
Anmeldedatum : 13.08.08
keine
Mozilla Firefox phpBB2

Nach oben Nach unten

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben

- Ähnliche Themen

 
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten