Custom Fields

Introduction

Using AcyMailing Enterprise (this feature has been added to AcyMailing 1.2.0), you can add extra fields to your subscription form, to the user profile on the front-end and on the back-end.

You will then be able to filter your users based on these fields or include these fields in a Newsletter.

You will also be able to import users with those fields and export the extra fields as well.

This system should meet most of your needs and enable you to create personal subscription form.

If you want to personalize more your subscription form, you can still integrate AcyMailing with a Form component using the subscription via URL.

 

Create new fields on the AcyMailing User profile

  • Log in on the back-end and access the AcyMailing Component
  • Click on the menu Configuration -> Custom Fields to manage your fields

    Custom fields menu

  • You will be redirected to the custom fields area where you should see three fields by default : name, email and html (which are the fields used to display the name, email and receive html/text option)

Extra fields

  • Click on the button "New" to add a new field

New field

Create a phone number field

  • We will create a phone number field so that users may enter their phone number to be contacted

Field phone

  • This field is a "Phone number" input so we selected the Field type "Phone".
  • We don't want this field to be required, users may subscribe without entering their phone number
  • We want to publish this field and display it on the front-end profile and on the back-end profile
  • Click on the button "Apply", the field will be saved and you will now see how the field will be displayed on the preview area.
  • Once saved, you won't be able to change the column name of your field. You can still change its Label or any other information.

Phone preview

 

Create a Gender field

    • We will now add a Gender field as our goal is to include in our Newsletter "Hello Mr John..."

Title field

    • The Gender field is a single Drop-down.
    • We will make it a require field so if the user didn't select any value, an error message will be displayed
    • We add a series of values (the first option has a title but no value so that if this option is selected, which is the case by default, the form won't be submitted as it's a required field)
    • We click on the "Apply" button to check how the field looks like.

Title field preview

 

Create an information field

    • We will now create an information field. We will nevertheless make sure this field is published but only displayed on the back-end as our goal is simply to add information about the user if we contact him.

Extra fields Info

 

Order my fields

    • You should now see your three new fields on the Fields interface and you can change the ordering of your fields to meet your needs.

All extra fields

  • We didn't want to display the default field receive Text/HTML on our front-end interface so we unpublished it as you can not delete a core field.

 

Group fields by category

Since Acymailing 4.9.0, you can create a new kind of field: Category. This field type allows you to regroup other fields in a category.

You need first to create your category field, then you will have to assign it in each field you want to put inside this category.

Category choice

You will see the category regrouping the fields you chose. This category appear in the subscriber profile front and back-end, in the subscription form and in the Acymailing module if in tableless mode. The category will be displayed according to its order for the same level of fields.

Display of a category

 

Choose where to display your fields

You can choose where to display your fields, either in the field edition or directly in the field listing.

Display location

  • Front-end:
    • Form: display your field on the Acymailing subscription form on the front-end (created via the menu type "Subscribe/Modify your subscription")
    • Profile: display your field on the Acymailing user profile accessible from the front-end user management
    • Listing: display your field on the user listing on front-end
    • J! Registration: display your field on the Joomla user registration form
    • J! User profile: display your field on the Joomla user profile
    • Display Filter: display this field as a filter in the front-end user management
  • Back-end:
    • Profile: display your field on the Acymailing user profile
    • Listing: display your field on the user listing
    • J! User Profile: display your field on the Joomla user profile
    • Display Filter: display this field as a filter in the user listing on back-end

 

Display these fields on the Back-end User profile

  • Our fields are now added and the published fields will be displayed on the User back-end profile if you selected so.
  • The Core fields will be always displayed on the back-end profile even if they are unpublished.
  • There is no check on the fields on the back-end so you can really add any value you want and even leave the required fields empty.

Backend profile

 

Display these fields on the Front-end User profile

  • Based on the options you selected, the fields will be added or not to the user profile on the front-end.
  • This profile can be accessible when the user clicks on the link "Modify your subscription" in the Newsletter or if you display this page to subscribe your users.
  • If you only use this page to modify the subscription of the user, you can even remove the e-mail field to not give the possibility to your users to modify their e-mail address.

