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 4fba8c2426 Remove unreachable break statements; Pep8. 2012-03-08 12:37:57 +01:00
docs stop hardcoding the field name. fixes the content listing tile edit form 2011-12-04 15:25:08 -08:00
plone Remove unreachable break statements; Pep8. 2012-03-08 12:37:57 +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