Installation
1. Requirements
- PHP version 7 or greater
- PHP Curl extension
- PHP FileInfo extension
- PHP Imap extension
- PHP Intl extension
- PHP MbString extension
- PHP OpenSSL extension
- PHP Pdo_mysql extension
- Mysql version 5.6 or greater
2. Pre-installation
- Extract the zip file to your domain name root.
- Change the root for your domain name to "/pubic" folder as shown Here.
NB: In case the 2nd step is not feasible, Contact us via our profile
3. General
General settings, site name, title, description, logo, favicon...
Note: it is not mandatory to fill in all those fields for now, everything can be configured from the control panel once the installation is done.
4. Database
Here, you should already have a database created in your server, in order to do that (if it's not done yet), in yout server cPanel, click on "MySQL® Databases" , then create a new database , then create a new user for your database and finally add the user you've just created to you database
Note: remember the user's username & password and the database's name
The database's Host is usually "127.0.0.1" or "localhost", if it doesn't work, which is rare, you need to contact you hosting provider.
5. Admin access
The user administrator of your website
Note: the avatar is not required during the installation, you can upload one from the website's admin area.
6. Payments processors
VAT, Currency code, currency symbol, paypal and stripe and their respective optional fees.
Note: you can ignore this step if you don't want to configure the payments processors immediately.
7. Email (SMTP & IMAP)
In your server's cPanel search/click on "Email Accounts" and then on "Connect Devices" for your default email account or create a new one and then, at the bottom, you have two choices, secure and none-secure configuration (settings), the password is the one you used to create the new email account or the cPanel one if it's the default email account.
For each configuration, you have an IMAP port and address, an SMTP port and address and a username.
Note: the IMAP config will allow you to get the emails sent by users to your server's email box from your website admin area, in case you don't specify a reply-to email for the emails you send to your users.
Settings
General
-
Name
Your website's name
-
Title
A headline for your website
-
Description
A short description for your website
-
Email
Your email address (optional)
-
Keywords
Some keywords for your website
-
Items per page
The number of products/items to show per page on the client interface (not the administration).
-
Environnemnent
The environment's mode (production or development)
-
Debug
Whether to show eventual error messages or not.
-
Blog Title
A title for the blog section.
-
Blog Description
A description for the blog section.
-
Search Panel Headlines
Headlines to show above the home's main search bar
-
Timezone
The local time to use for your application.
-
Social Links
Links to your social media accounts/pages (facebook, pinterest, vk, ...).
-
Favicon | Logo | Website Cover | Search Cover | Blog Cover
The website's cover is used as the main cover while the blog one is used for the blog's home page only.
Check the step above 6. Email (SMTP & IMAP), if you ignored this config during the installation, this is the place where you need to put the informations you got from your server.
Payments
PayPal settings
- Create a PayPal business account
- Login to PayPal Developer Dashboard Here
- In "My Apps & Credentials" click on "Create App"
- Give your application a name, select a sandbox account and then click on "Create App"
- Once back to the previous page, click on the name of the app you've just created
-
The default mode is "Sandbox" (testing mode), it has its Client ID and Secret ID (Click on "Show" to see it), if you want to use "Live" mode (real payments, no testing) switch to it and you will be shown the IDs for Live mode.
Change paypal store name
- login to your real paypal account (or sandbox)
- Click on Cog icon (beside logout button) and select "Account Settings"
- on the left menu, click on "Business information"
- For "Business information" click on "Update"
- At the right side of your store's logo, click on "Edit"
- In "Business name", click "Change"
- For "Let us know why you're changing your name" select "Your business name has changed"
- Enter your new business (store) name and validate the changes (click on "Update business name")
- That's it. This name is visible for users/buyers on paypal payment page if they want to go back to your website "store" rather than completing the purchase.
Stripe settings
- Create a Stripe account
- Login to your Stripe account dashboard
- On the left menu, click on "Developers" and then "API Keys"
-
You will have a "Publishable key" which is the Client ID in your website and a "Secret key" which is the Secret ID in your website.
Those two keys or IDs are for testing only (paypal sandbox equivalent mode). - Copy/paste those IDs in your website Stripe settings fields, enable stripe and save the changes (by clicking on the Update button).
- Note : In order to get Keys/IDs for non-testing mode (Live mode) you wil need to fill in the form Here and submit it to stripe for review.
- Test cards can be found Here
Change stripe store name and widget color|logo
- Login to your stripe account
- On the left menu, click on "settings", then, select "Account information"
- In "Public business information / Public business name" enter your new business (store) name
- You can edit the other fields too, 'support email', 'Statement descriptor', 'Business website' ...
- For wiget color and logo, back to the previous page and select "Branding" (Public business information / Branding)
Razorpay settings
- Create a Razorpay account
- Login to your Razorpay account dashboard
- On the left menu, click on "Settings" and then "API Keys"
- Copy the "Key Id" and "Key Secret" (you may need to click on "Generate Test key" blue button to get the necessary keys).
- Copy/paste those IDs in your website Razorpay settings fields, enable Razorpay and save the changes.
- Note : In order to get Keys/IDs for non-testing mode (Live mode) you wil need to fill in the form Here and submit it to Razorpay for review.
- Test cards can be found Here
Skrill settings
- Skrill payment gateway integration was done via Skrill_Quick_Checkout_Guide.pdf documentation, that is based on their way of working where users/developers are not allowed to access their business control panel for testing purposes (” Test Skrill accounts could be offered only to pre-approved merchants ”), so, you will need to contact them to get a Skrill merchant test account.
- Test merchant and test cards are in page 20 of Skrill_Quick_Checkout_Guide.pdf documentation.
Iyzico settings
- Create a sandbox Iyzico account Here
- Login to your sandbox Iyzico account dashboard
- On the left menu, click on "Settings" and then on "Merchant Settings"
- Click on "Show detail" for "API Key" and "Secret Key"
- Copy/paste those IDs in your website Iyzico settings fields ("API Key" to "Key ID" and "Secret Key" to "Key Secret"), enable Iyzico and save the changes.
- Note : In order to get Keys/IDs for non-testing mode (Live mode) you wil need to create a non-sandbox account Here, activate your account via the received email and follow the required steps for applying to a business account.
- Test cards can be found Here
Fee | VAT | Currency
- You can set a fee for each payment processor independently.
- You can specify a VAT (Value Added Tax) to apply on your sales.
- A currency code (ISO Currency Code) and symbol if there is any (the "currency code" is mandatory for the payment processors).
Note: for Stripe configuration in your website, just ignore "Sandbox/Live Selection".
Files Hosts
Google Drive
- Login to Google Console API Here with your prefered gmail acccount
- Click on "Select a project" at the top left corner and select or create a new project in the popup window
- At the top, click on "ENABLE APIS AND SERVICES"
- Search for "Google Drive API", select it and then click on "ENABLE" (the blue button)
- On the left menu, click on "Credentials" and select "API Key" in "Create credentials" (the blue dropdown menu)
- Copy/Paste the API key in the popup into your "File Hosts Google Drive" settings in your website and close the popup window.
- Again, on the left menu, click on "OAuth consent screen", check the "External" radio button and click on "CREATE"
-
Give a name (required) and a logo (optional) to your application, put your website's domain name in "Authorised domains" field (required), your website's privacy policy page's link into "Application Privacy Policy link" and the same for "Terms of Service" (required).
Note: the "Privacy policy" and "Terms of Service" page are by default in "http(s)://your_domain_name.tld/page/privacy-policy" and "http(s)://your_domain_name.abc/page/terms-and-conditions" - Click on "Save"
- On the left menu, click on "Credentials" and then on "Create credentials" and select "OAuth Client ID"
- On "Application type" select "Web application"
-
In "Authorised redirect URIs" put "http://your_domain.name.tld/login/google/callback" hit Enter to validate and then put another one "http://your_domain.name.tld/gd_callback"
Note: you can use http or https depending on whether your website under a secure protocol or not, and, with "www." or not. - In "Authorized JavaScript origins" put "http://your_domain.name.tld" (as said above, with https / http, www. or not or all the possibilities if you want to)
- Once finished, click on "Save", you will get a "Client ID" and "Client secret" (the client secret corresponds to the "Secret ID" in your website settings)
- Copy/Paste those two IDs in their respective fields in your website / settings / file hosts /google drive (close the popup "OK")
- Save the changes in your website and thereafter click on "Connect" and select the account corresponding to your google drive (you can switch to another one later if you want to)
-
Once accepted and agreed to your Google Console APP conditions, you will get a refresh token, enable "Google Drive" in your website if you want and save the changes.
Note: you will probably get a "This app isn't verified" warning message while trying to connect your account with your app, just click on "Advanced" (a grey underlined text) and click on "Go to ... (unsafe)"
Click on "Allow" to give your "Google Console APP" the authorisation to use your google drive (see, edit, create and delete files in your google drive) and again click on "Allow"
Dropbox
- Login to your Dropbox developers Here with your prefered email
- Once in, click on "Create app"
- Select "Dropbox API"
- Select whether you want to get files only from the app folder all dropbox.
- Give a name to your application, it's going to be your App folder's name, so, if you've choosen "App Folder" above, your requests to dropbox will be limited to this folder, else, to your whole dropbox.
- Click on "Create app"
- Once done, your App Key and APP Secret will be on the given page, copy/pase them into their respective fields in your website / settings / file hosts / dropbox, and save the changes (Update)
- For the "Redirect URIs", put "https://your_domain_name.tld/admin/settings/files_host" and click on "Add" (https is required)
- If you want this app this be uesd by different accounts, click on "Enable additional user" at the top of the page, by that, your app will be allowed to be used by 500 users (accounts) as max.
- Back to you website /settings / file hosts / dropbox, click on "Connect", connect with the dropbox accont you want to use, click on "Continue" and then "Allow", you will be redirected to your website with an "access token" place in its place for dropbox.
- Enable Dropbox if you want, save the change and that's it.
Note : The enabled "file hosts" will be visible in "Create" and "Edit" product's page.
Note : The email shown in a green message for each "File Host" corresponds to the email you connected with to each "File Host" (the account in use).
Working with Folders or Files
- You can only work with one of the two option, files or folders
- To replace files with folders or the opposite for your existing products/items, select the right option and edit your product with the new file/folder. Buyers of that item will automatically have access to that file/folder.
- You can set a default path for the folder that you want to access by default in your google drive or dropbox account, so that when you open google drive or dropbox modal to select a file/folder, only files/folder in that path will be shown.
- The default path for your google drive corresponds to a Folder ID that you can get from the address bar ("https://.../folders/1_w2z8qVsGFDl9yv4qYf55fLKQTh9lpLN" where "1_w2z8qVsGFDl9yv4qYf55fLKQTh9lpLN" is the folder id)
- The default path for your dropbox corresponds to a Folder Path that you can get from the address bar ("https://www.dropbox.com/home/Valexa" where "/Valexa" is the folder path)
Note : You don't need to and you should not make your folders and files accessible publicly or sharing them, they are served to buyers privately under your autorization via the API.
Social Login
In this step, you can either use the credentials you got from "Files Hosts" step (Client ID and Secret ID for google drive) or create other Credentials with another gmail account folowwing the same steps mentionned in "Files Hosts" for google drive but without enabling "Google Drive API", because it's not necessary, just Credentials for "OAuth Client ID" and the "OAuth Consent Screen".
Github
- Create a github account (if you don't have one)
- Login to your github account
- on the profile dropdown menu, select "Settings"
- On the left menu, select "Developers settings" (the last option in the menu)
- On the left menu, click on "OAuth Apps" and then "New OAuth APp"
- Enter a name for yout application and a description
- For "Homepage URL" enter your website's url (https://your_domain_name.tld)
- For "Authorization callback URL" enter "https://your_domain_name.tld/login/github/callback", once finished, click on "Register application"
- Click on the application you've just created, you'll see your Client ID and Secret ID, (you can upload a logo for your github application if you want to)
- Copy/paste the Client ID and Secret ID to their respective fields in your website (settings / social login / github)
- Create a twitter account (if you don't have one)
- Login to Twitter Developper website Here
- On the dropdown menu (the one with your name), select "Apps" and then click on "Create an app"
- Enter a name, a description for your application, your website's url (https://your_domain_name.tld), check the "Enable Sign in with Twitter" checkbox
- In "Callback URLs", enter "https://your_domain_name.tld/login/twitter/callback"
- In "Terms of Service URL", enter "https://your_domain_name.tld/page/terms-and-conditions"
- In "Tell us how this app will be used", tell them you want to allow users to login to website with their twitter accounts and for that you will need their usernames, emails and optionally their avatars (no tweets, no contacts, not anything else).
-
Click on "Create" to complete the process
You will need to wait for sometime for Twitter dev Team to review your request. - Once your request is validated, login to twitter developers / Apps / Your application (the place your were in before)
- Click on "Keys and tokens"
- In "Consumer API keys", the (API key) corresponds to your twitter Client ID and (API secret key) to your twitter Secret ID
- Copy/Paste those two IDs to their places in your website / settings / social login / twitter
- Create a Linkedin account (if you don't have one)
- Login to Linkedin developpers Here
- On "My Apps" dropdown menu, select "Create app"
- Enter a name for your app, a company name
- In "Privacy policy" put "http(s)://your_domain_name.tld/page/privacy-policy"
- Upload a logo for your linkedin app
- For "Products" leave everything as is
- Accept the "Legal terms" and hit "Create" button
- Once done, from the previous dropdown menu (My Apps), select the App you've just created
- Select "Auth" on the top menu, scroll down to "Redirect URLs:" and put in "http(s)://your_domain_name.tld/login/linkedin/callback"
- At the top of the same page, you have your Client ID and Secret ID shown as 'Client Secret' for your Linkedin app
- Copy/Paste those to IDs to their respective fields in your website / settings / social login / Linkedin
- Create a Facebook account (if you don't have one)
- Login to Facebook Developers Here
- From "My Apps" dropdown menu, select "Create App"
- Give a name to your App and a contact email and then click on "Create App ID"
- In "Add a Product" click on "Set up" for "Facebook Login" product
- In the left menu, under "Facebook Login" click on "Settings"
- In "Valid OAuth Redirect URIs" put "https://your_domain_name.tld/login/facebook/callback"
- In the left menu, click on "Settings" and then "Basic"
-
In "App Domains" enter your domain name with and without www. (withour http)
e.g. your_domain_name.tld and www.your_domain_name.tld - In "Privacy Policy URL" put http(s)://your_domain_name.tld/page/privacy-policy
- In "Terms of Service URL" put http(s)://your_domain_name.tld/page/terms-and-conditions
- In "Category" select which category your website's activity belongs to
- The Client ID and Secret ID are at the top of the page (Settings / Basic), copy/paste them to their places in your website / settings / social login / facebook
VKontacte
- Create a VK account (if you don't have one)
- Login to VK Dev Here
- At the top menu, click on "My Apps"
- Click on "Create app"
- Give your app a title
- On "Platform" select "Website"
- In "Website address" and "Base domain" entre respectively "http(s)://your_domain_name.tld", "your_domain_name.tld"
- Thereafter, click on "Connect website"
- In "Terms and Conditions" write "http(s)://your_domain_name.tld/page/terms-and-conditions"
- In "Privacy Policy" write "http(s)://your_domain_name.tld/page/privacy-policy"
- In "Screenshots" Upload an image for your application if you want to
- On the left menu, click on "Settings"
- Scroll down to "Authorized redirect URI" end enter "http(s)://your_domain_name.tld/login/vkontakte/callback"
- In "Website focus" select your website activity
- The "App ID" at the top serves as "Client ID" and "Secure key" as "Secret ID" for your VKontacte login settings
- That's it, don't forget to enable it and save the changes.
Search Engines
Google Site verification
- Connect to Google Webmaster Here
- In "Domain", enter your domain name "your_domain_name.tld" (without http) and click on "Continue"
-
In the windows that shows up, copy the "google-site-verification" value, just the code after "=" sign
e.g. google-site-verification=THE_CODE_HERE - Paste it in your website / settings / search engines / Site verification / Google and save the changes (update)
- Back to google webmaster page, click on "Verify" to complete the verification
Bing Site verification
- Connect to Bing Webmaster Here
- In "Add a Site" under My Sites", enter your website's url "http(s)://your_domain_name.tld" and click on "Add"
- Next, copy the content value in '<meta name="msvalidate.01" content="THIS_ONE" />'
- Paste it in your website / settings / search engines / Site verification / Bing
- Back to Bing webmaster, click on "Verify" (the one under "Copy and paste a <meta> tag in your default webpage") to complete the verification
Yandex Site verification
- Connect to Yandex Webmaster Here
- Click on your profile and then "Settings"
- At the top menu, click on the "+" sign beside "Select site"
- Click on "Confirm" or close the popup that shows up
- In "Site address", enter your website url "http(s)://your_domain_name.tld" and hit "Add" button
- Once done, select the content's value '<meta name="yandex-verification" content="THIS_ONE" />'
- Copy/Paste this value in your website / settings / search engines / Site verification / Yandex
Google analytics
- https://support.google.com/analytics/answer/1009694?hl=en
- https://support.google.com/analytics/answer/1042508?hl=en
Robots
Categories
Categories can be created for both blog posts and items/products
Products
Each item/product has a name, a short description (for search engines), an overview, features, requirements, instructions, some notes to show under the price (Free support, ...), a FAQ list, a price, a main file (an archive, zip, 7zip, rar), a cover, a thumbnail, some optional screenshots, a category and optional subcategory, some tags, a version, a release date and last update date, a preview url, the included files in the item, tools that were used in/to create that item, the database management system used if there is any database, a browsers compatibility list, a OS compatibility list and finally if it's height resolution or not.
-
Price
If you set the price to 0 then the item will be for free
If you want to put a limited time for an item during which it will be free, you will need to edit the item, the free download time will be visible under the price (From ... To ...).
-
File
The main file can be uploaded from your device or just selected from the files that you have in your Google Drive or Dropbox, but, for those two last options, you need to configure and enable them in "Settings / Files Hosts" first
Note: the main file must be an archive, a .zip, .7z or .rar file.
-
Folder
The main folder can be uploaded from your device or just selected from the folder that you have in your Google Drive or Dropbox, but, for those two last options, you need to configure and enable them in "Settings / Files Hosts" first
Note: the main folder must not contain any subfolders.
-
Thumbnail
The thumbnail is the item's icon, it will be visible beside the name of the item in the main page of the said item.
-
Trending status
The trending status is based on two elements, the number of sales and the number of views.
You have the choice to activate this status manually for the items that you want in the items/products list.
-
Active status
This status make an item published or not (visible or hidden for users).
Pages
Each page has a name, a short description for search engine, a main content and some tags
Pages are shown in the footer of the website.
Posts
Each post has a name, short description for search engines, a cover, a category, a main content and some tags
You can add a new category if it's not already in the categories list, it will be created and added to your categories during the post's creation.
Note: make sure your posts's covers have the same dimension so the user interface doesn't look ugly.
Coupons
Each coupon has a code, a value (percentage or monetary), a products list, a users list, a start and expiration date
-
Value
The value can be either monatary or percentage by setting the "Is percentage" option to false ot true.
-
Product
The product to which you want to authorize the coupon. If left empty, then that coupon will be applicable to all products.
-
Users
Users who can use the coupon. If left empty, every user can use that coupon.
Transactions
- Transactions can be refunded totally or partially. 0 means totally, else, means partially.
- The details about any transaction can be seen from "Actions / Details" in the transactions list.
Note: The transaction's details are not stored in your database but collected from the used processor's database using its API (if you see any slowness).
Comments
By default and as unique option, all comments and reviews need to be approved to be published and then visible to users/visitors.
Users
The users list show if a user has verified his/her email address or not yet, how much he spent in your platform, how many items he purchased in your platform, when did he/she register to you platform and his/her email address.
You can delete users but cannot add users.
Reviews
As said previously, reviews need your approval to get published in your website.
Newsletter
Subscribers
List of subscribers to your newsletter
This list can be exported in csv format in case you want to use it in other third party newsletter services
Create newsletter
- You can select specific emails (subscribers) to which you want to send the newsletter, or, leave the emails field empty to send it to all subscribers.
- The subject field is mandatory
-
For the newsletter's body, you can either use the html editor and write you own newsletter, or, use the selections to prepare your newsletter.
The search product field (dropdown list) is based on a search that returns 5 results so you don't load 1k items or more at once
Once you finish with the selections, click on the eye button to see how things look like. - You can always visualize your newsletter before you send it, and for that, use the eye button at the top (beside udpate and cancel buttons).
FAQs
FAQs are shown in Support page.
Support Messages
Messages sent by users/visitors through the support form (in Support page).
You can reply to them via "Actions / Reply" (by message), your previous own messages to each user's message will be visible in this page ("Reply To" page)
The "Reply To" page contains the suject and the message sent you by the user/visitor
If you did specify a "reply to" email address in "Settings / Mailer / Mail" then if the user/visitor decide to response back to your message, his/her message will be sent to this email address which may be different than the one you contacted him with. (eg, a user contacted you via the support form in your website and you responded him back with a 'reply to' gmail address to continue the discussion in gmail to gmail rather than gmail to your website's admin)
If you did enable IMAP in "Settings / Mailer", then you can load/read messages sent to your server's email account (inbox) from your admin / support messages, you'll see a "Load unseen" button above the messages's list (beside search bar)
Profile
Here you can update your profile.
If you don't want to update the password, leave it empty, else, type your new password in.
The profile picture can be loaded by clicking on the existing profile picture, it serves as a picture and a browse file button.
Sitemap
Sitemaps are generated, created and updated automatically from the admin area and put in your website root under the following names (posts.xml, products.xml and pages.xml).
You can access them via "http(s)://your_domain_name.tld/{sitemap_name}" where {sitemap_name} is one of the three names mentioned above.
In case a file get corrupted just delete it from your website's root and get to the administration in your website and then to the items list of the concerned sitemap file (posts, products, pages), it will be recreated automatically.
Assets
CSS Files
-
Administration
public/assets/admin/css/app.css -
Non-Administration
public/assets/default/css/app.css
Javascript Files
-
Administration
public/assets/admin/js/app.js -
Non-Administration
public/assets/default/js/app.js
Updates
All updates are done through "releases" folder which needs to be placed in "/public" directory of your website.
"/public" directory may differ from one server to another, it may be "/public_html", "/htdocs" or simply "/public", it corresponds to the document root of your website.
Note : Please, Contact us if you face any difficulties during this process.
We strongly recommend you to create a backup for your website before you proceed to any update.
Update v1.1
- Move "/releases" folder to your website document root as mentioned above
- Access the "/releases" folder via the address bar (e.g: https://example.com/releases)
- The current installed/used version is the red one while the others are either lower or higher versions
- The current installed/used version is the red one while the others are either lower or higher versions
- It is not possible to downgrade to a lower version
- If the higher version is not yet installed, the EXECUTE button will be active, you can click on it the launch the update, once it is finished the page will refresh and the EXECUTE button will become inactive.
- Click on your website logo to go back to the home page.
- Do not forget to move the "/releases" folder out of your website document root so it becomes inaccessible through the address bar. (You can also delete it)
- That's all for the update version 1.1
Update v1.2
Note : This update consists, among other, of replacing files and folders in your current script, if you want to know which files and folders will be replaced, you can see that in "/releases/1.2/index.php" in $dirs and $files variables.
- Move the content of the new script folder to "/releases/1.2" folder
-
- The content of "releases/1.2" BEFORE placing the content of the new script into it :
-
- The content of "releases/1.2" AFTER placing the content of the new script into it :
-
- As mentioned before for the update 1.1, access the "/releases" folder via the address bar (e.g: https://example.com/releases)
- The current installed/used version is the red one while the others are either lower or higher versions
- It is not possible to downgrade to a lower version
- If the higher version is not yet installed, the EXECUTE button will be active, you can click on it the launch the update, once it is finished the page will refresh and the EXECUTE button will become inactive.
- Click on your website logo to go back to the home page.
- Do not forget to move the "/releases" folder out of your website document root so it becomes inaccessible through the address bar. (You can also delete it)
- That's all for the update version 1.2
Languages
This update includes three languages (English, Arabic and French) and they are enabled by default.
-- Removing Languages
If you want to remove a language, proceed as follows :
- Open "/config/laravellocalization.php" file
- Find the line that corresponds to the language you want to remove, and put // at the start of it.
- Save the changes and that's it, that language won't be suggested in the languages dropdown list anymore.
-- Adding Languages
If you want to add a language, proceed as follows :
- Go to https://github.com/caouecs/Laravel-lang
- Click on the Green button "Clone ot download" and select "Download ZIP"
- Extract the zip file, and you will find the available languages in "/src" folder of that zip content. (those language files contain translations for messages returned to users for form validation or default email messages)
- Copy/Paste the language folder that you want to "/resources/lang" in your website folder
- Open "/config/laravellocalization.php" file in your website folder
- Find the line that corresponds to the language you want to add, and remove // from the start of it
- Save the changes
- Create a file in "/resources/lang" in your website folder with the extact same name (with .json extension) of the language line you've just added
- Examples :
-
- Copy the content of "/resources/lang/base.json" into your newly created language file
- Put your translation for any text in its corresponding empty field (""), exactly as it is done in the other language files
- Note : words that start with : are paremeters and you must not translate them, they serve for placeholders (e.g : "New release is available for :product_name" here :product_name is a parameter and you must not translate it)
- Once finished with that, your new language will be added to the languages dropdown list and will be available for you and the users of your website.
Yandex Disk
- Create a Yandex account and connect to it
- Create an application Here
- In "Link to the application website" put your website url
- In "Platforms" select "Web services"
- In "Callback URI" add https://your_domain_name/en/admin/settings/files_host , '/en/' in your callback uri must correspond to the language that will be used when you try to connect your account with this application, that said, if you put '/en/' here, then in your website administration, you must be using english (en) language when you try to connect your account with this application. You can add as many URIs as you want for other languages and for requests with http and https too.
- For "Access *" option, check the four checkboxes of "Yandex.Disk REST API"
- Once your application is created, you will get an ID (App ID) and a Password (App password), copy/paste them in your website "/admin/settings/files_host" to their corresponding fields for Yandex Disk and save the changes
- Again, in your website "/admin/settings/files_host" for Yandex Disk, click on connect and select the account that you want to use with your yandex disk application
- If the connection succeeded, a refresh token will be put in "Refresh token" field of Yandex disk
- Enable "Yandex disk", save the changes and quit
- You should be able to select files from your yandex disk when you try to add a product or edit its main file.
- Note : It is not possible to work with folder with Yandex disk, their API doesn't support that.
Update v1.2.1
Note : This is a fix for v1.2
- Move the content of the new script folder to "/releases/1.2.1" folder, exactly the same as for v1.2
- Access the "/releases" folder via the address bar (e.g: https://example.com/releases)
- Execute the Fix 1.2.1
- Click on your website logo to go back to the home page.
- Do not forget to move the "/releases" folder out of your website document root so it becomes inaccessible through the address bar. (You can also delete it)
- That's all