Custom Fields front-end

 

 

Display these fields on the Back-end User Listing

  • The same way, you can also modify your Back-end User listing to display the information you want.
  • The published fields with the option "Back-end Listing" enabled will be displayed on the AcyMailing User listing.
  • You will be able to search in the fields and order them the way you want.

user listing

 

Display these fields on the AcyMailing Module

    • You probably realized that there is no option on the field interface to add the field on the AcyMailing module.
      We didn't add it to our interface as you can duplicate the AcyMailing module and each module will be independent so we took the decision to add the field selection on the module parameters themselves.
    • Log in on the back-end and access the Joomla Module manager

Module Manager

    • Edit your AcyMailing module

AcyMailing module

    • You will find a parameter "Displayed fields".

Field selection module

    • Click on the button "Select" to display all your of available fields and select the ones you want to include in your module

Fields selection

    • Select the fields you want to add to your module and then click on the "Apply" button.
    • Save your module to see the new fields on your module.

Module display

  • You can off course add any other field and display them the way you want (text outside the field, inside the field...)

 

Display these fields on your registration page

You can display the extra fields you created on your Joomla registration page but also on the Virtuemart, Hikashop, CCUsers, AlphaRegistration, Tienda, redShop, ExtendedReg...

You can select which field to display on your registration form directly on the Custom fields listing by enabling the "J! Registration" parameter.

 

Custom fields listing

 

You can also do this while editing the custom field.

Edit a custom field

Go back on your registration form to see the fields.

If you want to add some CSS, access the AcyMailing configuration page, tab plugins and edit the AcyMailing : (auto)Subscribe during Joomla registration plugin. Then you can add some CSS on the Custom CSS area if needed.

Registration field example

 

Display these fields as filter dropdowns on your subscribers listing page

You can display some of your extra fields as filters on your subscribers listing page, either on the Front-end or on the Back-end.

This functionality is only available for fields of type "Radio", "Checkbox", "Simple Dropdown", "Multiple Dropdown", "Date" and "Birthday". Note that if there are a lot of possibilities for the "Date" and "Birthday" fields, Acy will display only the 100 first possible values.

 

Custom fields as filter

 

Here is an example of field filtering the subscribers in the Back-end subscribers listing:

Filter field Back-end

The filter will be displayed the same way in the Front-end.

Conditional display

Since Acymailing 4.9.0, you can display a field depending on the value of one or several other fields. You can only check the value of text, textarea, radio, single dropdown, phone and birthday type fields.

You can add as many conditions as you want choosing the relation (And / Or) to make another condition appear.

Conditional display

 

When a field is used in a conditional display, the field using it will be listed so you can easily know where it is used. You can directly go edit the field by clicking on its name. You won't be able to delete the field either if it is used in a conditional display. A warning message will remind you of the related fields.

Conditional display used in

 

Limiting edition

You can choose whether you want a field to be editable or not on user creation and user modification on the front end.

Limiting edition

 

ACL

Since Acymailing 4.9.0, you can set which Joomla group is allowed to access a field on the front-end.

ACL

 

Get some statistics about the custom fields

If you create a custom field using the type Radio, CheckBoxes or Dropdown, you can see some statistics about it if access your custom field.

Custom Fields Statistics

 

Examples

Country field

To create a country field, first create a new field in AcyMailing.

Then access your database (using phpMyAdmin for example), select the table "#__acymailing_fields" and edit the field you just created.

In the textarea "value", copy paste the following code:

Show/Hide php code

