Controller
onlyProvides()
Signature
Section titled “Signature”onlyProvides() — returns void
Available in: controller
Category: Provides Functions
Description
Section titled “Description”Use this in an individual controller action to define which formats the action will respond with.
This can be used to define provides behavior in individual actions or to override a global setting set with provides in the controller’s config().
Restrictions are enforced (since 4.0.4): renderWith() falls back to the html view for a
format outside the list, and the automatic render in $callAction() skips view rendering for
non-acceptable, non-html formats.
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
formats | string | no | — | Formats to instruct the controller to provide. Valid values are html (the default), xml, json, csv, pdf, and xls. |
action | string | no | [runtime expression] | Name of action, defaults to current. |
Examples
Section titled “Examples”// 1. Override a global `provides()` setting for a single action — only respond with HTML
onlyProvides("html");
// 2. Allow a specific action to respond with JSON and XML only
onlyProvides("json,xml");
// 3. Override the provides formats for a named action from within another context (e.g. config())
onlyProvides(formats="json", action="create");