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)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file Products.ATCountryWidget-0.2.6.zip.
File metadata
- Download URL: Products.ATCountryWidget-0.2.6.zip
- Upload date:
- Size: 46.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
329600d2778bd3000548710ae5298790850a55aedf1b024021fb5d1287b8b1ac
|
|
| MD5 |
a264e414463e0a892caecd4da50412cc
|
|
| BLAKE2b-256 |
f3b33860289dfd1a5c0d6f864a1f2d90b9651cff9e4c3423d4b4b52dd99afa54
|