CS-Cart SDK
CS-Cart & Multivendor Command Line Tools for Developers Pride., (*1)
Purposes
We want to provide convenient developer tools for CS-Cart & Multi-Vendor. This SDK is meant to handle complicated and routine tasks related to add-on and theme development., (*2)
Usage
Installing
You'll need Composer installed in your system. Check out its installation guide if you haven't done that before., (*3)
When the Composer is installed, just execute this command in your console:, (*4)
$ composer global require "cscart/sdk:*"
Executing commands
$ cscart-sdk command:name
Command list
addon:symlink
Creates symlinks for add-on files at the CS-Cart installation directory, allowing you to develop and store add-on files in a separate Git repository., (*5)
$ cscart-sdk addon:symlink --help
Usage:
addon:symlink [options] [--] <name> <addon-directory> <cart-directory>
Arguments:
name Add-on ID (name)
addon-directory Path to directory with add-on files
cart-directory Path to CS-Cart installation directory
Options:
-r, --relative Created symlinks will have a relative path to the target file. By default the created symlinks have an absolute path to target.
--templates-to-design Whether to take the add-on templates from "var/themes_repository" path at the add-on directory and put them at "design/themes" path in the CS-Cart installation directory . When this option is not specified, the templates are being taken from "var/themes_repository" and also put into "var/themes_repository" directory.
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Help:
Creates symlinks for add-on files at the CS-Cart installation directory, allowing you to develop and store add-on files in a separate Git repository.
addon:export
Copies or moves all add-on files to the separate directory, preserving the structure of directories., (*6)
$ cscart-sdk addon:export --help
Usage:
addon:export [options] [--] <name> <addon-directory> <cart-directory>
Arguments:
name Add-on ID (name)
addon-directory Path to directory where files should be moved to
cart-directory Path to CS-Cart installation directory
Options:
-d, --delete Files and directories will be moved instead of being copied.
--templates-from-design Whether to take the add-on templates from "design/themes" path at CS-Cart installation directory and put them at "var/themes_repository" path in the add-on files directory. When this option is not specified, the templates are being taken from "var/themes_repository" and also put into "var/themes_repository" directory.
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Help:
Copies or moves all add-on files to the separate directory, preserving the structure of directories.
addon:sync
Synchronizes add-on files between CS-Cart installation directory and the separate directory storing all add-on files. Calling this command has the same effect as calling the "addon:export" and "addon:symlink" commands simultaneously., (*7)
$ cscart-sdk addon:sync --help
Usage:
addon:sync [options] [--] <name> <addon-directory> <cart-directory>
Arguments:
name Add-on ID (name)
addon-directory Path to directory where files should be moved to
cart-directory Path to CS-Cart installation directory
Options:
-r, --relative Created symlinks will have a relative path to the target file. By default the created symlinks have an absolute path to target.
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Help:
Synchronizes add-on files between CS-Cart installation directory and the separate directory storing all add-on files. Calling this command has the same effect as calling the "addon:export" and "addon:symlink" commands simultaneously.
addon:create
Creates addon directory structure and xml/.po files., (*8)
Description:
Creates addon directory structure and xml/.po files.
Usage:
addon:create [options] [--] <name> <addon-directory>
Arguments:
name Add-on ID (name)
addon-directory Path to addon directory.
Options:
-s, --scheme-version=SCHEME-VERSION Addon scheme version [default: 3]
-t, --theme=THEME Themes [default: ["responsive"]] (multiple values allowed)
-l, --locale=LOCALE Locale [default: ["en_US","ru_RU"]] (multiple values allowed)
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Help:
* Existing directories and files will be not overwritten.
* Default templates are located in `cscart-sdk/templates/addon`.
* User can create own templates in `~/.cscart-sdk/templates/addon`.
addon:build_upgrade
Creates upgrade package between add-on versions, (*9)
$ php bin/cscart-sdk addon:build_upgrade --help
Usage:
addon:build_upgrade <old_addon_version_archive_path> <new_addon_version_archive_path> <result_dir_path>
Arguments:
old_addon_version_archive_path Old add-on version archive path
new_addon_version_archive_path New add-on version archive path
result_dir_path Path to a directory where the built upgrade package will be placed
Options:
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Help:
Creates upgrade package between add-on versions
addon:create
Creates addon directory structure and xml/.po files., (*10)
$ php bin/cscart-sdk addon:create --help
Description:
Creates addon directory structure and xml/.po files.
Usage:
addon:create [options] [--] <name> <addon-directory>
Arguments:
name Add-on ID (name)
addon-directory Path to addon directory.
Options:
-s, --scheme-version=SCHEME-VERSION Addon scheme version [default: 3]
-t, --theme=THEME Themes [default: ["responsive"]] (multiple values allowed)
-l, --locale=LOCALE Locale [default: ["en_US"]] (multiple values allowed)
-h, --help Display this help message
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Help:
* Existing directories and files will be not overwritten.
* Default templates are located in `cscart-sdk/templates/addon`.
* User can create own templates in `~/.cscart-sdk/templates/addon`.
Contributing
To contribute to this project, you need to know how to work with Git and GitHub:, (*11)
- If you havenât used Git before, check out this tutorial; you can also read Git documentation or find other tutorials on the Internet;
- If you want to learn more about GitHub, check out GitHub Help.
Youâll need a GitHub account to submit an issue or a pull request., (*12)
Submitting an Issue
Before you submit an issue, please run a search to see that it wasnât submitted before. That way weâll be able to deal with issues faster., (*13)
If the issue appears to be a bug, and it hasnât been reported yet, open a new issue: switch to the Issues tab, press the New Issue button and fill in the form. Youâll need to be logged in to your GitHub account., (*14)
When submitting an issue, please provide the following information, so that we can fix it quickly:, (*15)
-
Short summary of the issue - That helps us to keep things organized., (*16)
-
Why is it a problem for you? - Not all issues are bugs. If you have a suggestion on how to improve SDK, please tell us how this improvement would benefit the project., (*17)
-
Browsers and operating systems - If we know that the issue appears only in specific browsers or only in some operating systems, weâll be able to reproduce it faster., (*18)
-
Steps to reproduce the issue - We need to see the issue for ourselves to confirm and fix it., (*19)
-
Suggest a fix - If you know what might be causing the bug, please let us know., (*20)
Submitting a Pull Request
GitHub allows you to make a full copy of the SDK and work on it separately. Once youâve made some changes, you can send us a pull request so that we can include your changes to the main repository., (*21)
To contribute to SDK development, do this:, (*22)
-
Register an account at GitHub, if you havenât done it yetâyouâll need the account to complete the following steps.
-
Fork the SDK â get your own copy of the main SDK repository to work on and experiment with.
-
Clone your fork to your local machineâa local repository is where all the work is done.
-
Create a branch in your local cloneâhaving separate branches for different tasks helps to keep things organized.
- Work on the SDK in this branch. Please make sure to follow PSR coding standards.
-
Push your changed branch to your fork in your GitHub accountâthe changes you made locally will appear in your online repository.
-
Create a pull requestâsubmit your changes to us.
Thatâs it! Our specialists will review the changes and may pull them to the repository., (*23)
Preparing local development environment
After cloning the forked repository, you'll want to be able to run the cscart-sdk
command to test things locally.
In order to do that, you'll need to install the Composer package from local path., (*24)
Add these lines to your global composer configuration file located at ~/.composer/composer.json
path:, (*25)
{
"minimum-stability": "dev",
"repositories": [
{
"type": "path",
"url": "/path/to/cloned/repository/directory"
}
],
"require": {
"cscart/sdk": "*"
}
}
Don't forget to specify path to the correct directory where you cloned your fork of a repo., (*26)
After that, execute this command:, (*27)
$ composer global require cscart/sdk
You need to do this only once; there is no need to re-install the local package every time you make a change in code. Directory with forked repository will be symlinked to your globally installed Composer packages directory., (*28)
You're now can test your changes by executing globally available cscart-sdk
command., (*29)
Copyright and License
Code released under the MIT license., (*30)