Pimcore\Model\Object\ClassDefinition\Data\CalculatedValue::getGetterCodeLocalizedfields PHP Method

getGetterCodeLocalizedfields() public method

Creates getter code which is used for generation of php file for localized fields in classes using this data type
public getGetterCodeLocalizedfields ( $class ) : string
$class
return string
    public function getGetterCodeLocalizedfields($class)
    {
        $key = $this->getName();
        $code = '/**' . "\n";
        $code .= '* Get ' . str_replace(["/**", "*/", "//"], "", $this->getName()) . " - " . str_replace(["/**", "*/", "//"], "", $this->getTitle()) . "\n";
        $code .= '* @return ' . $this->getPhpdocType() . "\n";
        $code .= '*/' . "\n";
        $code .= "public function get" . ucfirst($key) . ' ($language = null) {' . "\n";
        $code .= "\t" . 'if (!$language) {' . "\n";
        $code .= "\t\t" . 'try {' . "\n";
        $code .= "\t\t\t" . '$locale = \\Zend_Registry::get("Zend_Locale");' . "\n";
        $code .= "\t\t\t" . 'if (\\Pimcore\\Tool::isValidLanguage((string) $locale)) {' . "\n";
        $code .= "\t\t\t\t" . '$language = (string) $locale;' . "\n";
        $code .= "\t\t\t" . '} else {' . "\n";
        $code .= "\t\t\t\t" . 'throw new \\Exception("Not supported language");' . "\n";
        $code .= "\t\t\t" . '}' . "\n";
        $code .= "\t\t" . '} catch (\\Exception $e) {' . "\n";
        $code .= "\t\t\t" . '$language = Tool::getDefaultLanguage();' . "\n";
        $code .= "\t\t" . '}' . "\n";
        $code .= "\t" . '}' . "\n";
        $code .= "\t" . '$data' . " = new \\Pimcore\\Model\\Object\\Data\\CalculatedValue('" . $key . "');\n";
        $code .= "\t" . '$data->setContextualData("localizedfield", "localizedfields", null, $language);' . "\n";
        $code .= "\t" . '$data = Service::getCalculatedFieldValue($this, $data);' . "\n";
        $code .= "\treturn " . '$data' . ";\n";
        $code .= "\t" . "}\n\n";
        return $code;
    }