Farbcode durch anklicken einfügen

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.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.
Walter91
Mitglied
Beiträge: 101
Registriert: 16.02.2012 08:28

Farbcode durch anklicken einfügen

Beitragvon Walter91 » 13.12.2014 13:00

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> 

Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 5399
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: Farbcode durch anklicken einfügen

Beitragvon Kirk » 13.12.2014 16:07

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.

Walter91
Mitglied
Beiträge: 101
Registriert: 16.02.2012 08:28

Re: Farbcode durch anklicken einfügen

Beitragvon Walter91 » 13.12.2014 16:32

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.

Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 5399
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: Farbcode durch anklicken einfügen

Beitragvon Kirk » 13.12.2014 16:50

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?

Walter91
Mitglied
Beiträge: 101
Registriert: 16.02.2012 08:28

Re: Farbcode durch anklicken einfügen

Beitragvon Walter91 » 13.12.2014 17:08

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.

Benutzeravatar
HabNurNeFrage
Ehemaliger
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Farbcode durch anklicken einfügen

Beitragvon HabNurNeFrage » 13.12.2014 17:33

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
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };

Walter91
Mitglied
Beiträge: 101
Registriert: 16.02.2012 08:28

Re: Farbcode durch anklicken einfügen

Beitragvon Walter91 » 13.12.2014 18:01

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.

Benutzeravatar
HabNurNeFrage
Ehemaliger
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Farbcode durch anklicken einfügen

Beitragvon HabNurNeFrage » 13.12.2014 18:16

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
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };

Walter91
Mitglied
Beiträge: 101
Registriert: 16.02.2012 08:28

Re: Farbcode durch anklicken einfügen

Beitragvon Walter91 » 13.12.2014 18:29

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.
Zuletzt geändert von Walter91 am 13.12.2014 18:41, insgesamt 1-mal geändert.


Benutzeravatar
HabNurNeFrage
Ehemaliger
Beiträge: 1627
Registriert: 17.01.2010 20:22
Wohnort: An der Ostsee
Kontaktdaten:

Re: Farbcode durch anklicken einfügen

Beitragvon HabNurNeFrage » 13.12.2014 18:40

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
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };


Zurück zu „[3.0.x] Mod Bastelstube“