Seite 1 von 3

[HowTo] Einen neuen Button erstellen

Verfasst: 24.04.2009 22:27
von nickvergessen
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>

Re: [HowTo] Einen neuen Button erstellen

Verfasst: 04.07.2010 12:35
von mojito
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

Re: [HowTo] Einen neuen Button erstellen

Verfasst: 04.07.2010 15:37
von Dr.Death
Hi,

wenn man wie oben bereits erwähnt:
Nun muss man die Grafiksammlung im ACP aktualisieren
macht, dann wird die Datenbank automatisch aktualisiert.

Re: [HowTo] Einen neuen Button erstellen

Verfasst: 04.07.2010 16:55
von mojito
ja, jedoch habe cih nur sprachdatei und mysql akutalisiert. keine andere datei....

Re: [HowTo] Einen neuen Button erstellen

Verfasst: 26.08.2010 14:23
von JAWAD
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

Re: [HowTo] Einen neuen Button erstellen

Verfasst: 26.08.2010 17:18
von Gast234254
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">

Re: [HowTo] Einen neuen Button erstellen

Verfasst: 27.08.2010 08:35
von Gast234254
Na hat keiner mal eine Lösung?

Re: [HowTo] Einen neuen Button erstellen

Verfasst: 27.08.2010 08:41
von Frank1604

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.

Re: [HowTo] Einen neuen Button erstellen

Verfasst: 27.08.2010 08:51
von Gast234254
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

Re: [HowTo] Einen neuen Button erstellen

Verfasst: 27.08.2010 09:09
von Frank1604
Ja, in dem du die URL in die entsprechende Sprachvariable steckst. Das ist doch eine recht optimale Lösung. Wo ist das Problem?