Products.ATCountryWidget 0.2.6
A country widget for Archetypes
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
Authors
Christian Zagrodnick (cz@gocept.com) Michael Howitz (mh@gocept.com) Daniel Havlik (dh@gocept.com)
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)
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| Products.ATCountryWidget-0.2.6.zip (md5) | Source | 2011-04-12 | 45KB | 518 | |
- Author: Daniel Havlik
- Home Page: http://pypi.python.org/pypi/Products.ATCountryWidget
- Keywords: archetypes plone
- License: ZPL 2.1
- Package Index Owner: ctheune, aclark
- DOAP record: Products.ATCountryWidget-0.2.6.xml