View source
AFG::Afghanistan
ALB::Albania
DZA::Algeria
ASM::American Samoa
AND::Andorra
AGO::Angola
AIA::Anguilla
ATA::Antarctica
ATG::Antigua and Barbuda
ARG::Argentina
ARM::Armenia
ABW::Aruba
AUS::Australia
AUT::Austria
AZE::Azerbaijan
BHS::Bahamas
BHR::Bahrain
BGD::Bangladesh
BRB::Barbados
BLR::Belarus
BEL::Belgium
BLZ::Belize
BEN::Benin
BMU::Bermuda
BTN::Bhutan
BOL::Bolivia
BIH::Bosnia and Herzegowina
BWA::Botswana
BVT::Bouvet Island
BRA::Brazil
IOT::British Indian Ocean Territory
BRN::Brunei Darussalam
BGR::Bulgaria
BFA::Burkina Faso
BDI::Burundi
KHM::Cambodia
CMR::Cameroon
CAN::Canada
CPV::Cape Verde
CYM::Cayman Islands
CAF::Central African Republic
TCD::Chad
CHL::Chile
CHN::China
CXR::Christmas Island
CCK::Cocos (Keeling) Islands
COL::Colombia
COM::Comoros
COG::Congo
COK::Cook Islands
CRI::Costa Rica
CIV::Cote D'Ivoire
HRV::Croatia
CUB::Cuba
CYP::Cyprus
CZE::Czech Republic
DNK::Denmark
DJI::Djibouti
DMA::Dominica
DOM::Dominican Republic
TMP::East Timor
ECU::Ecuador
EGY::Egypt
SLV::El Salvador
GNQ::Equatorial Guinea
ERI::Eritrea
EST::Estonia
ETH::Ethiopia
FLK::Falkland Islands (Malvinas)
FRO::Faroe Islands
FJI::Fiji
FIN::Finland
FRA::France
FXX::France, Metropolitan
GUF::French Guiana
PYF::French Polynesia
ATF::French Southern Territories
GAB::Gabon
GMB::Gambia
GEO::Georgia
DEU::Germany
GHA::Ghana
GIB::Gibraltar
GRC::Greece
GRL::Greenland
GRD::Grenada
GUM::Guam
GTM::Guatemala
GIN::Guinea
GNB::Guinea-Bissau
GUY::Guyana
HTI::Haiti
HMD::Heard and McDonald Islands
HND::Honduras
HKG::Hong Kong
HUN::Hungary
ISL::Iceland
IND::India
IDN::Indonesia
IRN::Iran
IRQ::Iraq
IRL::Ireland
ISR::Israel
ITA::Italy
JAM::Jamaica
JPN::Japan
JOR::Jordan
KAZ::Kazakhstan
KEN::Kenya
KIR::Kiribati
PRK::Korea, North
KOR::Korea, South
KWT::Kuwait
KGZ::Kyrgyzstan
LAO::Laos
LVA::Latvia
LBN::Lebanon
LSO::Lesotho
LBR::Liberia
LBY::Libyan Arab Jamahiriya
LIE::Liechtenstein
LTU::Lithuania
LUX::Luxembourg
MAC::Macau
MKD::Macedonia
MDG::Madagascar
MWI::Malawi
MYS::Malaysia
MDV::Maldives
MLI::Mali
MLT::Malta
MHL::Marshall Islands
MRT::Mauritania
MUS::Mauritius
MYT::Mayotte
MEX::Mexico
FSM::Micronesia
MDA::Moldova
MCO::Monaco
MNG::Mongolia
MNE::Montenegro
MSR::Montserrat
MAR::Morocco
MOZ::Mozambique
MMR::Myanmar
NAM::Namibia
NRU::Nauru
NPL::Nepal
NLD::Netherlands
ANT::Netherlands Antilles
NCL::New Caledonia
NZL::New Zealand
NIC::Nicaragua
NER::Niger
NGA::Nigeria
NIU::Niue
NFK::Norfolk Island
MNP::Northern Mariana Islands
NOR::Norway
OMN::Oman
PAK::Pakistan
PLW::Palau
PAN::Panama
PNG::Papua New Guinea
PRY::Paraguay
PER::Peru
PHL::Philippines
PCN::Pitcairn
POL::Poland
PRT::Portugal
PRI::Puerto Rico
QAT::Qatar
ROM::Romania
RUS::Russia
RWA::Rwanda
KNA::Saint Kitts and Nevis
LCA::Saint Lucia
VCT::Saint Vincent and the Grenadines
WSM::Samoa
SMR::San Marino
STP::Sao Tome and Principe
SAU::Saudi Arabia
SEN::Senegal
SRB::Serbia
SYC::Seychelles
SLE::Sierra Leone
SGP::Singapore
SVK::Slovakia
SVN::Slovenia
SLB::Solomon Islands
SOM::Somalia
ZAF::South Africa
SGS::South Georgia and the South Sandwich Islands
ESP::Spain
LKA::Sri Lanka
SHN::St. Helena
SPM::St. Pierre and Miquelon
SDN::Sudan
SUR::Suriname
SJM::Svalbard and Jan Mayen Islands
SWZ::Swaziland
SWE::Sweden
CHE::Switzerland
SYR::Syrian Arab Republic
TWN::Taiwan
TJK::Tajikistan
TZA::Tanzania
THA::Thailand
TGO::Togo
TKL::Tokelau
TON::Tonga
TTO::Trinidad and Tobago
TUN::Tunisia
TUR::Turkey
TKM::Turkmenistan
TCA::Turks and Caicos Islands
TUV::Tuvalu
UGA::Uganda
UKR::Ukraine
ARE::United Arab Emirates
GBR::United Kingdom
UMI::United States Minor Outlying Islands
USA::United States of America
URY::Uruguay
UZB::Uzbekistan
VUT::Vanuatu
VAT::Vatican City State
VEN::Venezuela
VNM::Vietnam
VGB::Virgin Islands (British)
VIR::Virgin Islands (U.S.)
WLF::Wallis and Futuna Islands
ESH::Western Sahara
YEM::Yemen
YUG::Yugoslavia
ZAR::Zaire
ZMB::Zambia
ZWE::Zimbabwe

