Skip to content

Commit

Permalink
Implementa nova taxonomia Segmento Cultural
Browse files Browse the repository at this point in the history
  • Loading branch information
erleibiazzio committed Aug 29, 2023
1 parent 8cdd921 commit 0c06125
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 0 deletions.
64 changes: 64 additions & 0 deletions plugins/SettingsPa/Plugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
namespace SettingsPa;

use MapasCulturais\App;
use MapasCulturais\Entities\Agent;
use MapasCulturais\i;

class Plugin extends \MapasCulturais\Plugin
{
Expand Down Expand Up @@ -38,6 +40,35 @@ public function _init()

$self = $this;

$app->hook("registrationFieldTypes.saveToEntity", function($entity_field, $value) use ($app){
if($entity_field == '@terms:segmento') {
$this->terms['segmento'] = $value;
}
});

$app->hook("registrationFieldTypes.fetchFromEntity", function($entity_field, &$value){
if($entity_field == '@terms:segmento') {
$value = $this->terms['segmento'];
}
});

$app->hook("registrationFieldTypes--agent-<<owner|collective>>-field-config-fields_labels", function(&$fields_labels){
$fields_labels['@terms:segmento'] = " " . i::__('Segmento cultural');
});

$app->hook("template(embedtools.formbuilder.registrationFieldTypes--agent-<<owner|collective>>-field-config):after", function($agent_fields){
$this->part('registration-fields/agent-fields-config', ['agent_fields' => $agent_fields]);
});

$app->hook("template(embedtools.registrationform.registrationFieldTypes--agent-<<owner|collective>>-field):after", function(){
$this->part('registration-fields/agent-fields-form');
});

$app->hook("template(agent.<<edit|single>>.header-content):after",function() use ($app){
/** @var Theme $this */
$this->addTaxonoyTermsToJs("segmento");
});

/**
* Insere conteúdo na HOME
*/
Expand All @@ -63,5 +94,38 @@ public function _init()

public function register()
{
$this->registerTaxonomies();
}

public function registerTaxonomies()
{
$app = App::i();

$def = new \MapasCulturais\Definitions\Taxonomy(55, 'segmento','Segmento cultural', [
i::__("Artes Visuais"),
i::__("Artesanato"),
i::__("Audiovisual"),
i::__("Cultura Alimentar"),
i::__("Culturas Afro-Brasileiras"),
i::__("Livro e Leitura"),
i::__("Culturas Populares"),
i::__("Moda e Design"),
i::__("Museus e Memoriais de Base Comunitária"),
i::__("Música"),
i::__("Circo"),
i::__("Cultura Digital"),
i::__("Cultura Urbana e Periférica"),
i::__("Culturas Indígenas"),
i::__("Dança"),
i::__("Patrimônio Cultural Imaterial"),
i::__("Patrimônio Cultural Material"),
i::__("Pontos e Pontões de Cultura"),
i::__("Teatro"),
i::__("Outros"),
]
);

$app->registerTaxonomy(Agent::class, $def);

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

use MapasCulturais\i;

$segmento_options = [];
$segmento = $app->getRegisteredTaxonomyBySlug('segmento');
foreach ($agent_fields as $field) {
if ($field == "@terms:segmento") {
$segmento_options[] = $field;
}
}
?>
<div ng-if="field.config.entityField == '@terms:segmento'">
<?php foreach ($segmento_options as $field_name) : ?>
<div ng-if='field.config.entityField === "<?= $field_name ?>"'>
<?php i::_e("Informe os termos que estarão disponíveis para seleção.") ?>
<textarea ng-model="field.fieldOptions" ng-init='field.fieldOptions = field.fieldOptions || data.taxonomies.segmento.terms.join("\n")' placeholder="<?php \MapasCulturais\i::esc_attr_e("Opções de seleção"); ?>"></textarea>
</div>
<?php endforeach ?>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<div ng-if="::field.config.entityField == '@terms:segmento'">
<?php $this->part('registration-field-types/fields/checkboxes') ?>
</div>

0 comments on commit 0c06125

Please sign in to comment.