A country widget for Archetypes
Project description
A country widget for Archetypes
Adds a new tool, portal_countryutil to the Plone root, which lets you manage a list of areas which may contain several countries from the official ISO-country list via the ZMI. A complete list of areas and their countries is being created at install time.
Provides three widgets which you can use in your own Archetype:
- CountryWidget
the areas and countries defined in the country tool are then rendered as a dropdown (with <optgroup>).
- AreaWidget
provides a dropdown with all areas you have defined.
- MultiCountryWidget
for use with LinesField, lets you select multiple countries
Examples
Here is some code that demonstrates how to use those widgets:
---- YourArcheType.py ---- # Import the widget/s: from Products.ATCountryWidget.Widget import CountryWidget, AreaWidget # Define the field/s in your schema: [...] StringField( 'country', validators=('isValidISOCountry',), widget=CountryWidget(label='Country', provideNullValue=1, # this is default nullValueTitle='-', # this is default omitCountries=None, # this is default, can be a # list of country codes which # are not displayed description='Select a country') ), [... and/or ...] StringField( 'area', widget=AreaWidget(label='Area', provideNullValue=1, # this is default nullValueTitle='-', # this is default description='Select an area') ), [... and/or ...] LinesField( 'countries', widget=MultiCountryWidget(label='Countries', omitCountries=None, # this is default, can be a # list of country codes which # are not displayed description='Select countries') ), [...]
Use without Archetypes
To use your countrylist in a custom page template outside of an Archetype (e.g. in a search form) you can directly use the API the country tool provides:
<select tal:define="countrytool here/portal_countryutils"> <option>Choose...</option> <optgroup label="Western Europe" tal:repeat="area countrytool/listAreas" tal:attributes="label area/name"> <option value="DE" tal:repeat="country area/countries" tal:content="country/name" tal:attributes="value country/isocc">Germany </option> </optgroup> </select>
For more details on how to customize content-types, add custom fields to content-types, see Martin’s tutorial: http://plone.org/documentation/kb/richdocument/extending-atct
Changelog
- 2011-04-11
Release Plone 4 compat version
- 2009-02-21
Released as egg.
- 2006-04-19
Added patch from Norman H. Voss (missing country/rearranged default areas)
Updated README to cover MultiCountryWidget
- 2006-03-14
Added multiselect widget (MultiCountryWidget)
- 2005-09-02
Compatibility with Plone 2.1 (RC3)
- 2005-06-29
Added parameter ‘omitCountries’ to CountryWidget. Country ISO codes in this list are omitted from display in selection.
- 2005-02-20
added listing of languages and their two letter ISO codes
- 2004-08-30
release 0.2
added area-widget
provideNullValue & nullValue properties for widgets
creation of complete area-country structure in installer
migrated to AT 1.3 beta
- 2004-07-05
release 0.1.1
added validator
- 2004-06-29
initial release 0.1
Additional credits:
Norman H. Voss for a patch (04/2006)
Alex Clark for releasing Plone 4 compat version (from gocept trunk moved to the collective, 04/2011)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for Products.ATCountryWidget-0.2.6.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 329600d2778bd3000548710ae5298790850a55aedf1b024021fb5d1287b8b1ac |
|
MD5 | a264e414463e0a892caecd4da50412cc |
|
BLAKE2b-256 | f3b33860289dfd1a5c0d6f864a1f2d90b9651cff9e4c3423d4b4b52dd99afa54 |