Skip to content

Country select field localized for every single language. It is intended to be used in ATK14 Forms.

Notifications You must be signed in to change notification settings

atk14/CountryField

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CountryField

Build Status

Country select field localized for every single language. It is intended to be used in ATK14 Forms.

It uses https://github.com/umpirsky/country-list as the localized countries list.

It also contains Smarty modifier which displays the country name according to its code ISO.

Basic usage

In a form:

<?php
// file: app/forms/users/create_new_form.php
class CreateNewForm extends ApplicationForm {

  function set_up(){
    $this->add_field("name", new CharField([
      "label" => "Your name",
      "hint" => "John Doe"
    ]));

    // other fields...

    $this->add_field("country_code", new CountryField([
      "label" => "Choose your country",
      "initial" => "CZ"
    ]));
  }
}

In a template:

{*
 * file: app/views/users/detail.tpl
 *}

 <h1>{t}Your personal data{/t}</h1>

 <h3>{t}Address{/t}</h3>

 {t}Country:{/t} {$user->getCountryCode()|to_country_name}

Special cases

It's possible to define a limited set of countries.

$this->add_field("country_code", new CountryField([
  "label" => "Choose your favourite V4 country",
  "allowed_countries" => ["CZ","SK","PL","HU"]
]));

It's also possible to define list of countries which are not allowed.

$this->add_field("country_code", new CountryField([
  "label" => "Choose country",
  "disallowed_countries" => ["BZ","IO","CF"]
]));

A title of the empty choice can be set with option empty_choice_text:

	$this->add_field("country_code", new CountryField([
		"empty_choice_text" => "-- select country --"
	]));

The empty choice can be omitted with option include_empty_choice:

	$this->add_field("country_code", new CountryField([
		"include_empty_choice" => false
	]));

Installation

Just use the Composer:

cd path/to/your/atk14/project/
composer require atk14/country-field

ln -s ../../vendor/atk14/country-field/src/app/fields/country_field.php app/fields/country_field.php
ln -s ../../vendor/atk14/country-field/src/app/helpers/modifier.to_country_name.php app/helpers/modifier.to_country_name.php

License

CountryField is free software distributed under the terms of the MIT license

About

Country select field localized for every single language. It is intended to be used in ATK14 Forms.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages