PHP Class Piwik\View
View lets you set properties that will be passed on to a Twig template.
View will also set several properties that will be available in all Twig
templates, including:
- **currentModule**: The value of the **module** query parameter.
- **currentAction**: The value of the **action** query parameter.
- **userLogin**: The current user login name.
- **sites**: List of site data for every site the current user has at least
view access for.
- **url**: The current URL (sanitized).
- **token_auth**: The current user's token auth.
- **userHasSomeAdminAccess**: True if the user has admin access to at least
one site, false if otherwise.
- **userIsSuperUser**: True if the user is the superuser, false if otherwise.
- **latest_version_available**: The latest version of Piwik available.
- **isWidget**: The value of the 'widget' query parameter.
- **show_autocompleter**: Whether the site selector should be shown or not.
- **loginModule**: The name of the currently used authentication module.
- **userAlias**: The alias of the current user.
### Template Naming Convention
Template files should be named after the controller method they are used in.
If they are used in more than one controller method or are included by another
template, they should describe the output they generate and be prefixed with
an underscore, eg, **_dataTable.twig**.
### Twig
Twig templates must exist in the **templates** folder in a plugin's root
folder.
The following filters are available to twig templates:
- **translate**: Outputs internationalized text using a translation token, eg,
{{ 'General_Date'|translate }}. sprintf parameters can be passed
to the filter.
- **urlRewriteWithParameters**: Modifies the current query string with the given
set of parameters, eg,
{{ {'module':'MyPlugin', 'action':'index'} | urlRewriteWithParameters }}
- **sumTime**: Pretty formats an number of seconds.
- **money**: Formats a numerical value as a monetary value using the currency
of the supplied site (second arg is site ID).
eg,
{{ 23|money(site.idsite)|raw }}
- **truncate**: Truncates the text to certain length (determined by first arg.)
eg, {{ myReallyLongText|truncate(80) }}
- **implode**: Calls implode
.
- **ucwords**: Calls ucwords
.
The following functions are available to twig templates:
- **linkTo**: Modifies the current query string with the given set of parameters,
eg {{ linkTo({'module':'MyPlugin', 'action':'index'}) }}
.
- **sparkline**: Outputs a sparkline image HTML element using the sparkline image
src link. eg, {{ sparkline(sparklineUrl) }}
.
- **postEvent**: Posts an event that allows event observers to add text to a string
which is outputted in the template, eg, {{ postEvent('MyPlugin.event') }}
- **isPluginLoaded**: Returns true if the supplied plugin is loaded, false if otherwise.
{% if isPluginLoaded('Goals') %}...{% endif %}`
### Examples
**Basic usage**
a controller method
public function myView()
{
$view = new View("@MyPlugin/myView");
$view->property1 = "a view property";
$view->property2 = "another view property";
return $view->render();
}
Show file
Open project: piwik/piwik
Class Usage Examples
Protected Properties
Public Methods
Protected Methods
Private Methods
Method Details
__construct()
public method
public __construct ( string $templateFile ) |
$templateFile |
string |
The template file to load. Must be in the following format:
`"@MyPlugin/templateFileName"`. Note the absence of .twig
from the end of the name. |
Variable names may not be prefixed with '_'.
Returns true if a template variable has been set or not.
Variable names may not be prefixed with '_'.
applyFilter_cacheBuster()
protected method
Assign value to a variable for use in a template
clearCompiledTemplates()
public static method
Clear compiled Twig templates
disableCacheBuster()
public method
..) to JavaScript and stylesheet files
getTemplateFile()
public method
Returns the template filename.
getTemplateVars()
public method
Returns the variables to bind to the template when rendering.
public getTemplateVars ( array $override = [] ) : array |
$override |
array |
Template variable override values. Mainly useful
when including View templates in other templates. |
return |
array |
|
public getTwig ( ) : Twig_Environment |
return |
Twig_Environment |
|
See {@link setContentType()}.
renderTwigTemplate()
protected method
setContentType()
public method
Set stored value used in the Content-Type HTTP header field. The header is
set just before rendering.
setXFrameOptions()
public method
_Note: setting this allows you to make sure the View **cannot** be
embedded in iframes. Learn more
here._
singleReport()
public static method
Can be used for pages that display only one report to avoid having to create
a new template.
Property Details
$templateVars protected property