Pimcore\Model\Object\ClassDefinition\Data\Localizedfields::getDiffDataForEditmode PHP Метод

getDiffDataForEditmode() публичный Метод

See parent class.
public getDiffDataForEditmode ( mixed $data, null $object = null, mixed $params = [] ) : array | null
$data mixed
$object null
$params mixed
Результат array | null
    public function getDiffDataForEditmode($data, $object = null, $params = [])
    {
        $return = [];
        $myname = $this->getName();
        if (!$data instanceof Object\Localizedfield) {
            return [];
        }
        foreach ($data->getItems() as $language => $values) {
            foreach ($this->getFieldDefinitions() as $fd) {
                $fieldname = $fd->getName();
                $subdata = $fd->getDiffDataForEditmode($values[$fieldname], $object, $params);
                foreach ($subdata as $item) {
                    $diffdata["field"] = $this->getName();
                    $diffdata["key"] = $this->getName() . "~" . $fieldname . "~" . $item["key"] . "~" . $language;
                    $diffdata["type"] = $item["type"];
                    $diffdata["value"] = $item["value"];
                    // this is not needed anymoe
                    unset($item["type"]);
                    unset($item["value"]);
                    $diffdata["title"] = $this->getName() . " / " . $item["title"];
                    $diffdata["lang"] = $language;
                    $diffdata["data"] = $item;
                    $diffdata["extData"] = ["fieldname" => $fieldname];
                    $diffdata["disabled"] = $item["disabled"];
                    $return[] = $diffdata;
                }
            }
        }
        return $return;
    }