# dfbulkcategory — Bulk category assignment

> Overview dfbulkcategory adds two bulk actions to the PrestaShop back-office product list: Add to category and Remove from category. Select your products with the native checkboxes, pick one or more…

- Page: <https://www.datafirefly.com/en/documentation/dfbulkcategory/>
- Language: en
- Last updated: 2026-07-02
- Other languages: [fr](https://www.datafirefly.com/documentation/dfbulkcategory/index.md), [es](https://www.datafirefly.com/es/documentation/dfbulkcategory/index.md), [de](https://www.datafirefly.com/de/documentation/dfbulkcategory/index.md), [it](https://www.datafirefly.com/it/documentation/dfbulkcategory/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfbulkcategory/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfbulkcategory/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfbulkcategory/index.md)
- Index: <https://www.datafirefly.com/en/documentation/llms.txt>

## Overview

dfbulkcategory adds two bulk actions to the PrestaShop back-office product list: **Add to category** and **Remove from category**. Select your products with the native checkboxes, pick one or more categories in a modal with a searchable tree, confirm — the operation runs via AJAX with no page reload.

The module supports **PrestaShop 8.0.0 through 9.99.99** and works in multistore mode. It creates no SQL table and modifies no core file.

## Installation

1. Download the module ZIP file from your DataFirefly account.
2. In the PrestaShop back office, go to **Modules → Module Manager → Upload a module**.
3. Drag and drop the `dfbulkcategory.zip` file and confirm.
4. The module is ready immediately: no configuration is required.

On installation, the module registers a hidden admin tab required by PrestaShop 9 access control. No visible entry is added to your back-office menu.

### Upgrading from version 1.0.0

Simply replace the module with the new version via **Upload a module** (or the Update button). An upgrade script runs automatically and installs the admin tab required by PrestaShop 9 on existing installations. No manual action is needed.

## Usage

### Adding products to categories

1. Open **Catalog → Products**.
2. Check the products to update (the header checkbox selects the whole page).
3. Open the **Bulk actions** menu and click **Add to category**.
4. In the modal, check one or more categories in the tree, then click **Apply**.

Checked categories are added to each product's existing categories — nothing is overwritten.

### Removing products from categories

Same principle with the modal's **Remove from category** tab. Checked categories are removed from each selected product.

A product's default category is never removed: if it is among the categories to remove, the module automatically keeps it so the product always retains a main category.

### Combined mode (add and remove in one operation)

The **Both** tab shows two side-by-side panels: categories to add on the left, categories to remove on the right. It is the ideal mode for moving products from one category to another in a single confirmation.

### Tree search and navigation

The search field filters the tree in real time and automatically expands branches containing results. The **Expand all** and **Collapse all** buttons make navigating large trees fast.

### Disabled categories

By default, only active categories are displayed. Toggle **Show disabled categories** at the top of the modal to include them — useful during a catalogue restructuring. Disabled categories are marked with a badge.

## Multistore

Each operation runs in the context of the store active in the back office:

- The category tree displayed is the current store's tree.
- The module verifies that each selected product belongs to that store before any modification.
- Category associations of other stores are not affected.

In "All shops" context, first pick a specific store in the multistore selector to correctly target the associations.

## PrestaShop 9 compatibility

Since version 1.1.0, the module is fully PrestaShop 9 compatible:

- AJAX URLs are generated server-side following the mechanism expected by PrestaShop 9 (token included).
- A hidden admin tab is registered to satisfy the stricter access control — non-superadmin employees can use the module as long as they have catalog access.
- Behaviour on PrestaShop 8.0, 8.1 and 8.2 is unchanged.

## Troubleshooting

### The buttons do not appear in the Bulk actions menu

Clear the PrestaShop cache (**Advanced Parameters → Performance → Clear cache**) and reload the products page with Ctrl+F5. Also verify that the module is installed and enabled in the Module Manager.

### "Access denied" error when applying

On PrestaShop 9, this error usually indicates the module's admin tab is missing (installation older than 1.1.0). Reinstall the module or apply the update: the upgrade script recreates the tab automatically.

### A product was not updated

The result message details skipped products. Usual causes: the product is not associated with the active store (multistore), or it was deleted between selection and confirmation.

## Changelog

### 1.1.0 — July 2, 2026

- PrestaShop 9 compatibility (supported range: 8.0.0 — 9.99.99)
- AJAX URLs generated server-side (PS9 compliant)
- Hidden admin tab registered on install for PrestaShop 9 access control
- Automatic upgrade script for existing 1.0.0 installations
- Category labels now always filtered per store
- Error messages rendered safely in the modal

### 1.0.0 — February 11, 2026

- First public release
- Add / Remove bulk actions in the product list
- Modal with category tree, real-time search, combined mode
- Disabled categories option, multistore management, default category preservation
