Skip to content

Requirements and install

Product Feed installs like every other extension sold here. Follow the shared procedure rather than a Product Feed-specific one:

What is specific to Product Feed

The permission entry to tick at step 3 of the shared procedure is:

extension/product_feed/module/product_feed

Tick it under both Access Permission and Modify Permission, for every user group that should be allowed to use Product Feed.

Leave out these products, on a feed's Filters tab, searches your catalogue through OpenCart's own product list, so it also needs Access Permission on catalog/product. Without it the search finds nothing; the rest of the form works as before.

Installing it from the extension list is what creates Product Feed's tables, its hourly cron entry and its settings: the + button at step 2 of the shared procedure. Nothing happens on upload alone. Installing it again, which is what an update does, leaves your feeds, their tokens and your category mapping as they were, and cannot end up with two cron entries.

The same step grants your own user group two screens under Customers: Personal Data (extension/product_feed/customer/personal_data) and Remove everything held about a person (extension/product_feed/customer/purge). Tick those for another group only if it answers data-protection requests. Product Feed holds nothing about a person, so both screens say so and remove nothing.

A store below OpenCart 4.0.2.0 is refused, and says so on the screen rather than half-installing: no tables, no cron entry, nothing. 4.0.2.0 is the first release with a scheduler for a feed to regenerate on.

Scheduled regeneration needs your store's cron to be running, and nothing else. Product Feed registers one hourly job on OpenCart's own scheduler, listed under Extensions → Cron Jobs, and works out from your feeds which are due. If your host is not calling OpenCart's cron.php, nothing regenerates on its own. Nothing scheduled is needed to build a feed from the admin or from the command line. See limits on unattended regeneration.

If your host does not call cron.php, one crontab line of your own runs the same pass:

10 * * * * cd /path/to/store && php extension/product_feed/product_feed.php --cron

That is the same hourly job OpenCart's scheduler would have run: the feeds that are due, recorded the same way, logged the same way. It needs nothing of OpenCart's scheduler, which is also why it is the answer on OpenCart 4.1.0.4, a release that cannot run any scheduled task at all: its cron.php fails inside OpenCart itself, for every extension on the store. Product Feed's screen says so on that release. See running the scheduled pass yourself.

Where the feeds are written. Each generated file goes under your store's storage directory and is served only through its own tokenised URL. A stock OpenCart keeps that directory inside the web root, at system/storage/, so each file is named with a long random key of its own that nobody can guess, and New URL changes it along with the token. On Apache the folder also carries an .htaccess that refuses a direct fetch. The directory is created on the first run; a host that will not let the store write there is the one thing that fails a run outright, and the run says so.

Nothing you have to set

Beyond switching the module on, Product Feed's store-wide settings (Conserve resources, Runs kept per feed, the API switch and Detailed logging) all have a working default, and the settings page lists them. The work is per feed, on the feed's own form, and the quick start walks the first one.

There is no key to enter, no account to connect and nothing to give Product Feed a channel password for. Google and Meta fetch the file from a URL it serves; Microsoft Advertising takes a file you download and upload yourself.

Updating to a newer version

Follow updating to a newer version in the order it gives. Two things to know before you do:

  • Your feed tokens do not change. The URLs already pasted into Google and Meta keep working, so an update is not a round of dashboard edits.
  • Your category mapping is kept. It is the most expensive thing you will build here, and nothing in Product Feed deletes it: not an update, and not deleting the feed you built it from.