_locale = $locale; } /** * Get the locale * * @return string */ public function getLocale() { if (empty($this->_locale)) { return Locale::getLocale(); } return $this->_locale; } // // Template methods from GridCellProvider // /** * This implementation assumes an element that is a * DataObject. It will retrieve an element in the * configured locale. * * @see GridCellProvider::getTemplateVarsFromRowColumn() * * @param \PKP\controllers\grid\GridRow $row * @param GridColumn $column * * @return array */ public function getTemplateVarsFromRowColumn($row, $column) { $element = $row->getData(); $columnId = $column->getId(); assert($element instanceof \PKP\core\DataObject && !empty($columnId)); $data = $element->getData($columnId); // For localized fields, $data will be an array; otherwise, // it will be a value suitable for conversion to string. // If it's localized, fetch the value in the current locale. if (is_array($data)) { $data = $element->getLocalizedData($columnId); } return ['label' => $data]; } } if (!PKP_STRICT_MODE) { class_alias('\PKP\controllers\grid\DataObjectGridCellProvider', '\DataObjectGridCellProvider'); }