PLUGIN-XML-FILENAME-001

plugins/content/foo/foo.xml with a single php file

Plugin XML: only <filename plugin="x">x.php</filename>

A single php file still installs. Native Joomla 4+ plugins use a service provider and a subscriber class. The J3 file will run as CMSPlugin until you rewrite events.

plugins/content/foo/foo.xml with a single php fileNamespaced plugin class + services/provider.php

Dies at Joomla 5 → 6J3: Works nativelyJ4: Changed behaviourJ6: Changed behaviourBC plugin: partialYou rewrite thisEvents / plugins

Symptoms people search

plugin installs but events never fire on J6 · no provider.php

Replace this code

Swap plugins/content/foo/foo.xml with a single php file for Namespaced plugin class + services/provider.php.

Joomla 3

Remove or stop calling this

<files>
  <filename plugin="lms">lms.php</filename>
</files>

Joomla 4 / 6

Use this instead

<namespace path="src">Acme\Plugin\Content\Lms</namespace>
<files>
  <folder plugin="lms">services</folder>
  <folder>src</folder>
</files>

How to fix it

  1. 1Add services/provider.php.
  2. 2Move the plugin class into src/ and implement SubscriberInterface.

Also known as

filename plugin · plugin xml · services/provider.php

There is no 1:1 swap for this one. The architecture changed. If you cannot rewrite it, Infyways can.

Related issues

Get in touch

Have a project in mind? Let's talk about it.

Tell us what you're building. Whether it's a new site, an online store, a mobile app, or something that needs AI under the hood, we'll get back to you within a business day.

Free consultation
No commitment, no pressure
Reply within 24 hours
Usually much faster

Prefer a direct conversation?

Request a project quote

Tell us about your project

Fill out the quick form and we'll reach out.