View Models
File Location
{application root}/siteadmin/modules/{vendor}/{module}/ViewModels/The ViewModel Interface
Your First ViewModel
View Model Class
<?php
use sa\application\IViewModel;
class ShippingOptionsListViewModel implements IViewModel {
public $defaultOptions;
public $heading;
private $shippingOptions;
public function __construct(array $data) {
$this->defaultOptions = $data['default_options'];
$this->heading = $data['shipping_heading'];
$this->shippingOptions = null;
}
public function getShippingOptions() {
if ($this->shippingOptions != null) {
return $this->shippingOptions;
}
$options = array();
// <get shipping options>
return $options;
}
public function getXssSanitationExcludes() {
return array('defaultOptions', 'heading');
}
}Scope of Public Properties
Scope of Private Properties
Helper Methods
Binding the View Model
Subviews
Directly in Controller Method
Last updated