Seite 1 von 2

Farbcode durch anklicken einfügen

Verfasst: 13.12.2014 13:00
von Walter91
Ich möchte gern das der Farbcode durch anklicken in das Feld "text_color" eingefügt wird.
Feld und Farbenpallette werden erst mal angezeigt. Jetzt bekomm ich das aber mit der anklicken Funktion nicht hin.
Wär schön wenn einer helfen kann

Code: Alles auswählen

<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script> 
<form method="post" action="{U_ACTION}">
<fieldset>  
<dl>
	<dt><label for="text_color">{L_TEXT_COLOR}:</label></dt>
		<dd><input name="text_color" type="text" id="text_color" value="{TEXT_COLOR}" size="10" maxlength="10" />
		<div style="float: left; width: 50%;">
		<script type="text/javascript">
				// <![CDATA[
					colorPalette('h', 14, 12);
				// ]]>
		</script>
		</div>
	</dd>
</dl>  
</fieldset>
  	<p class="submit-buttons">
  	<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
  	<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
  	</p>
</form>  

Re: Farbcode durch anklicken einfügen

Verfasst: 13.12.2014 16:07
von Kirk
Hallo
Mache es doch per BBCode z.b.so,

BBCode-Benutzung:

Code: Alles auswählen

[text_color={COLOR}]{TEXT}[/text_color]
HTML-Ersetzung:

Code: Alles auswählen

<span style="color:{COLOR}">{TEXT}</span>
Tipp-Anzeige:
[text_color=Text Farbe]Dein Text[/text_color]

Hacken bei Beim Verfassen eines Beitrags anzeigen rein machen.

