mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-24 10:23:17 +00:00
PHRAS-1326_intl-labels-in-facets_MASTER
add "labels" array to facets
This commit is contained in:
@@ -327,6 +327,10 @@ class QueryController extends Controller
|
|||||||
foreach(ElasticsearchOptions::getAggregableTechnicalFields() as $k => $f) {
|
foreach(ElasticsearchOptions::getAggregableTechnicalFields() as $k => $f) {
|
||||||
$fieldsInfosByName[$k] = $f;
|
$fieldsInfosByName[$k] = $f;
|
||||||
$fieldsInfosByName[$k]['trans_label'] = $this->app->trans($f['label']);
|
$fieldsInfosByName[$k]['trans_label'] = $this->app->trans($f['label']);
|
||||||
|
$fieldsInfosByName[$k]['labels'] = [];
|
||||||
|
foreach($this->app->getAvailableLanguages() as $locale => $lng) {
|
||||||
|
$fieldsInfosByName[$k]['labels'][$locale] = $this->app->trans($f['label'], [], "messages", $locale);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// add databox fields
|
// add databox fields
|
||||||
@@ -339,13 +343,18 @@ class QueryController extends Controller
|
|||||||
$name = $field->get_name();
|
$name = $field->get_name();
|
||||||
$fieldsInfos[$sbasId][$name] = [
|
$fieldsInfos[$sbasId][$name] = [
|
||||||
'label' => $field->get_label($this->app['locale']),
|
'label' => $field->get_label($this->app['locale']),
|
||||||
|
'labels' => $field->get_labels(),
|
||||||
'type' => $field->get_type(),
|
'type' => $field->get_type(),
|
||||||
'business' => $field->isBusiness(),
|
'business' => $field->isBusiness(),
|
||||||
'multi' => $field->is_multi(),
|
'multi' => $field->is_multi(),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// infos on the "same" field (by name) on multiple databoxes !!!
|
||||||
|
// label(s) can be inconsistants : the first databox wins
|
||||||
if (!isset($fieldsInfosByName[$name])) {
|
if (!isset($fieldsInfosByName[$name])) {
|
||||||
$fieldsInfosByName[$name] = [
|
$fieldsInfosByName[$name] = [
|
||||||
'label' => $field->get_label($this->app['locale']),
|
'label' => $field->get_label($this->app['locale']),
|
||||||
|
'labels' => $field->get_labels(),
|
||||||
'type' => $field->get_type(),
|
'type' => $field->get_type(),
|
||||||
'field' => $field->get_name(),
|
'field' => $field->get_name(),
|
||||||
'query' => "field." . $field->get_name() . ":%s",
|
'query' => "field." . $field->get_name() . ":%s",
|
||||||
@@ -399,6 +408,7 @@ class QueryController extends Controller
|
|||||||
$f = $fieldsInfosByName[$facetName];
|
$f = $fieldsInfosByName[$facetName];
|
||||||
|
|
||||||
$facet['label'] = $f['trans_label'];
|
$facet['label'] = $f['trans_label'];
|
||||||
|
$facet['labels'] = $f['labels'];
|
||||||
$facet['type'] = strtoupper($f['type']) . "-AGGREGATE";
|
$facet['type'] = strtoupper($f['type']) . "-AGGREGATE";
|
||||||
$facets[] = $facet;
|
$facets[] = $facet;
|
||||||
|
|
||||||
|
|||||||
@@ -440,6 +440,16 @@ class databox_field implements cache_cacheableInterface
|
|||||||
return isset($this->labels[$code]) && '' !== $this->labels[$code] ? $this->labels[$code] : $this->name;
|
return isset($this->labels[$code]) && '' !== $this->labels[$code] ? $this->labels[$code] : $this->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get all localized labels
|
||||||
|
*
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
|
public function get_labels()
|
||||||
|
{
|
||||||
|
return $this->labels;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @return databox_field
|
* @return databox_field
|
||||||
|
|||||||
Reference in New Issue
Block a user