Skip to main content

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

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Products.ATCountryWidget-0.2.6.zip (46.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page