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
Nicolas Demonte 66311179e9 Store additional criterias in advanced search #32781
- text
- date(s)
- multiple selections
2020-04-14 15:44:03 +02:00
plone Store additional criterias in advanced search #32781 2020-04-14 15:44:03 +02:00
.gitignore Back to development. 2012-03-09 10:48:12 +01:00
CHANGES.rst Update CHANGES.rst 2013-04-29 11:44:54 +03:00
README.rst Fix repo links. 2012-03-09 10:44:05 +01:00
setup.py Define a foreground color when using a defined background color. 2013-04-09 16:41:40 +02: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/master/plone/app/collection/interfaces.py#L16
  and
  https://github.com/plone/plone.app.contentlistingtile/blob/master/plone/app/contentlistingtile/tile.py#L18
  for further examples of how to use plone.formwidget.querystring.


Credits
=======

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