Fork of plone.formwidget.querystring
This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Timo Stollenwerk 6f0b26cbc5 Do not reuse querywidget var to make jslint happy. 2012-03-09 10:38:15 +01:00
docs Update history. 2012-03-09 10:28:13 +01:00
plone Do not reuse querywidget var to make jslint happy. 2012-03-09 10:38:15 +01:00
.gitignore gitignore updated. 2011-09-22 17:06:28 +02:00
README.rst Whitespace 2012-02-07 14:08:16 +01:00
setup.py Start 1.0b1 development. 2012-02-07 14:04:48 +01:00

README.rst

Introduction
============

A z3c.form-based widget for composing a Query string/search.

This widget is used by the contentlisting tile and the dexterity-based version
of plone.app.collection (>2.0), to make selections, and 'build' your query. It
stores a list of dictionaries containing the query you've build. This query is
being parsed by using plone.app.collection and that used
plone.app.contentlisting to display the results in the tile.


Installation
============

If you install plone.formwidget.querystring, you probably want to use it in
an add-on product for Plone. Therefore you can add it to the setup.py of your
package::

    install_requires=[
        'plone.formwidget.querystring',
        ...
    ],

You probably want to also use it to the list of dependencies in your generic
setup profile (profiles/default/metadata.xml)::

    <metadata>
      <version>1</version>
      <dependencies>
        <dependency>profile-plone.formwidget.querystring:default</dependency>
      </dependencies>
    </metadata>


Dexterity Widget
================

To assign the plone.formwidget.querystring widget to a field in your custom
content type, you can use a plone.autoform directive in the interfaces
definition (interfaces.py)::


    from plone.formwidget.querystring.widget import QueryStringFieldWidget


    class IMyDexteritySchema(form.Schema):

        form.widget(query=QueryStringFieldWidget)
        query = schema.List(
            title=_(u'label_query', default=u'Search terms'),
            description=_(u"""Define the search terms for the items you want to
                list by choosing what to match on.
                The list of results will be dynamically updated"""),
            value_type=schema.Dict(value_type=schema.Field(),
                                   key_type=schema.TextLine()),
            required=False
            )


.. note::

  See:: See
  https://github.com/plone/plone.app.collection/blob/dexterity-tisto/plone/app/collection/interfaces.py#L16
  and
  https://github.com/plone/plone.app.standardtiles/blob/master/plone/app/standardtiles/contentlisting.py#L19
  for further examples of how to use plone.formwidget.querystring.


Credits
=======

  * Kim Chee Leong
  * Ralph Jacobs
  * Jonas Baumann
  * Hanno Schlichting
  * Timo Stollenwerk