Jetzt können deine User diesen BBCode entweder so [text_color=blue]Hallo[/text_color] oder so
[text_color=#00FFFF]Hallo[/text_color] verwenden.

Re: Farbcode durch anklicken einfügen

Verfasst: 13.12.2014 16:32
von Walter91
Erst mal vielen Dank für deine Antwort.
Aber mir geht es eigentlich darum das ich einen angeklickten Wert in der Farbenpallette z.B #0000FF durch einfaches anklicken direkt als Wert in ein Datenbankfeld eintragen kann.
Es soll in etwa so funktionieren wie im ACP - Gruppen verwalten - Gruppenfarbe eintragen.
Der Wert z.B #0000FF soll einfach in ein Datenbankfeld gespeichert werden.
Das eintragen mit Tastatur funktioniert ja. Ich möchte es eben nur etwas kompfortabel durch anklicken haben.
Das ist als kleine MOD für den Adminbereich gedacht.
Die Anzeige für die User bekomm ich hin.

Re: Farbcode durch anklicken einfügen

Verfasst: 13.12.2014 16:50
von Kirk
So ganz verstehe ich nicht was du möchtest, geht es dir darum wenn ein User einen Beitrag schreibt
er nur auf [/text_color] klickt und die Textfarbe vorgegeben ist?

Re: Farbcode durch anklicken einfügen

Verfasst: 13.12.2014 17:08
von Walter91
Es geht um eine kleine Erweiterung im Adminbereich.
Den Usern wird eine Meldung vom Admin auf dem Index angezeigt die sie nur lesen können.
Die soll auch mit farbigen Text ausgegeben werden können.

Die Meldung wird im Adminbereich eingetragen.
Es geht jetzt nur noch darum die Textfarbe durch anklicken zu ändern.
Das Input-Feld wird richtig angezeigt und darunter die Farbenpallette.
Jetzt möchte einfach nur erreichen das der angeklickte Farbcode in das Datenbankfeld "text_color" eingetragen wird.
Mein bisheriger Code siehe oben. Es fehlt nur die "Onclick-Funktion" die bekomm ich nicht hin.

Re: Farbcode durch anklicken einfügen

Verfasst: 13.12.2014 17:33
von HabNurNeFrage
Hi,

hast Du das selbst ins ACP reingebastelt?

Die Farbpallete versucht onclick etwas in eine <textarea> mit name="message" id="message" einzufügen.

Du könntest auch ein simples Dropdown nehmen und onchange die Farbwerte in Dein Input Feld schreiben.

LG

Re: Farbcode durch anklicken einfügen

Verfasst: 13.12.2014 18:01
von Walter91
Also nochmal von vorn.
Ich hab mir ein eigenes Modul für den ACP geschrieben.
Das Modul wird im ACP - MODS angezeigt.
Bildlich sieht das so aus:
1.Inputfeld für Text (das habe ich im oben geposteten Code jetzt mal weggelassen)
2.Inputfeld für Farbcode (wird gespeichert in Datenbankfeld "text_color")
Darunter wird die gesamte Farbcodepallette angezeigt.
Bis hier funktioniert alles.

Wenn ich jetzt auf einen der angezeigten Farbcode in der Pallette klicke, soll der angeklickte Wert der Farbe in das Datenbankfeld "text_color" eingetragen und angezeigt werden.

Trage ich den Wert per Hand in das 2.Inputfeld für Farbcode ein, funktioniert das.
Ich möchte aber gern folgendes erreichen.
In der angezeigten Farbpallette z.B. # 0000FF anklicken.
#0000FF soll nach anklicken im Inputfeld für Farbcode angezeigt werden.
Button Absenden speichert dann den Wert #0000FF im Datenbankfeld "text_color"

Die Anzeige für die User ist kein Problem.Das bekomme ich hin.

Re: Farbcode durch anklicken einfügen

Verfasst: 13.12.2014 18:16
von HabNurNeFrage
Hi,

ist Dein Code oben ein Beispielcode oder blendest Du die Farbpalette aus der posting_buttons ein?
Wenn letzteres der Fall sein sollte, musst Du die editor.js verdoppeln und den generierten Palette-Table an Dein Szenario anpassen.
Die Palette wird dort in function colorPalette generiert und ruft onclick die Carret-Position-Insert Funktion (bbfontstyles) für bbCodes in einer Textarea auf.
Ich gehe mal davon aus, dass Du nicht beim Klicken auf eine Farbe irgendwas in die Datenbank senden willst, sondern einen Farbwert in Dein Textfeld, der dann zusammen mit dem gesamten Formular in die DB wandert.

Oder Du bastelst Dir ein simples Dropdown mit ein paar Farben und schickst die Auswahl in Dein Textfeld.
Das ist wesentlich leichter als die ganzen Funktionen der editor.js an Deine Bedürfnisse anzupassen.

LG

Re: Farbcode durch anklicken einfügen

Verfasst: 13.12.2014 18:29
von Walter91
Die Farbcodepallette hole ich von phpBB mit den folgenden Code und wird auch angezeigt

Code: Alles auswählen

<script type="text/javascript" src="{T_TEMPLATE_PATH}/editor.js"></script> 

<div style="float: left; width: 50%;">
		<script type="text/javascript">
				// <![CDATA[
					colorPalette('h', 14, 12);
				// ]]>
		</script>
		</div> 
Der angeklickte Farbwert soll jetzt im eigenen Datenbankfeld "text_color" gespeichert werden
Der Text wird in extra Datenbankfeld gespeichert.
dass Du nicht beim Klicken auf eine Farbe irgendwas in die Datenbank senden willst, sondern einen Farbwert in Dein Textfeld, der dann zusammen mit dem gesamten Formular in die DB wandert.
Genau so möchte ich das gerne haben.

Der Rest ist wie oben schon gesagt kein Problem.

Re: Farbcode durch anklicken einfügen

Verfasst: 13.12.2014 18:40
von HabNurNeFrage
Hi,

wie weit bist Du denn?
Wird der Farbwert bereits irgendwohin übernommen?

Die eingeblendete Farbpalette ist bloß eine JS-Dom-Manipulation und erzeugt pro Farbwert eine HTML-Tabellenzelle:

Code: Alles auswählen

<td style="width: 15px; height: 10px;" bgcolor="#000000"><a href="#" onclick="bbfontstyle('[color=#000000]', '[/color]'); return false;"><img src="images/spacer.gif" alt="#000000" title="#000000" height="10" width="15"></a></td>
Die Farbtabelle wird durch editor.js in zuvor genannter JS-Funktion generiert.
Also die anpassen und dort andere onclicks einbauen, damit die Farbwerte in ein Input-Feld übertragen werden oder eine eigene Farbauswahl programmieren.

Wenn Du eine bestehende Mod dazu bewegen möchtest, weitere Werte in die Datenbank zu schreiben, musst Du noch etwas mehr dran basteln.
Dann benötigst Du sowohl die passende Spalte in der Datenbanktabelle als auch eine Anpassung im PHP, welches per SQL-Query die Formularfelder beim Absenden gesammelt in die DB-Tabelle einträgt.

Mir ist momentan noch unklar, was davon bereits klappt und was nicht, denn selbst wenn der Farbwert in der DB landet, muss dieser beim Anzeigen ja auch wieder ausgelesen werden...

LG