DataFirefly Allergens & Ingredients: guia completo
Instalação, configuração e utilização do módulo de alergénios INCO 1169/2011 para PrestaShop 8 e 9: os 14 alergénios da UE, ingredientes estruturados, perfil do cliente e JSON-LD.
Apresentação
O DataFirefly Allergens & Ingredients coloca a sua loja PrestaShop 8 ou 9 em conformidade com o regulamento (UE) 1169/2011 (INCO): apresentação dos 14 alergénios do Anexo II, lista de ingredientes estruturada com realce automático dos alergénios (artigo 21.º) e informação disponível antes da compra, como exige o artigo 14.º para a venda à distância.
O módulo acrescenta ainda dois diferenciadores: um perfil de alergénios pessoal para cada cliente, com alerta em tempo real nas fichas de produto, e um enriquecimento automático em Schema.org JSON-LD para o posicionamento nos motores de busca.
Em Portugal — O regulamento INCO é diretamente aplicável, pelo que as obrigações descritas neste guia são exatamente as mesmas. A autoridade de fiscalização é a ASAE.
Pré-requisitos e compatibilidade
- PrestaShop 8.0.0 a 9.99.99
- PHP 8.0 no mínimo
- MySQL 5.7+ ou MariaDB 10.3+
- Compatível com multiloja e multilingue
- Idiomas fornecidos: francês, inglês, espanhol e alemão
Instalação
- No back-office, abra Módulos → Gestor de módulos.
- Clique em Instalar um módulo e selecione o ficheiro
dfallergens-1.0.0.zip. - Clique em Instalar. O módulo cria 5 tabelas com o prefixo
df_e pré-carrega os 14 alergénios do Anexo II nos 4 idiomas. - Aparece um novo separador DataFirefly Allergens no menu Módulos, para gerir a taxonomia dos alergénios.
Na instalação, os 14 alergénios oficiais são pré-carregados com os seus ícones SVG e os seus nomes em francês, inglês, espanhol e alemão. Não tem de introduzir nada manualmente. O português não faz parte dos idiomas pré-carregados: acrescente as designações portuguesas na taxonomia antes de colocar o módulo em produção.
Configuração
Abra Módulos → Gestor de módulos → DataFirefly Allergens & Ingredients → Configurar. Estão disponíveis seis definições:
- Estilo de realce — a forma como os alergénios são marcados na lista de ingredientes: negrito (recomendado), maiúsculas, sublinhado ou cor. O negrito é o estilo mais comum nos rótulos físicos.
- Apresentar os ícones — ativa ou desativa os pictogramas SVG ao lado do nome de cada alergénio.
- Apresentar os vestígios — mostra ou oculta a secção «Pode conter vestígios» (artigo 36.º, n.º 3).
- Marcação JSON-LD — injeta a marcação Schema.org na etiqueta head das fichas de produto em causa.
- Perfil do cliente — ativa a funcionalidade de perfil de alergénios na área de cliente e os alertas na ficha de produto.
- Posição da apresentação — separador dedicado na ficha de produto, depois da descrição, ou depois do preço.
Declarar os alergénios de um produto
- Abra a ficha do produto no back-office e vá ao separador Módulos (PrestaShop 8) ou à secção do módulo (PrestaShop 9).
- No painel DataFirefly Allergens, cada alergénio tem três estados: não aplicável (predefinido), Contém ou Vestígios.
- Selecione Contém para os alergénios presentes na receita e Vestígios para as possíveis contaminações cruzadas.
- Preencha a lista de ingredientes em linguagem natural, por ordem decrescente de quantidade, como exige a regulamentação. O módulo deteta e realça automaticamente os alergénios e os seus sinónimos.
- Facultativamente, preencha a origem e os conselhos de conservação.
- Grave o produto.
Os campos de ingredientes, origem e conservação são guardados por idioma e por loja: mude de idioma no seletor da ficha de produto para introduzir cada versão.
Deteção automática por sinónimos
O realce não se limita ao nome oficial do alergénio. O dicionário interno reconhece as variantes comuns nos quatro idiomas:
- Leite → lait, beurre, crème, caséine, lactosérum, lactose
- Glúten → blé, épeautre, orge, seigle, avoine, kamut, malt
- Sulfitos → SO2, anhydride sulfureux, E220 a E228
- Frutos de casca rija → amande, noisette, noix, cajou, pécan, pistache, macadamia
A deteção usa limites de palavra compatíveis com Unicode: «blé» é detetado em «farine de blé» mas não em «établi».
O dicionário não inclui o português. Numa lista de ingredientes escrita em português, termos como «leite», «manteiga», «trigo» ou «avelã» não são reconhecidos e, por isso, não são realçados automaticamente. Duas soluções, que se combinam: declare sempre os alergénios com os seletores Contém e Vestígios, que são independentes do texto e alimentam tanto a apresentação como o JSON-LD e o perfil do cliente; e, na lista de ingredientes em português, marque você mesmo os alergénios em negrito, como faria num rótulo físico. O artigo 21.º exige a distinção visual dos alergénios na lista: não conte com a deteção automática para a garantir em português.
Perfil de alergénios do cliente
Quando a opção está ativada, cada cliente com sessão iniciada dispõe de uma secção Os meus alergénios na sua área de cliente. Aí seleciona os seus alergénios e um nível de gravidade: a evitar, intolerância, grave ou anafilático.
Em cada ficha de produto, o módulo compara os alergénios declarados do produto com o perfil do cliente. Em caso de conflito, aparece uma faixa de alerta vermelha por cima do preço, a indicar o alergénio em causa e o nível de gravidade registado.
O perfil do cliente é um serviço de apoio à decisão. Não substitui a rotulagem regulamentar nem a vigilância do consumidor: apresente sempre a lista completa dos alergénios em cada ficha.
Marcação Schema.org JSON-LD
Quando um produto tem pelo menos um alergénio declarado ou uma lista de ingredientes, o módulo injeta automaticamente um script JSON-LD na etiqueta head, contendo:
ingredients— a lista de ingredientes em texto simplessuitableForDiet— os regimes compatíveis inferidos (por exemplo, GlutenFreeDiet se não houver qualquer alergénio de glúten declarado)additionalProperty— cada alergénio com o propertyID INCO-1169-2011 e o seu nível (contém ou vestígios)
A marcação é gerada no servidor, em PHP, sem template e com proteção contra injeções.
Gerir a taxonomia dos alergénios
O menu DataFirefly Allergens do back-office permite alterar os nomes e as descrições dos 14 alergénios em cada idioma, ativá-los ou desativá-los individualmente e ajustar a sua ordem de apresentação. A ordem predefinida segue a numeração do Anexo II. É também aqui que acrescenta as designações em português.
Resolução de problemas
- O bloco de alergénios não aparece — verifique se o produto tem pelo menos um alergénio declarado ou uma lista de ingredientes e se a posição de apresentação configurada corresponde a um hook suportado pelo seu tema.
- Todos os alergénios aparecem como «Contém» — certifique-se de que está a utilizar a versão 1.0.0 final do módulo; limpe os dados do produto de teste, repondo todos os seletores em «não aplicável» e gravando.
- O realce não funciona num termo — o termo pode não constar do dicionário de sinónimos (é o caso de todo o vocabulário português); use o nome oficial do alergénio na lista de ingredientes ou marque-o você mesmo em negrito.
- O JSON-LD não aparece — verifique se a opção está ativada na configuração e inspecione o código-fonte da ficha de produto (procure INCO-1169-2011).
Desinstalação
A desinstalação elimina as 5 tabelas do módulo e todos os dados de alergénios, ingredientes e perfis de clientes associados. Exporte previamente os seus dados, se necessário.
Responsabilidade legal
O módulo fornece as ferramentas técnicas de apresentação. Nos termos do artigo 8.º do regulamento INCO, a responsabilidade pela exatidão das informações sobre os géneros alimentícios cabe ao operador do setor alimentar, ou seja, ao comerciante.