US States field

To create a US States field, first create a new field in AcyMailing.

Then access your database (using phpMyAdmin for example), select the table "#__acymailing_fields" and edit the field you just created.

In the textarea "value", copy paste the following code:

Show/Hide php code

View source
AL::Alabama
AK::Alaska
AZ::Arizona
AR::Arkansas
CA::California
CO::Colorado
CT::Connecticut
DE::Delaware
DC::District of Columbia
FL::Florida
GA::Georgia
HI::Hawaii
ID::Idaho
IL::Illinois
IN::Indiana
IA::Iowa
KS::Kansas
KY::Kentucky
LA::Louisiana
ME::Maine
MT::Montana
NE::Nebraska
NV::Nevada
NH::New Hampshire
NJ::New Jersey
NM::New Mexico
NY::New York
NC::North Carolina
ND::North Dakota
OH::Ohio
OK::Oklahoma
OR::Oregon
MD::Maryland
MA::Massachusetts
MI::Michigan
MN::Minnesota
MS::Mississippi
MO::Missouri
PA::Pennsylvania
RI::Rhode Island
SC::South Carolina
SD::South Dakota
TN::Tennessee
TX::Texas
UT::Utah
VT::Vermont
VA::Virginia
WA::Washington
WV::West Virginia
WI::Wisconsin
WY::Wyoming

We wanted to thanks Jonathan for the list of countries and states.

 

Canada Provinces field

To create a provinces field, first create a new field in AcyMailing.

Then access your database (using phpMyAdmin for example), select the table "#__acymailing_fields" and edit the field you just created.

In the textarea "value", copy paste the following code:

Show/Hide php code

View source
N/A::N/A
 AB::Alberta
 BC::British Columbia
 MB::Manitoba
 NB::New Brunswick
 NL::Newfoundland and Labrador
 NT::Northwest Territories
 NS::Nova Scotia
 NU::Nunavut
 ON::Ontario
 PE::Prince Edward Island
 QC::Quebec
 SK::Saskatchewan
 YT::Yukon

