fix: [element] Made single views aware of multiple meta-fields
parent
bb9ca6e69d
commit
26859d045e
|
@ -334,7 +334,7 @@ class CRUDComponent extends Component
|
||||||
$this->setAllTags();
|
$this->setAllTags();
|
||||||
}
|
}
|
||||||
$getParam = isset($params['get']) ? $params['get'] : $params;
|
$getParam = isset($params['get']) ? $params['get'] : $params;
|
||||||
if (true) { // TODO: check if has meta field behavior
|
if ($this->Table->hasBehavior('MetaFields')) {
|
||||||
if (empty($getParam['contain'])) {
|
if (empty($getParam['contain'])) {
|
||||||
$getParam['contain'] = [];
|
$getParam['contain'] = [];
|
||||||
}
|
}
|
||||||
|
@ -500,7 +500,7 @@ class CRUDComponent extends Component
|
||||||
$params['contain'][] = 'Tags';
|
$params['contain'][] = 'Tags';
|
||||||
$this->setAllTags();
|
$this->setAllTags();
|
||||||
}
|
}
|
||||||
if ($this->Table->hasBehavior('MetaFields')) { // TODO: check if has meta field behavior
|
if ($this->Table->hasBehavior('MetaFields')) {
|
||||||
if (!empty($this->request->getQuery('full'))) {
|
if (!empty($this->request->getQuery('full'))) {
|
||||||
$params['contain']['MetaFields'] = ['MetaTemplateFields' => 'MetaTemplates'];
|
$params['contain']['MetaFields'] = ['MetaTemplateFields' => 'MetaTemplates'];
|
||||||
} else {
|
} else {
|
||||||
|
@ -509,7 +509,9 @@ class CRUDComponent extends Component
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = $this->Table->get($id, $params);
|
$data = $this->Table->get($id, $params);
|
||||||
$data = $this->attachMetaData($id, $data);
|
$metaTemplates = $this->getMetaTemplates();
|
||||||
|
$data = $this->attachMetaTemplates($data, $metaTemplates->toArray());
|
||||||
|
// $data = $this->attachMetaData($id, $data);
|
||||||
if (isset($params['afterFind'])) {
|
if (isset($params['afterFind'])) {
|
||||||
$data = $params['afterFind']($data);
|
$data = $params['afterFind']($data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
$tabData = [
|
$tabData = [
|
||||||
'navs' => [],
|
'navs' => [],
|
||||||
'content' => []
|
'content' => []
|
||||||
];
|
];
|
||||||
foreach($data['metaTemplates'] as $metaTemplate) {
|
foreach($data['MetaTemplates'] as $metaTemplate) {
|
||||||
if (!empty($metaTemplate->meta_template_fields)) {
|
if (!empty($metaTemplate->meta_template_fields)) {
|
||||||
if ($metaTemplate->is_default) {
|
if ($metaTemplate->is_default) {
|
||||||
$tabData['navs'][] = [
|
$tabData['navs'][] = [
|
||||||
|
@ -16,11 +16,14 @@ foreach($data['metaTemplates'] as $metaTemplate) {
|
||||||
}
|
}
|
||||||
$fields = [];
|
$fields = [];
|
||||||
foreach ($metaTemplate->meta_template_fields as $metaTemplateField) {
|
foreach ($metaTemplate->meta_template_fields as $metaTemplateField) {
|
||||||
$metaField = $metaTemplateField->meta_fields[0];
|
$labelPrintedOnce = false;
|
||||||
$fields[] = [
|
foreach ($metaTemplateField->metaFields as $metaField) {
|
||||||
'key' => $metaField->field,
|
$fields[] = [
|
||||||
'raw' => $metaField->value
|
'key' => !$labelPrintedOnce ? $metaField->field : '',
|
||||||
];
|
'raw' => $metaField->value
|
||||||
|
];
|
||||||
|
$labelPrintedOnce = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$listTable = $this->Bootstrap->listTable([
|
$listTable = $this->Bootstrap->listTable([
|
||||||
'hover' => false,
|
'hover' => false,
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
'tableClass' => 'col-sm-8',
|
'tableClass' => 'col-sm-8',
|
||||||
'elementsRootPath' => '/genericElements/SingleViews/Fields/'
|
'elementsRootPath' => '/genericElements/SingleViews/Fields/'
|
||||||
];
|
];
|
||||||
if (!empty($data['metaTemplates']) && (empty($skip_meta_templates)) && !empty($combinedFieldsView)) {
|
if (!empty($data['MetaTemplates']) && (empty($skip_meta_templates)) && !empty($combinedFieldsView)) {
|
||||||
$listTableOptions['tableClass'] = '';
|
$listTableOptions['tableClass'] = '';
|
||||||
}
|
}
|
||||||
$listTable = $this->Bootstrap->listTable($listTableOptions,[
|
$listTable = $this->Bootstrap->listTable($listTableOptions,[
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$metafieldsPanel = '';
|
$metafieldsPanel = '';
|
||||||
if (!empty($data['metaTemplates']) && (empty($skip_meta_templates))) {
|
if (!empty($data['MetaTemplates']) && (empty($skip_meta_templates))) {
|
||||||
$metaFieldsData = [
|
$metaFieldsData = [
|
||||||
'data' => $data,
|
'data' => $data,
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in New Issue