public static function parse_record_fields($content, $data = [], $record = null, $ignore = [], $html = true)
    {
        $content = new SSViewer_FromString($content);

        if (!$record) {
            $record = ArrayData::create($data);
        } else {
            $record = clone $record;
            $record = $record->customise($data);
        }

        if (!empty($ignore)) {
            foreach ($ignore as $i) {
                $record->$i = null;
            }
        }

        if ($html) {
            return DBField::create_field('HTMLText', $content->process($record))->forTemplate();
        } else {
            return DBField::create_field('Text', $content->process($record))->forTemplate();
        }
    }