Styleguide
Introduction
In order to get an better picture of how the templates on donate.wiki relate to one another review the images below. The Landing Page is chopped up into many templates so that we can change and test individual pieces of the page without changing core functional pieces of the page. This provides us with more stability for a broader range of users.
- Superficial changes to the various payment options can be done with editing the "Form-countryspecific-*" template for the country you wish to change.
- Superficial changes to the layout and the appeal are done by changing the banner.
Information flow
The flow of information from template to template is laid out in Fig. 2 on the right.
Banner
Banner settings completely determine which landing page is displayed, in which language, and where the page runs. All banners call the Lp-layout-default template and pass it the names of 4 templates. The default values follow:
- Template:2011FR/Appeal-template-default
- "Appeal-default"
- Template:2011FR/Form-template-default
- Template:2011FR/Form-countryspecific-control
For specifics of the donate.wiki versions of the banner code visit Styleguide/Banner.
Appeal
The "2011FR/Appeal-default" is used by Template:2011FR/Appeal-template-default to call the following 2 templates:
Payment
The template that ties together the payment form on the right of the page is Template:2011FR/Form-template-default. The country specific details are set by the template Template:2011FR/Form-countryspecific-control.
Form-countryspecific-control example
This is example code from Template:2011FR/Form-countryspecific-control/AU. The following CSS is used to enable or disable payment methods for each country by commenting out either the "display: 'status';"(on) or the "display: none;"(off).
<html>
<style type="text/css">
#CC-donate-button{
display: </html>{{CC-status}}<html>;
/*display: none;*/
}
#Ideal-donate-button{
/*display: </html>{{RT-status}}<html>;*/
display: none;
}
#eps-donate-button{
/*display: </html>{{RT-status}}<html>;*/
display: none;
}
#sofort-donate-button{
/*display: </html>{{RT-status}}<html>;*/
display: none;
}
#DD-donate-button{
/*display: </html>{{DD-status}}<html>;*/
display: none;
}
#PP-donate-button{
display: </html>{{PP-status}}<html>;
/*display: none;*/
}
#PP-USD-donate-button{
/*display: </html>{{PP-status}}<html> !important;*/
display: none;
}
#RPP-donate-button{
/*display: </html>{{PP-status}}<html>;*/
display: none;
}
#YD-donate-button{
/*display: </html>{{YD-status}}<html>;*/
display: none;
}
#MB-donate-button{
/*display: </html>{{MB-status}}<html>;*/
display: none;
}
#BP-donate-button{
/*display: </html>{{BP-status}}<html>;*/
display: none;
}
#BT-donate-button{
display: </html>{{BT-status}}<html>;
/*display: none;*/
}
#BP-donate-button{
display: </html>{{Bpay-status}}<html>;
/*display: none;*/
}
</style>
</html>
This part of the code pulls in the payment processing JS. Most of the perimeter are used to past information around. The only one that should be changed is "GC-CC-ffname". This perimeter changes the credit cards that we accept in that country. A list of options follows:
- cc-vm - Visa, MasterCard
- cc-vma - Visa, MasterCard, AmericanExpress
- cc-vmj - Visa, MasterCard, JCB
- cc-vmaj - Visa, MasterCard, AmericanExpress, JCB
{{2011FR/Form-section-processing | uselang = {{{uselang}}} | country = {{{country}}} | appeal = {{{appeal}}} | currency = {{2011FR/core-currency-code|{{{country}}}}} | handler = GC | GC-CC-ffname = cc-vmaj }}
This part of the code pulls in the display method for the donation options and sets the values to be displayed. The "donate-amount-*" perimeters set the values that will be used in the country. These values are in the currency that has been set as the local currency.
{{2011FR/Form-section-radiobuttons | country = {{{country}}} | uselang = {{{uselang}}} | currency = {{2011FR/core-currency-code|{{{country}}}}} | donate-amount-0 = 5 | donate-amount-1 = 10 | donate-amount-2 = 20 | donate-amount-3 = 25 | donate-amount-4 = 50 | donate-amount-5 = 100 | donate-amount-6 = 250 }}
Helper Templates
Currency templates
The following 2 templates contain the information needed to get currency details.
- Template:2011FR/core-currency-code - Returns the code of the official currency for each country.
- Template:2011FR/core-currency-symbol - Returns the symbol for each currency.
- Template:2011FR/core-currency-minimums - Lists the minimum donation amount for each currency to be used in a JavaScript array.
- Template:2011FR/core-currency-position
Switch templates
The following is a list of templates templates that are used to change page content based on language, country, etc.
- Template:AppealAmountSwitch
- Template:AppealAmountSwitch/en
- Template:AppealSwitch
- Template:CountrySwitch
- Template:FallbackSwitch
- Template:Ltr-direction
- Template:Translationlink
Payment method status
The following is a list of templates that can be use to turn on and off their respective payment methods by toogling the value stored inside the template between "block"(on) and "none"(off).
- Template:BP-status
- Template:BT-status
- Template:CC-status
- Template:DD-status
- Template:MB-status
- Template:PP-status
- Template:RT-status
- Template:YD-status
F.A.Q.
How do I add currencies?
There are 4 templates that need to be changed to add a currency to be usable.
These three templates add all the needed details for each currency.
- http://donate.wikimedia.org/wiki/Template:2012FR/Switch/Currency/Symbol - This template sets the symbol used with each currecny.
- http://donate.wikimedia.org/wiki/Template:2012FR/Switch/Currency/Minimums - This template sets the minimum donation amount for each currency which is about 1 USD.
- http://donate.wikimedia.org/wiki/Template:2012FR/Switch/Currency/Position - This template sets the position of the currency symbol relative to the value, before or after.
This template enables the currencies by linking them to countries
- http://donate.wikimedia.org/wiki/Template:2012FR/Switch/Currency/Code - This template sets the default currency for each country.
How do I add countries?
To add a country a minimum of 4 templates must be created. First make sure the currency the new country uses is enabled. See How do I add currencies?
Second the "Form-countryspecific-*" tmeplates must be created At least the following country specific templates must be created
- Template:2011FR/Form-countryspecific-control/XX
- Template:2011FR/Form-countryspecific-monthly/XX
- Template:2011FR/Form-countryspecific-recurring/XX
To do A/B/C/etc testing for this new country the "variable" page need to be created
- Template:2011FR/Form-countryspecific-variable1/XX
- Template:2011FR/Form-countryspecific-variable2/XX
- Template:2011FR/Form-countryspecific-variable3/XX
How do I customize Landing Pages for a country?
To customize the donation forms for each country changes need to be made to the corresponding "Form-countryspecific-*" template.
How do I add payment methods?
To add new payment methods 1 template needs to be edited and 1 new template must be created.