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

  • 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:

AFG::AfghanistanALB::AlbaniaDZA::AlgeriaASM::American SamoaAND::AndorraAGO::AngolaAIA::AnguillaATA::AntarcticaATG::Antigua and BarbudaARG::ArgentinaARM::ArmeniaABW::ArubaAUS::AustraliaAUT::AustriaAZE::AzerbaijanBHS::BahamasBHR::BahrainBGD::BangladeshBRB::BarbadosBLR::BelarusBEL::BelgiumBLZ::BelizeBEN::BeninBMU::BermudaBTN::BhutanBOL::BoliviaBIH::Bosnia and HerzegowinaBWA::BotswanaBVT::Bouvet IslandBRA::BrazilIOT::British Indian Ocean TerritoryBRN::Brunei DarussalamBGR::BulgariaBFA::Burkina FasoBDI::BurundiKHM::CambodiaCMR::CameroonCAN::CanadaCPV::Cape VerdeCYM::Cayman IslandsCAF::Central African RepublicTCD::ChadCHL::ChileCHN::ChinaCXR::Christmas IslandCCK::Cocos (Keeling) IslandsCOL::ColombiaCOM::ComorosCOG::CongoCOK::Cook IslandsCRI::Costa RicaCIV::Cote D'IvoireHRV::CroatiaCUB::CubaCYP::CyprusCZE::Czech RepublicDNK::DenmarkDJI::DjiboutiDMA::DominicaDOM::Dominican RepublicTMP::East TimorECU::EcuadorEGY::EgyptSLV::El SalvadorGNQ::Equatorial GuineaERI::EritreaEST::EstoniaETH::EthiopiaFLK::Falkland Islands (Malvinas)FRO::Faroe IslandsFJI::FijiFIN::FinlandFRA::FranceFXX::France, MetropolitanGUF::French GuianaPYF::French PolynesiaATF::French Southern TerritoriesGAB::GabonGMB::GambiaGEO::GeorgiaDEU::GermanyGHA::GhanaGIB::GibraltarGRC::GreeceGRL::GreenlandGRD::GrenadaGUM::GuamGTM::GuatemalaGIN::GuineaGNB::Guinea-BissauGUY::GuyanaHTI::HaitiHMD::Heard and McDonald IslandsHND::HondurasHKG::Hong KongHUN::HungaryISL::IcelandIND::IndiaIDN::IndonesiaIRN::IranIRQ::IraqIRL::IrelandISR::IsraelITA::ItalyJAM::JamaicaJPN::JapanJOR::JordanKAZ::KazakhstanKEN::KenyaKIR::KiribatiPRK::Korea, NorthKOR::Korea, SouthKWT::KuwaitKGZ::KyrgyzstanLAO::LaosLVA::LatviaLBN::LebanonLSO::LesothoLBR::LiberiaLBY::Libyan Arab JamahiriyaLIE::LiechtensteinLTU::LithuaniaLUX::LuxembourgMAC::MacauMKD::MacedoniaMDG::MadagascarMWI::MalawiMYS::MalaysiaMDV::MaldivesMLI::MaliMLT::MaltaMHL::Marshall IslandsMRT::MauritaniaMUS::MauritiusMYT::MayotteMEX::MexicoFSM::MicronesiaMDA::MoldovaMCO::MonacoMNG::MongoliaMNE::MontenegroMSR::MontserratMAR::MoroccoMOZ::MozambiqueMMR::MyanmarNAM::NamibiaNRU::NauruNPL::NepalNLD::NetherlandsANT::Netherlands AntillesNCL::New CaledoniaNZL::New ZealandNIC::NicaraguaNER::NigerNGA::NigeriaNIU::NiueNFK::Norfolk IslandMNP::Northern Mariana IslandsNOR::NorwayOMN::OmanPAK::PakistanPLW::PalauPAN::PanamaPNG::Papua New GuineaPRY::ParaguayPER::PeruPHL::PhilippinesPCN::PitcairnPOL::PolandPRT::PortugalPRI::Puerto RicoQAT::QatarROM::RomaniaRUS::RussiaRWA::RwandaKNA::Saint Kitts and NevisLCA::Saint LuciaVCT::Saint Vincent and the GrenadinesWSM::SamoaSMR::San MarinoSTP::Sao Tome and PrincipeSAU::Saudi ArabiaSEN::SenegalSRB::SerbiaSYC::SeychellesSLE::Sierra LeoneSGP::SingaporeSVK::SlovakiaSVN::SloveniaSLB::Solomon IslandsSOM::SomaliaZAF::South AfricaSGS::South Georgia and the South Sandwich IslandsESP::SpainLKA::Sri LankaSHN::St. HelenaSPM::St. Pierre and MiquelonSDN::SudanSUR::SurinameSJM::Svalbard and Jan Mayen IslandsSWZ::SwazilandSWE::SwedenCHE::SwitzerlandSYR::Syrian Arab RepublicTWN::TaiwanTJK::TajikistanTZA::TanzaniaTHA::ThailandTGO::TogoTKL::TokelauTON::TongaTTO::Trinidad and TobagoTUN::TunisiaTUR::TurkeyTKM::TurkmenistanTCA::Turks and Caicos IslandsTUV::TuvaluUGA::UgandaUKR::UkraineARE::United Arab EmiratesGBR::United KingdomUMI::United States Minor Outlying IslandsUSA::United States of AmericaURY::UruguayUZB::UzbekistanVUT::VanuatuVAT::Vatican City StateVEN::VenezuelaVNM::VietnamVGB::Virgin Islands (British)VIR::Virgin Islands (U.S.)WLF::Wallis and Futuna IslandsESH::Western SaharaYEM::YemenYUG::YugoslaviaZAR::ZaireZMB::ZambiaZWE::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:

AL::AlabamaAK::AlaskaAZ::ArizonaAR::ArkansasCA::CaliforniaCO::ColoradoCT::ConnecticutDE::DelawareDC::District of ColumbiaFL::FloridaGA::GeorgiaHI::HawaiiID::IdahoIL::IllinoisIN::IndianaIA::IowaKS::KansasKY::KentuckyLA::LouisianaME::MaineMT::MontanaNE::NebraskaNV::NevadaNH::New HampshireNJ::New JerseyNM::New MexicoNY::New YorkNC::North CarolinaND::North DakotaOH::OhioOK::OklahomaOR::OregonMD::MarylandMA::MassachusettsMI::MichiganMN::MinnesotaMS::MississippiMO::MissouriPA::PennsylvaniaRI::Rhode IslandSC::South CarolinaSD::South DakotaTN::TennesseeTX::TexasUT::UtahVT::VermontVA::VirginiaWA::WashingtonWV::West VirginiaWI::WisconsinWY::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:

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:

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:

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.

Last updated