manifest and language is working so far
This commit is contained in:
parent
2e56d220d3
commit
63183262d4
28
README.md
28
README.md
@ -20,11 +20,31 @@ Let's update our bash_profile with some alias:
|
|||||||
```bash
|
```bash
|
||||||
alias joomla='docker-compose exec -u www-data joomla php cli/joomla.php'
|
alias joomla='docker-compose exec -u www-data joomla php cli/joomla.php'
|
||||||
```
|
```
|
||||||
Allowing you to just run commands like this: ```joomla core:check-updates```
|
Allowing you to just run commands like this:
|
||||||
|
```bash
|
||||||
|
joomla core:check-updates
|
||||||
|
joomla site:down
|
||||||
|
joomla extension:list
|
||||||
|
joomla update:extensions:check
|
||||||
|
joomla cache:clean
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Create A Component
|
||||||
|
|
||||||
|
1. Move to the directory where you would like to keep the component. ```cd ~/joomla-components/```
|
||||||
|
1. Run component creator from your Joomla install. ```bash ~/projects/joomla/projectName/bin/create_component.sh```
|
||||||
|
1. Optionally save to git repo.
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
|
* [Joomla Twig](https://phproberto.github.io/joomla-twig/)
|
||||||
|
|
||||||
|
### Component
|
||||||
|
|
||||||
|
* https://github.com/ceford/j4xdemos-com-mywalks/tree/master
|
||||||
|
* https://www.abdulwaheed.pk/en/blog/41-information-technology/44-joomla/302-how-to-create-joomla-4-component.html
|
||||||
|
* https://www.techfry.com/resources/how-to-create-joomla-component
|
||||||
|
* https://docs.joomla.org/J4.x:Developing_an_MVC_Component/Introduction
|
||||||
* [Develop a component](https://docs.joomla.org/J4.x:Developing_an_MVC_Component/Developing_a_Basic_Component)
|
* [Develop a component](https://docs.joomla.org/J4.x:Developing_an_MVC_Component/Developing_a_Basic_Component)
|
||||||
* [Minimal component](https://joomla.stackexchange.com/questions/22176/minimal-basic-structure-for-a-frontend-joomla-component-without-using-joomla-mvc)
|
* [Minimal component](https://joomla.stackexchange.com/questions/22176/minimal-basic-structure-for-a-frontend-joomla-component-without-using-joomla-mvc)
|
||||||
* [Joomla CLI Cheatsheet](https://magazine.joomla.org/all-issues/june-2022/joomla-4-a-powerful-cli-application)
|
|
||||||
* [Joomla Twig](https://phproberto.github.io/joomla-twig/)
|
|
8
bin/component_parts/language.sh
Normal file
8
bin/component_parts/language.sh
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cat <<EOM > admin/language/en-GB/en-GB.com_${name}.ini
|
||||||
|
; com_${name}
|
||||||
|
COM_${name^^}_DESCRIPTION="Placeholder description, edit in language file"
|
||||||
|
EOM
|
||||||
|
|
||||||
|
|
@ -16,54 +16,28 @@ cat <<EOM > ${name}.xml
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<extension type="component" method="upgrade">
|
<extension type="component" method="upgrade">
|
||||||
<name>com_${name}</name>
|
<name>com_${name}</name>
|
||||||
<!-- The following elements are optional and free of formatting conttraints -->
|
|
||||||
<creationDate>${current_date}</creationDate>
|
<creationDate>${current_date}</creationDate>
|
||||||
<author>${JOOMLA_USER}</author>
|
<author>${JOOMLA_USER}</author>
|
||||||
<authorEmail>${EMAIL}</authorEmail>
|
<authorEmail>${EMAIL}</authorEmail>
|
||||||
<authorUrl>https://www.example.com/</authorUrl>
|
<authorUrl>https://www.example.com/</authorUrl>
|
||||||
<copyright>Copyright (C) 2023 ${JOOMLA_USER}, All rights reserved.</copyright>
|
<copyright>Copyright (C) 2023 ${JOOMLA_USER}, All rights reserved.</copyright>
|
||||||
<license>GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html</license>
|
<license>GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html</license>
|
||||||
|
|
||||||
<!-- The version string is recorded in the components table -->
|
<!-- The version string is recorded in the components table -->
|
||||||
<version>0.0.1</version>
|
<version>0.0.1</version>
|
||||||
|
|
||||||
<!-- The description is optional and defaults to the name -->
|
<!-- The description is optional and defaults to the name -->
|
||||||
<description>COM_${name}_XML_DESCRIPTION</description>
|
<description>COM_${name^^}_DESCRIPTION</description>
|
||||||
<namespace path="src">J4xdemos\Component\${name#com_}</namespace>
|
|
||||||
|
|
||||||
<install> <!-- Runs on install -->
|
<namespace path="src">harvst\Component\com_${name}</namespace>
|
||||||
<sql>
|
|
||||||
<file driver="mysql" charset="utf8">sql/install.mysql.sql</file>
|
|
||||||
</sql>
|
|
||||||
</install>
|
|
||||||
<uninstall> <!-- Runs on uninstall -->
|
|
||||||
<sql>
|
|
||||||
<file driver="mysql" charset="utf8">sql/uninstall.mysql.sql</file>
|
|
||||||
</sql>
|
|
||||||
</uninstall>
|
|
||||||
|
|
||||||
<!-- Site Main File Copy Section -->
|
|
||||||
<!-- Note the folder attribute: This attribute describes the folder
|
|
||||||
to copy FROM in the package to install therefore files copied
|
|
||||||
in this section are copied from /site/ in the package -->
|
|
||||||
|
|
||||||
<files folder="site">
|
|
||||||
<folder>forms</folder>
|
|
||||||
<folder>language</folder>
|
|
||||||
<folder>src</folder>
|
|
||||||
<folder>tmpl</folder>
|
|
||||||
</files>
|
|
||||||
|
|
||||||
<administration>
|
<administration>
|
||||||
|
<!-- The link that will appear in the Admin panel's "Components" menu -->
|
||||||
|
<menu link="index.php?option=com_${name}">${name}</menu>
|
||||||
<files folder="admin">
|
<files folder="admin">
|
||||||
<file>access.xml</file>
|
|
||||||
<file>config.xml</file>
|
|
||||||
<folder>forms</folder>
|
|
||||||
<folder>language</folder>
|
<folder>language</folder>
|
||||||
<folder>services</folder>
|
|
||||||
<folder>sql</folder>
|
|
||||||
<folder>src</folder>
|
|
||||||
<folder>tmpl</folder>
|
|
||||||
</files>
|
</files>
|
||||||
<menu img="class:default" link="option=com_mywalks">com_mywalks</menu>
|
|
||||||
</administration>
|
</administration>
|
||||||
</extension>
|
</extension>
|
||||||
EOM
|
EOM
|
||||||
|
@ -7,7 +7,7 @@ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
|
|||||||
# ENV File
|
# ENV File
|
||||||
#################################################################################
|
#################################################################################
|
||||||
# Import variables from .env file
|
# Import variables from .env file
|
||||||
if [ -f "$script_dir/.env" ]; then
|
if [ -f "$script_dir/../.env" ]; then
|
||||||
read -p "Found .env file at '$script_dir/.env'. Press Enter to use it, or enter a different file path: " env_file
|
read -p "Found .env file at '$script_dir/.env'. Press Enter to use it, or enter a different file path: " env_file
|
||||||
if [ -z "$env_file" ]; then
|
if [ -z "$env_file" ]; then
|
||||||
env_file="$script_dir/.env"
|
env_file="$script_dir/.env"
|
||||||
@ -55,14 +55,17 @@ mkdir -p "$component_dir"
|
|||||||
|
|
||||||
# Create the main component files
|
# Create the main component files
|
||||||
cd "$component_dir" || exit
|
cd "$component_dir" || exit
|
||||||
mkdir -p site admin
|
mkdir -p site
|
||||||
|
mkdir -p admin/language/en-GB
|
||||||
|
|
||||||
# Source the files for generating component files
|
# Source the files for generating component files
|
||||||
|
source "$script_dir/component_parts/manifest.sh"
|
||||||
|
source "$script_dir/component_parts/language.sh"
|
||||||
# source "$script_dir/component_parts/admin_controller.sh"
|
# source "$script_dir/component_parts/admin_controller.sh"
|
||||||
# source "$script_dir/component_parts/site_controller.sh"
|
# source "$script_dir/component_parts/site_controller.sh"
|
||||||
# source "$script_dir/component_parts/site_controller_base.sh"
|
# source "$script_dir/component_parts/site_controller_base.sh"
|
||||||
# source "$script_dir/component_parts/admin_controller_base.sh"
|
# source "$script_dir/component_parts/admin_controller_base.sh"
|
||||||
source "$script_dir/component_parts/manifest.sh"
|
|
||||||
|
|
||||||
echo "Component framework generated successfully!"
|
echo "Component framework generated successfully!"
|
||||||
echo "You should manually edit the manifest file before checkin"
|
echo "You should manually edit the manifest file before checkin"
|
||||||
|
@ -24,6 +24,4 @@ rm -rf bin/inc_new_project
|
|||||||
rm -rf bin/new_project.sh
|
rm -rf bin/new_project.sh
|
||||||
rm -rf bin/setup_joomla_installer.sh
|
rm -rf bin/setup_joomla_installer.sh
|
||||||
|
|
||||||
# Git
|
echo "Now check the results and commit them to Git"
|
||||||
git add .
|
|
||||||
git commit -m"ran finalize"
|
|
75
docs/CLI.md
Normal file
75
docs/CLI.md
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
# CLI Cheatsheet
|
||||||
|
|
||||||
|
## Cache
|
||||||
|
```
|
||||||
|
cache:clean Clean expired cache entries
|
||||||
|
```
|
||||||
|
|
||||||
|
## Config
|
||||||
|
```
|
||||||
|
config:get Display the current value of a configuration option
|
||||||
|
config:set Set a value for a configuration option
|
||||||
|
```
|
||||||
|
|
||||||
|
## Core
|
||||||
|
```
|
||||||
|
core:check-updates Check for Joomla updates
|
||||||
|
core:update Update Joomla
|
||||||
|
```
|
||||||
|
|
||||||
|
## Database
|
||||||
|
```
|
||||||
|
database:export database:export
|
||||||
|
database:import Import the database
|
||||||
|
```
|
||||||
|
|
||||||
|
## Extension
|
||||||
|
```
|
||||||
|
extension:discover Discover extensions
|
||||||
|
extension:discover:install Install discovered extensions
|
||||||
|
extension:discover:list List discovered extensions
|
||||||
|
extension:install Install an extension from a URL or from a path
|
||||||
|
extension:list List installed extensions
|
||||||
|
extension:remove Remove an extension
|
||||||
|
```
|
||||||
|
|
||||||
|
## Finder
|
||||||
|
```
|
||||||
|
finder:index Purges and rebuild the index
|
||||||
|
Scheduler
|
||||||
|
scheduler:list List all scheduled tasks
|
||||||
|
scheduler:run Run one or more scheduled tasks
|
||||||
|
scheduler:state Enable, disable or trash a scheduled task
|
||||||
|
```
|
||||||
|
|
||||||
|
## Session
|
||||||
|
```
|
||||||
|
session:gc Perform session garbage collection
|
||||||
|
session:metadata:gc Perform session metadata garbage collection
|
||||||
|
```
|
||||||
|
|
||||||
|
## Site
|
||||||
|
```
|
||||||
|
site:down Put the site into offline mode
|
||||||
|
site:up Put the site into online mode
|
||||||
|
```
|
||||||
|
|
||||||
|
## Update
|
||||||
|
```
|
||||||
|
update:extensions:check Check for pending extension updates
|
||||||
|
update:joomla:remove-old-files Remove old system files
|
||||||
|
```
|
||||||
|
|
||||||
|
## User
|
||||||
|
```
|
||||||
|
user:add Add a user
|
||||||
|
user:addtogroup Add a user to a group
|
||||||
|
user:delete Delete a user
|
||||||
|
user:list List all users
|
||||||
|
user:removefromgroup Remove a user from a group
|
||||||
|
user:reset-password Change a user's password
|
||||||
|
```
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
* [Joomla Magazine - Powerful cli](https://magazine.joomla.org/all-issues/june-2022/joomla-4-a-powerful-cli-application)
|
Reference in New Issue
Block a user