[HowTo] Einen neuen Button erstellen

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.
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11558
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

[HowTo] Einen neuen Button erstellen

Beitragvon nickvergessen » 24.04.2009 22:27

In diesem HowTo wird erklärt, wie man für seine MOD einen eigenen Button (ähnlich dem für Neues Thema) einbindet.
Für das Beispiel wird custom_button verwendet. GROß- und Kleinschreibung sind zubeachten.

includes/acp/acp_language.php
finde:

Code: Alles auswählen

'icon_back_top', 'icon_contact_aim', 'icon_contact_email', 'icon_contact_icq', 'icon_contact_jabber', 'icon_contact_msnm', 'icon_contact_pm', 'icon_contact_yahoo', 'icon_contact_www', 'icon_post_delete', 'icon_post_edit', 'icon_post_info', 'icon_post_quote', 'icon_post_report', 'icon_user_online', 'icon_user_offline', 'icon_user_profile', 'icon_user_search', 'icon_user_warn', 'button_pm_forward', 'button_pm_new', 'button_pm_reply', 'button_topic_locked', 'button_topic_new', 'button_topic_reply',

in der Zeile finde (ganz am Ende):

Code: Alles auswählen

'button_topic_reply',

in der Zeile danach einfügen:

Code: Alles auswählen

 'button_custom_button',


includes/acp/acp_styles.php
finde:

Code: Alles auswählen

'icon_back_top', 'icon_contact_aim', 'icon_contact_email', 'icon_contact_icq', 'icon_contact_jabber', 'icon_contact_msnm', 'icon_contact_pm', 'icon_contact_yahoo', 'icon_contact_www', 'icon_post_delete', 'icon_post_edit', 'icon_post_info', 'icon_post_quote', 'icon_post_report', 'icon_user_online', 'icon_user_offline', 'icon_user_profile', 'icon_user_search', 'icon_user_warn', 'button_pm_forward', 'button_pm_new', 'button_pm_reply', 'button_topic_locked', 'button_topic_new', 'button_topic_reply',

in der Zeile finde (ganz am Ende):

Code: Alles auswählen

'button_topic_reply',

in der Zeile danach einfügen:

Code: Alles auswählen

 'button_custom_button',


styles/prosilver/imageset/en/imageset.cfg
(Diese Änderung muss für jeden Style und jedes Sprachpaket gemacht werden)
finde:

Code: Alles auswählen

img_button_topic_reply = button_topic_reply.gif*25*96

danach einfügen (Achtung: hier muss das Format des Buttons angepasst werden):

Code: Alles auswählen

img_button_custom_button = button_custom_button.gif*25*96


styles/prosilver/theme/buttons.css
finde:

Code: Alles auswählen

.forwardpm-icon span    { background: none 0 0 no-repeat; }

danach einfügen:

Code: Alles auswählen

.custuom-button-icon span    { background: none 0 0 no-repeat; }

finde:

Code: Alles auswählen

.buttons div.forwardpm-icon   { width: {IMG_BUTTON_PM_FORWARD_WIDTH}px; height: {IMG_BUTTON_PM_FORWARD_HEIGHT}px; }

danach einfügen:

Code: Alles auswählen

.buttons div.custuom-button-icon   { width: {IMG_BUTTON_CUSTOM_BUTTON_WIDTH}px; height: {IMG_BUTTON_CUSTOM_BUTTON_HEIGHT}px; }


styles/prosilver/theme/colours.css
finde:

Code: Alles auswählen

.forwardpm-icon span   { background-image: url("{IMG_BUTTON_PM_FORWARD_SRC}") ;}

danach einfügen:

Code: Alles auswählen

.custuom-button-icon span   { background-image: url("{IMG_BUTTON_CUSTOM_BUTTON_SRC}") ;}


WICHTIG:
Eine Sprachvariable für IMG_BUTTON_CUSTOM_BUTTON muss im ACP global verfügbar sein. Also entweder in einer Datei liegen language/en/mods/info_acp_*.php oder aber in die language/en/acp/common.php hinein editiert werden.

Damit wurde der Button eingebunden.
Nun muss man die Grafiksammlung im ACP aktualisieren und kann dann mit folgendem Code im Template den Button benutzen:

Code: Alles auswählen

<div class="topic-actions">
   <div class="buttons">
      <div class="custom-button-icon"><a href="{U_DEIN_LINK}" title="{L_DEINE_BESCHREIBUNG}"><span></span>{L_DEINE_BESCHREIBUNG}</a></div>
   </div>
</div>
kein Support per PN

mojito
Mitglied
Beiträge: 99
Registriert: 10.06.2010 11:07

Re: [HowTo] Einen neuen Button erstellen

Beitragvon mojito » 04.07.2010 12:35

HI,
wenn man einen neuen button einfügen will ist es auch noch erforderlich, das man in der mysql-datenbank einfügt.

jedenfalls hat das nur bei mir so geklappt. UND ICH MUSSTE NUR IM LANNGUAGE-FILE EINEN BESCHREIBUNGS-TEXT HINZUFÜGEN!!! Also im phpbb_styles_imageset_data. dort einfach dann einen neuen eintrag mit allen daten einfügen und fertig....

