User

Astridx

From Joomla! Documentation

Contents

Creating a Simple Component for Joomla!4.x

This is a multiple-article series of tutorials on how to develop a Model-View-Controller Component for Joomla! Version 4x. You can navigate the articles in this series by using the navigation drop down menu.

Begin with the Introduction, and navigate the articles in this series by using the navigation button at the bottom or the box to the right (Articles in this series). Let's start with the introduction.

Developing a Basic Component - Part 1

Notes

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha7-dev). You can download Joomla! 4 at GitHub, on the Developer website or you can create a free website at https://launch.joomla.org.


Creating a simple module/Developing a Basic Module

You can see many examples of components in the standard Joomla! install. For example

  • Content
  • Banners
  • Tags or
  • Contact

This tutorial will explain how to go about creating a simple component. Through this tutorial you will learn the basic file structure of a Joomlaǃ 4 component. This basic structure can then be expanded to produce more complex modules.

todo

File Structure

There are a few basic files that are used in the standard pattern of component development:

  • mod_foo.php - This file is the main entry point for the module. It will perform any necessary initialization routines, call helper routines to collect any necessary data, and include the template which will display the module output.
  • mod_foo.xml - This file contains information about the module. It defines the files that need to be installed by the Joomla! installer and specifies configuration parameters for the module.
  • tmpl/default.php - This is the module template. This file will take the data collected by mod_foo.php and generate the HTML to be displayed on the page.
  • language/en-GB/en-GB.mod̠foo.ini and language/en-GB/en-GB.mod̠foo.sys.ini- This are the files that provide the text in United Kingdom English.

Creating mod_foo.php

The mod_foo.php file will perform following tasks:

  • import the class ModuleHelper to the current scope. We need it later for displaying the output.
  • include the template to display the output.

The helper class is imported to our current scope at the begin of the file.

use Joomla\CMS\Helper\ModuleHelper;

Last we include the template to display the output via

require ModuleHelper::getLayoutPath('mod_foo', $params->get('layout', 'default'));

Completed mod_foo.php file

The complete mod_foo.php file is as follows:

<?php
/**
 * @package    [PACKAGE_NAME]
 *
 * @author     [AUTHOR] <[AUTHOR_EMAIL]>
 * @copyright  [COPYRIGHT]
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 * @link       [AUTHOR_URL]
 */

use Joomla\CMS\Helper\ModuleHelper;

defined('_JEXEC') or die;

require ModuleHelper::getLayoutPath('mod_foo', $params->get('layout', 'default'));

Side noteː In Joomla 3x you usually used a line like $moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));. You not need this anymore because oft this PRː https://github.com/joomla/joomla-cms/pull/17447.

The one line that we haven’t explained so far is the first line defined('_JEXEC') or die;. This line checks to make sure that this file is being included from the Joomla! application. This is necessary to prevent variable injection and other potential security concerns.

Creating tmpl/default.php

The default.php file is the template which displays the module output.

Completed tmpl/default.php file

The code for the tmpl/default.php file is as follows:

<?php
/**
 * @package    [PACKAGE_NAME]
 *
 * @author     [AUTHOR] <[AUTHOR_EMAIL]>
 * @copyright  [COPYRIGHT]
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 * @link       [AUTHOR_URL]
 */

defined('_JEXEC') or die;

echo '[PROJECT_NAME]';

An important point to note is that the template file has the same scope as the mod_foo.php file. What this means is that a variable can be defined in the mod_foo.php file and then used in the template file without any extra declarations or function calls.


Creating com_foos.xml

The mod_foo.xml file is the installation file. Most entries are self-explanatory.

Completed mod_foo.xml file

The code for the mod_foo.xml file is as follows:

<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.8" client="site" method="upgrade">
    <name>MOD_FOO</name>
    <creationDate>[DATE]</creationDate>
    <author>[AUTHOR]</author>
    <authorEmail>[AUTHOR_EMAIL]</authorEmail>
    <authorUrl>[AUTHOR_URL]</authorUrl>
    <copyright>[COPYRIGHT]</copyright>
    <license>GNU General Public License version 2 or later; see LICENSE.txt</license>
    <version>1.0</version>
    <description>MOD_FOO_XML_DESCRIPTION</description>

    <files>
        <filename module="mod_foo">mod_foo.php</filename>
        <folder>tmpl</folder>
        <folder>language</folder>
        <filename>mod_foo.xml</filename>
    </files>

</extension>

Creating the language files

The files language/en-GB/en-GB.mod̠foo.ini and language/en-GB/en-GB.mod̠foo.sys.ini are used to translate text in the frontend and in the backend.

The code for language/en-GB/en-GB.mod̠foo.sys.ini is as follows:

MOD_FOO="[PROJECT_NAME]"
MOD_FOO_XML_DESCRIPTION="Foo Module"
MOD_FOO="[PROJECT_NAME]"
MOD_FOO_XML_DESCRIPTION="Foo Module"

The .sys.ini file is used to translate the description of the extension upon installation, where as the .ini file is used to translate the remaining strings and the description when viewing your extension.

More information about language files can be found hereː https://docs.joomla.org/Specification_of_language_files