Thank you Mr BlackBoot !

 

Brazilian States field

To create a states field, first create a new field in AcyMailing.

Then access your database (using phpMyAdmin for example), select the table "#__acymailing_fields" and edit the field you just created.

In the textarea "value", copy paste the following code:

Show/Hide php code

View source
AC::Acre
 AL::Alagoas
 AP::Amapá
 AM::Amazonas
 BA::Bahia
 CE::Ceará
 DF::DistritoFederal
 ES::EspíritoSanto
 GO::Goiás
 MA::Maranhão
 MT::MatoGrosso
 MS::MatoGrossodoSul
 MG::MinasGerais
 PA::Pará
 PB::Paraíba
 PR::Paraná
 PE::Pernambuco
 PI::Piauí
 RJ::RiodeJaneiro
 RN::RioGrandedoNorte
 RS::RioGrandedoSul
 RO::Rondônia
 RR::Roraima
 SC::SantaCatarina
 SP::SãoPaulo
 SE::Sergipe
 TO:Tocantins

Thanks to Bento for providing us with this list.

 

Australian States

To create a states field, first create a new field in AcyMailing.

Then access your database (using phpMyAdmin for example), select the table "#__acymailing_fields" and edit the field you just created.

In the textarea "value", copy paste the following code:

Show/Hide php code

View source
 
ACT::Australian Capital Territory
 NSW::New South Wales
 NT::Northern Territory
 QLD::Queensland
 SA::South Australia
 TAS::Tasmania
 VIC::Victoria
 WA::Western Australia

Thank you Geoff !

 

Frequently Asked Questions

How many custom fields can I add?

You can create as many custom fields as you want.
You can delete some of them or create new ones when you want...

How can I translate the inserted fields?

If the label of the field is in upper-case, then AcyMailing will look for a translation in the language files.

Our language files already contain some translations so you can directly use:

  • FIRSTNAMECAPTION (First Name)
  • LASTNAMECAPTION (Last Name)
  • CITYCAPTION (City)
  • COUNTRYCAPTION (Country)
  • PHONECAPTION (Phone Number)
  • ADDRESSCAPTION (Address)
  • BIRTHDAYCAPTION (Birthday)

 

To translate your own fields, you should:

  • Write the label of your field as uppercase (otherwise Acy won't look at your language file to translated it)
  • Add your translation in the AcyMailing language file that you can edit from the Acy configuration page.
    There is a special area there to add your custom translations so they won't be deleted if you update/upgrade.

 

The same way you can translate each option of your dropdown/radio/checkboxes fields:

For example a "gender" field with the values:
Value / Title
/ GENDER_SELECT
male / GENDER_MALE
female / GENDER FEMALE

Write these translations in your AcyMailing language file via the Acy configuration page:
GENDER="Gender"
GENDER_SELECT="Please select..."
GENDER_MALE="Mr"
GENDER_FEMALE="Ms"
CONFIRM_MSG_HELLO_MALE="Dear Mr"
CONFIRM_MSG_HELLO_FEMALE="Dear Ms"
CONFIRM_MSG_HELLO_SELECT="Dear"

And then in your email you can use the following if-condition-syntax:
{if:gender=male}{trans:CONFIRM_MSG_HELLO_MALE} {subtag:title} {subtag:nachname}{/if}
{if:gender=female}{trans:CONFIRM_MSG_HELLO_FEMALE} {subtag:title} {subtag:nachname}{/if}
{if:gender=select}{trans:CONFIRM_MSG_HELLO_SELECT} {subtag:title} {subtag:nachname}{/if}

 

How can I display the user custom fields on the notification message?

By default, the notification message contains the user name, its e-mail address and its IP.
You can add other fields to that message by editing it via the AcyMailing configuration page and add the tag:

{user:COLUMN_NAME}

So for example if you created a custom field called "country", you should insert the tag {user:country} in the notification message.

Do not use {subtag:country} otherwise the receiver information will be displayed, not the one from your newly created user.

Follow us :