# Posições de Produtos: guia completo

> Apresentação O Posições de Produtos gere a ordem dos produtos nas suas categorias do PrestaShop, ou seja, a coluna nativa category_product.position que a loja utiliza para a ordenação «Relevância» /…

- Página: <https://www.datafirefly.com/pt/documentation/dfproductpositions/>
- Idioma: pt
- Atualizado em: 2026-11-01
- Outros idiomas: [fr](https://www.datafirefly.com/documentation/dfproductpositions/index.md), [en](https://www.datafirefly.com/en/documentation/dfproductpositions/index.md), [es](https://www.datafirefly.com/es/documentation/dfproductpositions/index.md), [de](https://www.datafirefly.com/de/documentation/dfproductpositions/index.md), [it](https://www.datafirefly.com/it/documentation/dfproductpositions/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfproductpositions/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfproductpositions/index.md)
- Índice: <https://www.datafirefly.com/pt/documentation/llms.txt>

## Apresentação

O Posições de Produtos gere a ordem dos produtos nas suas categorias do PrestaShop, ou seja, a coluna nativa `category_product.position` que a loja utiliza para a ordenação «Relevância» / «Posição na categoria». Organiza uma categoria como um quadro de merchandising: grelha de cartões de produto, arrastar e largar de vários produtos de uma vez, ordenação automática, fixações que protegem as suas posições estratégicas contra as importações, histórico com anulação e regras automáticas aplicadas todos os dias.

O módulo não altera o seu tema: a ordem definida no back-office é a que os seus clientes veem, tanto no Classic como no Hummingbird.

![DataFirefly Posições de produtos: quadro de merchandising com árvore de categorias, grelha de produtos, produtos fixados, stock, vendas e quebras de página](https://www.datafirefly.com/wp-content/uploads/2026/11/quadro-merchandising-grelha-produtos-productpositions-pt.webp)

Quadro de merchandising com árvore de categorias, grelha de produtos, produtos fixados, stock, vendas e quebras de página

## Compatibilidade e requisitos

- **PrestaShop 1.7.8 a 9.x**: um único pacote, testado em 1.7.8.11, 8.2.1 e 9.1.5.
- **PHP 7.4 a 8.5.**
- Temas Classic, Hummingbird e temas personalizados (o módulo não apresenta nada no front-office).
- Loja única e multiloja, todos os idiomas da loja.
- Nenhum serviço externo. A biblioteca de arrastar e largar (SortableJS, licença MIT) vem incluída no módulo.
- Recomendado: a extensão PHP `intl`, para ordenar os nomes segundo a ordem alfabética de cada idioma (sem ela, a ordenação simplesmente ignora os acentos).

## Instalação e atualização

1. Abra **Módulos > Gestor de Módulos**, clique em **Carregar um módulo** e largue o ficheiro `dfproductpositions-2.0.0.zip`.
2. A entrada **Catálogo > Posições de produtos** aparece no menu, traduzida no idioma de cada colaborador.
3. O botão **Configurar** do gestor de módulos abre diretamente o módulo.

Para **atualizar** a partir de uma versão 1.x, carregue o novo arquivo por cima do antigo: a migração é executada automaticamente. A ordem das suas categorias não é alterada e cada fixação fica na posição que o seu produto ocupa no momento da atualização.

O módulo tem quatro ecrãs, acessíveis pela barra de navegação: **Organizar**, **Regras automáticas**, **Painel** e **Definições**. Ao abrir, escolha uma categoria na árvore à esquerda.

![DataFirefly Posições de produtos: ecrã inicial com a árvore de categorias e dicas](https://www.datafirefly.com/wp-content/uploads/2026/11/ecra-inicial-arvore-categorias-productpositions-pt.webp)

Ecrã inicial com a árvore de categorias e dicas

## Organizar uma categoria

A árvore à esquerda mostra todas as categorias da loja com o número de produtos, uma pastilha laranja quando a categoria contém produtos fixados e um raio violeta quando tem uma regra automática. O campo de pesquisa filtra a árvore e realça os nomes encontrados.

À direita, a categoria é apresentada pela ordem da loja:

- **Vista Grelha**: um cartão por produto com a posição, a miniatura, o nome, a referência, o ID, o preço s/ IVA, o stock (verde, laranja abaixo do limite de stock baixo, vermelho quando esgotado) e as unidades vendidas no período escolhido. Etiquetas assinalam os produtos novos, em promoção, inativos ou ausentes da loja atual.
- **Vista Lista**: as mesmas informações em linhas compactas, com a data de adição.
- **Mostrar páginas**: um separador «Página 2 · posições 13 a 24» mostra onde começa cada página da categoria, de acordo com o número de produtos por página da sua loja.
- **Pesquisa** por nome, referência ou ID (atalho /).
- O seletor de idioma muda o idioma dos nomes apresentados, e o ícone ao lado do título abre a categoria na loja.

Cada alteração é guardada automaticamente; o indicador no canto superior direito confirma «Alterações guardadas».

![DataFirefly Posições de produtos: vista de lista com posição, preço, stock, vendas e data de adição](https://www.datafirefly.com/wp-content/uploads/2026/11/vista-lista-posicoes-productpositions-pt.webp)

Vista de lista com posição, preço, stock, vendas e data de adição

## Mover os produtos

### Arrastar e largar

Pegue num cartão e largue-o no lugar pretendido; a página desloca-se automaticamente quando se aproxima da margem. Durante uma pesquisa, o arrastar e largar é desativado para evitar erros, mas a seleção e as ações continuam disponíveis.

### Seleção múltipla

Clique em vários cartões para os selecionar, Shift + clique para selecionar um intervalo, Ctrl + A para selecionar tudo, Esc para limpar a seleção. Aparece uma barra de ações na parte inferior do ecrã: **Mover para o início**, **Mover para o fim**, **Mover para a posição…**, **Fixar** e **Liberar**. Os produtos selecionados são colocados uns a seguir aos outros, pela ordem atual.

![DataFirefly Posições de produtos: seleção múltipla de produtos com a barra de ações em massa](https://www.datafirefly.com/wp-content/uploads/2026/11/selecao-multipla-acoes-em-massa-productpositions-pt.webp)

Seleção múltipla de produtos com a barra de ações em massa

### Arrastar vários produtos de uma vez

Quando vários produtos estão selecionados, arraste um deles: os outros acompanham-no e uma etiqueta «+2» indica quantos produtos estão a ser transportados. Ao largar, ficam agrupados nesse lugar.

![DataFirefly Posições de produtos: arrastar e largar vários produtos de uma vez](https://www.datafirefly.com/wp-content/uploads/2026/11/arrastar-largar-varios-produtos-productpositions-pt.webp)

Arrastar e largar vários produtos de uma vez

### Escrever uma posição

Clique no número de posição de um cartão, escreva a nova posição e confirme com Enter. Os botões que aparecem ao passar o rato sobre um cartão também enviam o produto para o início ou para o fim, fixam-no ou abrem a sua ficha.

## Ordenação automática

O botão **Ordenar automaticamente** ordena toda a categoria segundo um critério:

- **Mais vendidos** em 7, 30, 90, 180 ou 365 dias (encomendas válidas da loja atual);
- **Data de adição** (novidades primeiro);
- **Stock**;
- **Preço** (preço base s/ IVA);
- **Margem** (preço de venda menos preço de compra);
- **Nome** (ordem alfabética do idioma);
- **Referência** (ordem natural: REF-2 antes de REF-10);
- **Promoções primeiro**;
- **Ordem atual**, **Inverter a ordem atual** e **Baralhar**.

Opções: **Esgotados no fim**, **Produtos inativos no fim** e **Ordenar também as subcategorias**. A caixa **Manter a ordenação: guardar como regra automática** transforma a ordenação numa regra aplicada todos os dias.

Os produtos fixados mantêm o lugar, e cada ordenação pode ser anulada com um clique.

![DataFirefly Posições de produtos: ordenação automática por mais vendidos, data de adição, stock, preço ou margem, esgotados no fim e regra automática](https://www.datafirefly.com/wp-content/uploads/2026/11/ordenacao-automatica-mais-vendidos-productpositions-pt.webp)

Ordenação automática por mais vendidos, data de adição, stock, preço ou margem, esgotados no fim e regra automática

## Fixar posições

Uma fixação prende um produto à sua posição atual na categoria. Um produto fixado mostra uma pastilha laranja com o seu número de posição.

- As ordenações automáticas, as regras e as importações CSV nunca movem um produto fixado: os outros produtos organizam-se à volta.
- Se for o próprio utilizador a mover um produto fixado, este volta a ser fixado no novo lugar.
- Um produto não fixado largado no lugar de uma fixação fica logo a seguir a ela.

### Fixação temporária

Ao fixar uma seleção, pode indicar uma data de fim, por exemplo o fim de uma promoção. A fixação é removida automaticamente nessa data pela tarefa agendada, e a data aparece no cartão.

![DataFirefly Posições de produtos: fixar produtos no seu lugar até uma data](https://www.datafirefly.com/wp-content/uploads/2026/11/fixar-produto-ate-data-productpositions-pt.webp)

Fixar produtos no seu lugar até uma data

### Fixar toda a categoria

O menu **Fixações** propõe **Fixar toda a categoria** (cada produto mantém o lugar, mesmo após uma importação), **Remover todas as fixações** (a ordem não muda) e **Repor as fixações**.

### Reposição automática

Quando a opção está ativa (por predefinição), os produtos fixados voltam ao seu lugar depois de um produto ser guardado, adicionado ou eliminado, depois de uma alteração de posição feita no back-office nativo ou pelo webservice (ERP), e em cada execução da tarefa agendada. Se outra ferramenta tiver movido produtos fixados, uma faixa assinala-o ao abrir a categoria, com um botão **Repor**.

Um script que escreve diretamente na base de dados não desencadeia nenhum evento do PrestaShop. Nesse caso, a tarefa agendada repõe as fixações na sua próxima execução, ou pode fazê-lo de imediato a partir do menu **Fixações**.

## Anular e histórico

Os botões **Anular** e **Refazer** (Ctrl + Z / Ctrl + Y) restauram exatamente a ordem e as fixações anteriores. As notificações após uma ordenação ou uma movimentação também propõem «Anular».

O menu **Mais > Histórico** lista as alterações da categoria (arrastar e largar, ordenações, regras, fixações, importações, tarefa agendada) com a data, o autor e o número de produtos movidos. **Restaurar** repõe a categoria na ordem que tinha antes da alteração escolhida. O número de versões guardadas por categoria é configurado nas definições (30 por predefinição).

![DataFirefly Posições de produtos: histórico de alterações de uma categoria com restauro de uma ordem anterior](https://www.datafirefly.com/wp-content/uploads/2026/11/historico-alteracoes-restaurar-productpositions-pt.webp)

Histórico de alterações de uma categoria com restauro de uma ordem anterior

## Importação e exportação CSV

**Mais > Exportar a ordem (CSV)** transfere a categoria com a posição, o ID, a referência, o nome e o estado de fixação (separador ponto e vírgula, UTF-8).

**Mais > Importar uma ordem (CSV)** lê um ficheiro com um produto por linha, identificado por `id_product` ou `reference`; é também lida uma coluna `position` opcional. Clique primeiro em **Verificar o ficheiro**: o módulo indica quantos produtos da categoria foram encontrados e lista as referências desconhecidas. Os produtos listados ficam primeiro, os outros seguem pela ordem atual, e os produtos fixados mantêm o lugar. A importação pode ser anulada.

![DataFirefly Posições de produtos: importação CSV de uma ordem de produtos com verificação do ficheiro](https://www.datafirefly.com/wp-content/uploads/2026/11/importacao-csv-ordem-productpositions-pt.webp)

Importação CSV de uma ordem de produtos com verificação do ficheiro

## Regras automáticas e tarefa agendada

Uma regra mantém uma categoria ordenada sozinha: mais vendidos dos últimos 30 dias, novidades primeiro, esgotados no fim… Cada categoria pode ter uma regra, ativa ou em pausa. O ecrã **Regras automáticas** mostra, para cada uma, a última execução e o número de produtos movidos, com os botões **Aplicar agora**, **Editar** e **Eliminar**.

As regras são aplicadas pela **tarefa agendada**: chame o URL indicado uma vez por dia (ou de hora a hora) a partir do seu servidor ou do painel do seu alojamento. O ecrã disponibiliza um botão **Copiar** e um exemplo de linha crontab:

```
15 4 * * * curl -fsS "https://a-sua-loja.pt/module/dfproductpositions/cron?token=…" > /dev/null
```

Em cada execução, a tarefa remove as fixações expiradas, aplica as regras ativas e repõe os produtos fixados no lugar. O URL está protegido por uma chave secreta, que pode renovar nas definições.

![DataFirefly Posições de produtos: regras de ordenação automática por categoria e URL da tarefa agendada](https://www.datafirefly.com/wp-content/uploads/2026/11/regras-ordenacao-automatica-cron-productpositions-pt.webp)

Regras de ordenação automática por categoria e URL da tarefa agendada

### Criar ou editar uma regra

Escolha a categoria, o critério, o sentido e, para os mais vendidos, o período. Estão disponíveis as opções «esgotados no fim», «produtos inativos no fim» e «ordenar também as subcategorias». **Guardar e aplicar** ordena a categoria de imediato.

![DataFirefly Posições de produtos: editor de regra automática: categoria, critério, período de vendas e opções](https://www.datafirefly.com/wp-content/uploads/2026/11/editor-regra-automatica-productpositions-pt.webp)

Editor de regra automática: categoria, critério, período de vendas e opções

## Painel

O painel resume a atividade: categorias organizadas, produtos fixados (e fixações que terminam nos próximos 7 dias), regras ativas, produtos movidos em 7 dias e problemas de numeração.

As **verificações da loja** controlam as definições que decidem se os seus clientes veem a ordem definida aqui: ordenação predefinida da loja por «Posição na categoria», opções da pesquisa por facetas, numeração das posições, execução da tarefa agendada e número de produtos por página.

A secção **Integridade das posições** lista as categorias em que vários produtos partilham a mesma posição. A ordem destes fica então aleatória, e um produto pode aparecer em duas páginas ou em nenhuma. **Reparar** renumera 1, 2, 3… sem alterar a ordem apresentada.

![DataFirefly Posições de produtos: painel com verificações da loja, integridade das posições e atividade recente](https://www.datafirefly.com/wp-content/uploads/2026/11/painel-verificacoes-integridade-productpositions-pt.webp)

Painel com verificações da loja, integridade das posições e atividade recente

## Definições

- **Repor automaticamente os produtos fixados** no seu lugar (ativado por predefinição).
- **Período de vendas** mostrado nos cartões e usado por predefinição pela ordenação «Mais vendidos» (90 dias).
- **Limite de stock baixo** (5).
- **Versões guardadas por categoria** no histórico (30).
- **Mostrar por predefinição as quebras de página** da loja.
- **Avisar os outros módulos após cada alteração** (`actionCategoryUpdate`), para que os módulos que guardam listas de produtos em cache as atualizem.
- URL da tarefa agendada e renovação da sua chave secreta.

![DataFirefly Posições de produtos: definições: fixações, período de vendas, stock baixo, histórico e tarefa agendada](https://www.datafirefly.com/wp-content/uploads/2026/11/definicoes-fixacoes-cron-productpositions-pt.webp)

Definições: fixações, período de vendas, stock baixo, histórico e tarefa agendada

## O que os seus clientes veem

O módulo escreve na posição nativa do PrestaShop: a página de categoria apresenta os produtos pela ordem definida, sem alterações ao tema. Duas definições da loja merecem atenção, e o painel controla-as:

- em **Parâmetros da Loja > Definições de Produtos**, a ordenação predefinida deve ser «Posição na categoria», ascendente;
- com a pesquisa por facetas e a opção «Mostrar os produtos das subcategorias», uma categoria principal mistura as posições das suas subcategorias. Para controlar exatamente uma categoria principal, ordene-a com as suas subcategorias ou desative esta opção.

![DataFirefly Posições de produtos: página de categoria da loja apresentada na ordem definida no back office](https://www.datafirefly.com/wp-content/uploads/2026/11/pagina-categoria-ordenada-loja-productpositions-pt.webp)

Página de categoria da loja apresentada na ordem definida no back office

## Permissões dos colaboradores e multiloja

O acesso segue as permissões nativas do PrestaShop (**Parâmetros Avançados > Equipa > Permissões**). Um perfil que só tem a permissão «Ver» no separador _Posições de produtos_ consulta as categorias, o histórico e o painel apenas em modo de leitura; todas as alterações exigem a permissão «Editar». Todos os pedidos estão protegidos pelo token de administração do PrestaShop.

Em multiloja, a ordem de uma categoria é comum a todas as lojas (é assim que o PrestaShop funciona: a posição não existe por loja). O módulo mostra, por isso, todos os produtos da categoria e assinala com uma etiqueta os que não são vendidos na loja atual. As fixações também são comuns; as vendas, os preços e o stock apresentados são os da loja selecionada.

## Atualização a partir da 1.x e desinstalação

A migração para a 2.0.0 acrescenta as tabelas das regras e do histórico, conserva a ordem de todas as categorias e coloca cada fixação na posição real do seu produto. Corrige também o desfasamento de uma posição das fixações observado na 1.x.

A desinstalação elimina as fixações, as regras, o histórico, as definições e a entrada de menu. A ordem das suas categorias é conservada, uma vez que está guardada na posição nativa do PrestaShop.

## Perguntas frequentes

### É preciso fixar todos os produtos para manter a minha ordem?

Não. A ordem definida mantém-se enquanto nenhuma ordenação, nenhuma regra e nenhuma ferramenta externa a alterar. Fixe os produtos cujo lugar é estratégico, ou toda a categoria se um ERP reorganizar os seus produtos.

### Como coloco os meus produtos em destaque no topo e ordeno o resto automaticamente?

Coloque os produtos em destaque no topo, fixe-os e depois execute uma ordenação (ou crie uma regra) «Mais vendidos». Os produtos em destaque ficam nos primeiros lugares e o resto é ordenado a seguir a eles.

### A ordenação é recalculada a cada visita?

Não. Uma ordenação ou uma regra escreve as posições uma vez; as páginas da loja não fazem qualquer cálculo adicional.

### E num catálogo grande?

Numa categoria de 5 000 produtos (PrestaShop 9.1, PHP 8.5), medimos 0,56 s para carregar e apresentar a grelha, 0,44 s para uma ordenação por nome e 0,24 s entre largar um cartão e a gravação.

### Um produto aparece em duas páginas da minha categoria, ou falta. Porquê?

Provavelmente vários produtos partilham a mesma posição, o que acontece após certas importações. Abra o **Painel**: a secção **Integridade das posições** lista essas categorias e repara-as sem alterar a ordem apresentada.

### A ordem da minha categoria principal não corresponde ao que defini.

Provavelmente a pesquisa por facetas mostra os produtos das subcategorias na categoria principal. Consulte a secção «O que os seus clientes veem».

### Não vejo os botões de edição.

O seu perfil só tem a permissão «Ver» no separador _Posições de produtos_. Um administrador pode acrescentar a permissão «Editar» em **Equipa > Permissões**.

### As regras não são aplicadas.

Verifique se a tarefa agendada chama de facto o URL do módulo: o painel indica a data da sua última execução. As regras em pausa não são aplicadas.