unter image_lang gibt man den ordner/language an, wo sich das bild befindet. lässt man dieses feld leer, so muss sich das Bild auch dort befinden, wo sich u.a. das site_logo befindet. also einfach nur im imageset.

mfg

Code-schema zum einfügen:

Code: Alles auswählen

INSERT INTO phpbb_styles_imageset_data (image_name, image_filename, image_lang, image_height, image_width, imageset_id) VALUES ('[button-kürzel]', '[button-datei-name]', '[language-order (s.oben)]', [Höhe], [Breite], [Style-id]);


die style-id lässt sich im php_styles_imageset herausfinden

Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 15279
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: [HowTo] Einen neuen Button erstellen

Beitragvon Dr.Death » 04.07.2010 15:37

Hi,

wenn man wie oben bereits erwähnt:

Nun muss man die Grafiksammlung im ACP aktualisieren


macht, dann wird die Datenbank automatisch aktualisiert.

mojito
Mitglied
Beiträge: 99
Registriert: 10.06.2010 11:07

Re: [HowTo] Einen neuen Button erstellen

Beitragvon mojito » 04.07.2010 16:55

ja, jedoch habe cih nur sprachdatei und mysql akutalisiert. keine andere datei....

JAWAD
Mitglied
Beiträge: 1
Registriert: 26.08.2010 13:52

Re: [HowTo] Einen neuen Button erstellen

Beitragvon JAWAD » 26.08.2010 14:23

Vielen Dank für das tolle Tutorial,,
Aber ich verstand nicht, was können Sie mit diesem Tutorial machen, haben Sie ein Beispiel für die Schaltfläche, die Sie erstellt?

Und wann ist es sinnvoll für uns?

Sorry für mein schlechtes Deutsch

Nochmals vielen Dank

Gast234254
Gesperrt
Beiträge: 1999
Registriert: 08.02.2009 22:58

Re: [HowTo] Einen neuen Button erstellen

Beitragvon Gast234254 » 26.08.2010 17:18

die Anleitung ist Super, nun hab ich ein Anliegen. Es geht um den Paypal Button. Ich möchte das der Paypal Button in der jeweiligen Sprache des Users angezeigt wird. Hab alles nach Anleitung hier gemacht. Wie füge ich das hier in diesen Code ein so das je nach verwendete Sprache der Button angezeigt wird. Buttons liegen jeweils in styles/prosilver/imageset/en und /de.

Es ght um diesen Code

Code: Alles auswählen

             <li class="header" style="float:right;">
            <form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
                     <input type="hidden" name="cmd" value="_xclick">
                     <input type="hidden" name="business" value="{PAYPAL}">
                     <input type="hidden" name="currency_code" value="{PAYPAL_CURRENCY}">
                     <input type="hidden" name="item_name" value="{AD_TITLE}">
                     <input type="hidden" name="amount" value="{AD_PRICE}">
              <input type="image" src="https://www.paypal.com/de_DE/DE/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal.">
              <img alt="" border="0" src="https://www.paypal.com/de_DE/i/scr/pixel.gif" width="1" height="1">
           </form>

Dieser Abschnitt vom Code soll geändert werden, so das er aus dem root Verzeichniss die Buttons lädt.

Code: Alles auswählen

  <input type="image" src="https://www.paypal.com/de_DE/DE/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal.">
              <img alt="" border="0" src="https://www.paypal.com/de_DE/i/scr/pixel.gif" width="1" height="1">

Gast234254
Gesperrt
Beiträge: 1999
Registriert: 08.02.2009 22:58

Re: [HowTo] Einen neuen Button erstellen

Beitragvon Gast234254 » 27.08.2010 08:35

Na hat keiner mal eine Lösung?

Benutzeravatar
Frank1604
Ehemaliger
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Re: [HowTo] Einen neuen Button erstellen

Beitragvon Frank1604 » 27.08.2010 08:41

Code: Alles auswählen

      <input type="image" src="https://www.paypal.com/de_DE/DE/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal.">
                  <img alt="" border="0" src="https://www.paypal.com/de_DE/i/scr/pixel.gif" width="1" height="1">

Zur Not schreib halt den ganzen Abschnitt in eine Sprachvariable, die kannst du dann für jede Sprache anpassen.
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!

Gast234254
Gesperrt
Beiträge: 1999
Registriert: 08.02.2009 22:58

Re: [HowTo] Einen neuen Button erstellen

Beitragvon Gast234254 » 27.08.2010 08:51

Daran hatte ich auch schon gedacht, ist aber nicht so wie ich es gern möchte. Gibt es den phpbb keine möglichkeiten Clickbutton je nach verwendeter Sprache zu erstellen? Oder gibt es noch eine andere möglichkeit je nach verwendeter Sprache eine andere Url auf zurufen?

Gruß
Stephan

Benutzeravatar
Frank1604
Ehemaliger
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Re: [HowTo] Einen neuen Button erstellen

Beitragvon Frank1604 » 27.08.2010 09:09

Ja, in dem du die URL in die entsprechende Sprachvariable steckst. Das ist doch eine recht optimale Lösung. Wo ist das Problem?
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!


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