Test your module

Now you can zip all files and install them via Joomla Extension Manager. After that you can choose your component in the menu of the Joomlaǃ backend.

Componenttutorial1.png

In the front end there is no change up to now. We are going to work on this in the next chapter.

Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component new
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 new
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end new
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end new
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. new
1 administrator/components/com_foos/script.php the installer script new

700px

Conclusion

Component development for Joomla! is a fairly simple, straightforward process. Using the techniques described in this tutorial, an endless variety of modules can be developed with little hassle.

Boilerplates you can find hereː

The sample files for this Tutorial you can find hereː













Adding a view to the site part - Part 2

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)

joomla-cms4/index.php?option=com_foos&view=foo


Componenttutorial2.png

Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end unchanged
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end unchanged
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. unchanged
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component new
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end new
2 components/com_foos/tmpl/foo/default.php the default view in the frond end new

Componenttutorialdiff2.png

Conclusion

Adding a menu type to the site part - Part 3

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


Componenttutorial3̠1.png

Componenttutorial3̠2.png

Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end unchanged
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end unchanged
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item new

Componenttutorialdiff3.png

Conclusion

Adding a model to the site part - Part 4

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


Componenttutorial341.png


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end unchanged
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end unchanged
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component new
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end changed
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff4.png

Conclusion

Adding a variable request in the menu type - Part 5

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


Componenttutorial351.png


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end unchanged
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end unchanged
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. unchanged
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component changed
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item changed

Componenttutorialdiff5.png

Conclusion

Using the database in the backend - Part 6

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged


Componenttutorialdiff6.png

Conclusion

Using the database in the frontend - Part 7

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged


Componenttutorialdiff7a.png Componenttutorialdiff7b.png

Conclusion

Using languages files - Part 8

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px

Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged


Componenttutorialdiff8.png

Conclusion

Adding configuration - Part 9

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff9.png

Conclusion

Adding ACL - Part 10

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff10.png

Conclusion

Adding Server side validation - Part 11a

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff11a.png

Conclusion

Adding Client side validation - Part 11b

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff11b.png

Conclusion

Adding categories - Part 12

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff12.png

Conclusion

Adding Published/Unpublished - Part 13

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff13.png

Conclusion

Adding Custom Fields in the backend - Part 14a

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged


Componenttutorialdiff14a.png

Conclusion

Adding Custom Fields in the frontend - Part 14b

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged


Componenttutorialdiff14b.png

Conclusion

Adding Associations - Part 15

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff15.png

Conclusion

Adding Ordering and Filter - Part 16

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff16.png

Conclusion

Adding Actions - Part 17

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff17.png

Conclusion

Adding Params - Part 18

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

700px

Conclusion

Adding Pagination - Part 19

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff19.png

Conclusion

Adding a Layout - Part 20

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff20.png

Conclusion

Adding Checkout - Part 21

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged


Componenttutorialdiff21.png

Conclusion

Adding a batch process and alias - Part 22

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged


Componenttutorialdiff22.png

Conclusion

Adding a help link - Part 23

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px


Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff23a.png

Conclusion

Adding an update server and a changelog- Part 24

Requirements

You need Joomla! 4.x for this tutorial (as of writing currently Joomla! 4.0.0-alpha6-dev)


700px

Component Contents

At this point in the tutorial, your component should contain the following files:

1 administrator/components/com_foos/Controller/DisplayController.php this is the administrator entry point to the Foo component unchanged
1 administrator/components/com_foos/Extension/FoosComponent.php the interface BootableExtensionInterface where a component class can load its internal class loader or register HTML services see https://github.com/joomla/joomla-cms/pull/20217 unchanged
6 administrator/components/com_foos/Model/FoosModel.php this is the model of the Foo component new
1 administrator/components/com_foos/Service/Html/Foo.php the html service see https://github.com/joomla/joomla-cms/pull/20217 unchanged
1 administrator/components/com_foos/View/Foos/HtmlView.php file representing the view in the back end changed
1 administrator/components/com_foos/services/provider.php the service provider interface see https://github.com/joomla/joomla-cms/pull/20217 changed
6 administrator/components/com_foos/sql/install.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
6 administrator/components/com_foos/sql/uninstall.mysql.utf8.sql During the install/uninstall/update phase of a component, you can execute SQL queries through the use of this SQL text file new
1 administrator/components/com_foos/tmpl/foos/default.php the default view in the back end changed
1 administrator/components/com_foos/foos.xml this is an XML (manifest) file that tells Joomla! how to install our component. changed
1 administrator/components/com_foos/script.php the installer script unchanged
2 components/com_foos/Controller/DisplayController.php this is the frond end entry point to the Foo component unchanged
4 components/com_foos/Model/FooModel.php this is the frond end model for the Foo component unchanged
2 components/com_foos/View/Foo/HtmlView.php file representing the view in the frond end unchanged
2 components/com_foos/tmpl/foo/default.php the default view in the frond end unchanged
3 components/com_foos/tmpl/foo/default.xml the xml for the menu item unchanged

Componenttutorialdiff24.png

Conclusion