Initial commit

This commit is contained in:
2026-04-10 19:09:13 +02:00
commit 0cb8ca0f46
3 changed files with 152 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
name: Build OpenCart Extension
on:
push:
branches:
- main
jobs:
build-release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install XML tools
run: |
sudo apt-get update
sudo apt-get install -y libxml2-utils zip
- name: Extract metadata from install.xml
id: meta
run: |
CODE=$(xmllint --xpath "string(//code)" install.xml)
VERSION=v$(xmllint --xpath "string(//version)" install.xml)
echo "CODE=$CODE" >> $GITHUB_ENV
echo "VERSION=$VERSION" >> $GITHUB_ENV
echo "FILENAME=${CODE}_${VERSION}.ocmod.zip" >> $GITHUB_ENV
echo "Extension code: $CODE"
echo "Version: $VERSION"
- name: Prepare package
run: |
mkdir build
cp -r upload build/ 2>/dev/null || true
cp install.xml build/ 2>/dev/null || true
cp install.php build/ 2>/dev/null || true
cp install.sql build/ 2>/dev/null || true
- name: Build ocmod package
run: |
cd build
zip -r ../${FILENAME} .
cd ..
- name: Install tea CLI
run: |
curl -L https://dl.gitea.io/tea/main/tea-main-linux-amd64 -o tea
chmod +x tea
sudo mv tea /usr/local/bin/
- name: Configure tea
run: |
tea login add \
--name gitea \
--url ${{ vars.SERVER_URL }} \
--token ${{ secrets.OC3_EXTENSION_RELEASE_TOKEN }}
- name: Create release
run: |
TAG="${VERSION}"
tea release create "$TAG" \
--title "${CODE} ${VERSION}" \
--asset "${FILENAME}" \
--repo ${{ gitea.repository }}
+68
View File
@@ -0,0 +1,68 @@
# OpenCart 3 Module Template
A comprehensive template for developing custom modules and extensions for OpenCart 3.x e-commerce platform.
## Features
### 🚀 OpenCart 3 Compatibility
- Fully compatible with OpenCart 3.x versions
- Uses OCMOD (OpenCart Modification) system for safe modifications
- No core file changes required
### 📦 Module Structure
- **install.xml**: OCMOD installation file with modification definitions
- **upload/**: Directory for module files to be uploaded to OpenCart
- **install.php**: Optional PHP installation script
- **install.sql**: Optional database installation script
### 🔄 Automated Releases
- Integrated Gitea Actions workflow for automatic builds
- Generates `.ocmod.zip` packages on push to main branch
- Extracts metadata from `install.xml` for versioning
- Ready-to-install extension packages
### 🛠️ Development Tools
- XML-based modification system
- Template structure for rapid module development
- CI/CD pipeline for quality assurance
- Version management through install.xml
## Installation
1. Clone this repository
2. Customize the `install.xml` with your module details:
- Set `<name>`, `<code>`, and `<version>`
- Add your modifications in the `<file>` sections
3. Place your module files in the `upload/` directory
4. Add installation scripts if needed (`install.php`, `install.sql`)
5. Push to your repository to trigger automatic release build
## Usage
### For Module Developers
1. Use this template as a starting point for new OpenCart modules
2. Define your modifications in `install.xml`
3. Add custom files to `upload/` directory
4. Test locally before deploying
### For Store Owners
1. Download the generated `.ocmod.zip` from releases
2. Upload via OpenCart's Extension Installer
3. Install and configure the module through admin panel
## Requirements
- OpenCart 3.x
- PHP 7.3 or higher
- MySQL 5.7 or higher
- OCMOD support enabled
## Author
**Mohamed Youssef**
Website: [my-dev.pro](https://my-dev.pro)
Email: Contact through website
## License
This template is provided as-is for OpenCart module development. Please check individual module licenses for usage terms.
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<modification>
<name></name>
<code></code>
<author><![CDATA[<b style="color: green">MY-Dev | </b><b>Mohamed Youssef</b>]]></author>
<link>https://my-dev.pro</link>
<version>1.0.0</version>
<file path="">
<operation error="skip">
<search><![CDATA[]]></search>
<add position=""><![CDATA[]]></add>
</operation>
</file>
</modification>