diff --git a/src/Pressmind/ORM/Object/MediaObject.php b/src/Pressmind/ORM/Object/MediaObject.php index f255d70..03451a8 100644 --- a/src/Pressmind/ORM/Object/MediaObject.php +++ b/src/Pressmind/ORM/Object/MediaObject.php @@ -951,25 +951,34 @@ public function createSearchIndex() $complete_fulltext = []; $fulltext = []; foreach ($this->data as $data) { - $complete_fulltext = []; + $complete_fulltext[$data->language] = []; $fulltext[] = [ 'var_name' => 'code', 'language' => $data->language, 'id_media_object' => $this->getId(), 'fulltext_values' => $this->code ]; + if (in_array('code', $config['data']['media_types_fulltext_index_fields'][$this->id_object_type])) { + $complete_fulltext[$data->language][] = $this->code; + } $fulltext[] = [ 'var_name' => 'name', 'language' => $data->language, 'id_media_object' => $this->getId(), 'fulltext_values' => $this->name ]; + if (in_array('name', $config['data']['media_types_fulltext_index_fields'][$this->id_object_type])) { + $complete_fulltext[$data->language][] = $this->name; + } $fulltext[] = [ 'var_name' => 'tags', 'language' => $data->language, 'id_media_object' => $this->getId(), 'fulltext_values' => $this->tags ]; + if (in_array('tags', $config['data']['media_types_fulltext_index_fields'][$this->id_object_type])) { + $complete_fulltext[$data->language][] = $this->tags; + } foreach ($data->getPropertyDefinitions() as $name => $definition) { $add_to_complete_fulltext = in_array($name, $config['data']['media_types_fulltext_index_fields'][$this->id_object_type]); if ($definition['type'] == 'string') { diff --git a/src/Pressmind/ObjectTypeScaffolder.php b/src/Pressmind/ObjectTypeScaffolder.php index c772276..b2f413e 100644 --- a/src/Pressmind/ObjectTypeScaffolder.php +++ b/src/Pressmind/ObjectTypeScaffolder.php @@ -129,7 +129,7 @@ public function parse() if(!isset($conf['data']['media_types_fulltext_index_fields'])) { $conf['data']['media_types_fulltext_index_fields'] = []; } - $conf['data']['media_types_fulltext_index_fields'][$this->_tablename] = $this->getVarNames(); + $conf['data']['media_types_fulltext_index_fields'][$this->_tablename] = array_merge(['name' => 'name', 'code' => 'code', 'tags' => 'tags'], $this->getVarNames()); Registry::getInstance()->get('config_adapter')->write($conf); Registry::getInstance()->add('config', $conf); foreach ($this->_log as $log) {