Pular para o conteúdo principal

Componentes

Este documento descreve a estrutura e propósito da pasta view/common/, que armazena componentes reutilizáveis do tema.

Propósito de view/common

A pasta view/common/ no Omeka S contém partials: trechos de templates PHP reutilizáveis em múltiplas views. O helper $this->partial('common/nome') resolve arquivos nesta pasta, permitindo que o mesmo componente seja incluído em diferentes templates sem duplicação de código.

No tema SGM, view/common/ organiza componentes em três grupos: partials principais do layout, templates de blocos customizados, e partials de recursos para visualização de itens e coleções.

Subpastas

view/common/block-layout

Esta pasta contém templates que sobrescrevem os blocos do módulo SGMBlocks. Cada arquivo corresponde a um tipo de bloco e define como ele é renderizado no frontend.

O Omeka S resolve templates de blocos na ordem: tema primeiro, módulo depois. Se o tema define view/common/block-layout/banner-page.phtml, essa versão é usada em vez da versão do módulo.

Arquivos nesta pasta:

  • accordion-block.phtml: bloco de acordeão com itens expansíveis
  • banner-page.phtml: banner de página com título, descrição, e opções de busca
  • browse-preview.phtml: grid de miniaturas para listagens
  • button-block.phtml: botão com estilos variados
  • icon-block.phtml: bloco de ícone com título e descrição
  • list-of-pages.phtml: lista de links para páginas
  • search-bar-block.phtml: barra de pesquisa com sugestões

Veja Blocos customizados para documentação completa do sistema de blocos e da parceria com o módulo SGMBlocks.

view/common/resources

Esta pasta contém partials compartilhados entre templates de item e item-set. Esses arquivos centralizam a visualização de recursos para manter consistência entre diferentes tipos de conteúdo.

Arquivos nesta pasta:

  • banner.phtml: banner de recurso com imagem de fundo da coleção associada
  • meta.phtml: exibição tabular de metadados com traduções

Ambos os partials são consumidos por view/omeka/site/item/show.phtml, view/omeka/site/item/browse.phtml, e view/omeka/site/item-set/browse.phtml. O partial meta.phtml também depende de property-translations.php para labels de propriedades.

Partials na raiz de view/common

Arquivos diretamente em view/common/ são componentes principais usados pelo layout ou compartilhados entre múltiplas views:

  • header.phtml: cabeçalho do site com logo, navegação, e busca
  • footer.phtml: rodapé com informações e links
  • navigation.phtml: menu de navegação recursivo
  • menu-mobile.phtml: menu overlay para dispositivos móveis
  • breadcrumb.phtml: trilha de navegação contextual
  • search-form.phtml: formulário de busca com sugestões
  • theme-setting-css.phtml: CSS inline baseado em configurações do tema
  • property-translations.php: mapeamento estático de traduções de propriedades

Uso de partials

Partials são incluídos via o helper do Laminas:

echo $this->partial('common/header', [
'fixedHeader' => $fixedHeader,
]);

O primeiro argumento é o caminho relativo a view/, sem a extensão .phtml. O segundo argumento opcional é um array de variáveis passadas para o partial.

Integração com outros sistemas

Partials em view/common/ integram-se com:

  • SGMBlocks: templates em block-layout/ sobrescrevem blocos do módulo
  • Traduções: property-translations.php fornece fallback para labels de propriedades
  • Configurações do tema: theme-setting-css.phtml acessa themeSetting() para CSS dinâmico
  • API do Omeka S: resources/ consome representações de recursos via métodos como displayTitle() e values()