protected function getFieldGridConfig($field, $gridType, $position, $force = false, $keyPrefix = null)
{
$key = $keyPrefix . $field->getName();
$config = null;
$title = $field->getName();
if (method_exists($field, "getTitle")) {
if ($field->getTitle()) {
$title = $field->getTitle();
}
}
if ($field->getFieldType() == "slider") {
$config["minValue"] = $field->getMinValue();
$config["maxValue"] = $field->getMaxValue();
$config["increment"] = $field->getIncrement();
}
if (method_exists($field, "getWidth")) {
$config["width"] = $field->getWidth();
}
if (method_exists($field, "getHeight")) {
$config["height"] = $field->getHeight();
}
$visible = false;
if ($gridType == "search") {
$visible = $field->getVisibleSearch();
} elseif ($gridType == "grid") {
$visible = $field->getVisibleGridView();
} elseif ($gridType == "all") {
$visible = true;
}
if (!$field->getInvisible() && ($force || $visible)) {
Object\Service::enrichLayoutDefinition($field);
return ["key" => $key, "type" => $field->getFieldType(), "label" => $title, "config" => $config, "layout" => $field, "position" => $position];
} else {
return null;
}
}