plone.app.tiles
is Plone's UI integration for plone.tiles.
This package contains the following things:
- A view
@@add-tile
, and an associated form, which can be used to create a new tile based on the tile's schema. For transient tiles, this merely redirects to a URL with an appropriate query string. For persistent tiles, it will also save the necessary data. This will fire anIObjectCreatedEvent
as well as anIObjectAddedEvent
for the newly created tile (a transient object) when successfully submitted. In the case of theIObjectAddedEvent
, thenewParent
attribute will be the tile's context, and thenewName
attribute will be the tile's id. - The
@@add-tile
view, when accessed directly, allows the user to choose from all available tiles (subject to the tile's add permission) and redirects to the appropriate@@add-tile/<tile-type>
URL to configure the tile. - A view
@@edit-tile
, and an associated form, which can be used to edit a tile based on the tile's schema. This will fire anIObjectModifiedEvent
for the modified tile (a transient object) when successfully submitted. - A view
@@delete-tile
, and associated form, which can be used to delete a tile and associated persistent data. This can also be called by AJAX code given appropriate request parameters. This will fire anIObjectRemovedEvent
for the removed tile (a transient object). TheoldParent
attribute will be the tile's context, and theoldName
attribute will be the tile's id. - A vocabulary
plone.app.tiles.RegisteredTiles
, which contains all registered tile types. - A vocabulary
plone.app.tiles.AvailableTiles
, which contains all registered tile types, which have been registered for the current context. - A vocabulary
plone.app.tiles.AllowedTiles
, which contains all registered tile types, which have been registered for the current context, and, which are currently allowed to be added (for which the current user has required add permission).
The default add and edit forms should suffice for most use cases. You can use plone.autoform to configure alternative widgets.
If you need a custom form,
you can register an add view as an adapter from (context, request, tileType)
,
where tileType
is an instance providing plone.tiles.interfaces.ITileType
.
The actual integration of the various views is left up to other packages (such as the Mosaic editor).