# Magic editors

## The module for quick editing of data for OpenCart 3.0.2.0

- Date: 15.06.2018
- Author: MaxyStore
- support@maxystore.com
- maxystore.com@gmail.com

##### Compatibility with versions

This module is fully compatible with the following versions of the engine:

1. OpenCart v.3.0.2.0

### Installation

Module installation is quite simple and requires no special skills.

1. Unpack the archive with the module
2. Before installing the module, you need to know the PHP version of your server, as it is written in detail in paragraph 3.
   If the PHP version of your server is known, then you can go directly to step 4 of the "Installation"section.
3. To find out the PHP version of your server, you need:
   - Create in the root directory of the store, i.e. where the file is located index.php file with name phpinfo.php
   - In the created file to write the following code:

         <?php phpinfo(); ?>

   - Then, in the address bar, type http://site.ru/phpinfo.php (instead site.ru write your website address)
   - You will get a page with your server data, which at the top will be the PHP version of your server.
4. Open the folder for version PHP 5.4-5.6 if your server version PHP 5.4, PHP 5.5, PHP 5.6
   Open the folder for version PHP 7.1-7.2 if your server version PHP 7.1, 7.2
   and load the folder admin in the root directory of the store, ie where the file index.php
5. In the administrative part install the module.
6. Activate the license on the module.
7. To links to topics editors were available in the main menu, you set the modifier, go to "Extensions->Extension Installer" and download the file admin_quick_edit.ocmod.zip, which is in the archive with the module.
8. After that, go to "Extensions->Modifications". You should see the installed version for this module. If you can not see, then the modification is not installed, go back and try again. Once the modification is installed, be sure to click the refresh button to update the cache system.
9. After successful installation, the main menu (at the top) will be a new category of "Magic Editors"

If this section does not appear, or are having any problems installing the modifier, then you can make small changes only 1 file manually.
To do this:

1. Open for editing the file - admin/controller/common/column_left.php
   Find the line:

       public function index() {

   Before rows are found, add the following code:

       if ($this->config->get('admin_quick_edit_activated') == 'activated') {
       	$this->load->language('extension/module/admin_quick_edit');

       	$aqmanager = array();

       	if ($this->user->hasPermission('access', 'editors/category')) {
       		$aqmanager[] = array(
       			'name'	   => $this->language->get('text_category'),
       			'href'     => $this->url->link('editors/category', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	if ($this->user->hasPermission('access', 'editors/product')) {
       		$aqmanager[] = array(
       			'name'	   => $this->language->get('text_product'),
       			'href'     => $this->url->link('editors/product', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	if ($this->user->hasPermission('access', 'editors/filter')) {
       		$aqmanager[] = array(
       			'name'	   => $this->language->get('text_filter'),
       			'href'     => $this->url->link('editors/filter', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	$aqmanager_attribute = array();

       	if ($this->user->hasPermission('access', 'editors/attribute')) {
       		$aqmanager_attribute[] = array(
       			'name'     => $this->language->get('text_attribute'),
       			'href'     => $this->url->link('editors/attribute', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	if ($this->user->hasPermission('access', 'editors/attribute_group')) {
       		$aqmanager_attribute[] = array(
       			'name'	   => $this->language->get('text_attribute_group'),
       			'href'     => $this->url->link('editors/attribute_group', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	if ($aqmanager_attribute) {
       		$aqmanager[] = array(
       			'name'	   => $this->language->get('text_attribute'),
       			'href'     => '',
       			'children' => $aqmanager_attribute
       		);
       	}

       	if ($this->user->hasPermission('access', 'editors/option')) {
       		$aqmanager[] = array(
       			'name'	   => $this->language->get('text_option'),
       			'href'     => $this->url->link('editors/option', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	if ($this->user->hasPermission('access', 'editors/manufacturer')) {
       		$aqmanager[] = array(
       			'name'	   => $this->language->get('text_manufacturer'),
       			'href'     => $this->url->link('editors/manufacturer', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	if ($this->user->hasPermission('access', 'editors/information')) {
       		$aqmanager[] = array(
       			'name'	   => $this->language->get('text_information'),
       			'href'     => $this->url->link('editors/information', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	if ($this->user->hasPermission('access', 'editors/review')) {
       		$aqmanager[] = array(
       			'name'	   => $this->language->get('text_review'),
       			'href'     => $this->url->link('editors/review', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	if ($this->user->hasPermission('access', 'editors/customer')) {
       		$aqmanager[] = array(
       			'name'	   => $this->language->get('text_customer'),
       			'href'     => $this->url->link('editors/customer', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	if ($this->user->hasPermission('access', 'editors/order')) {
       		$aqmanager[] = array(
       			'name'	   => $this->language->get('text_order'),
       			'href'     => $this->url->link('editors/order', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	if ($this->user->hasPermission('access', 'tool/seo_manager')) {
       		$aqmanager[] = array(
       			'name'	   => $this->language->get('text_seo_manager'),
       			'href'     => $this->url->link('tool/seo_manager', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	if ($this->user->hasPermission('access', 'extension/module/admin_quick_edit')) {
       		$aqmanager[] = array(
       			'name'	   => $this->language->get('text_setting'),
       			'href'     => $this->url->link('extension/module/admin_quick_edit', 'user_token=' . $this->session->data['user_token'], true),
       			'children' => array()
       		);
       	}

       	if ($aqmanager) {
       		$data['menus'][] = array(
       			'id'       => 'menu-aqmanager',
       			'icon'	   => 'fa-magic',
       			'name'	   => $this->language->get('text_quick_menu'),
       			'href'     => '',
       			'children' => $aqmanager
       		);
       	}
       }

The installation is complete.

### General

This module is designed to facilitate the work of the administrator with the main sections of the store.
Edit data using this module is done in modal Windows directly in the item list.
Saving edited data instantly without page reloading.
In each editor to quickly edit added:

1. Fixing the top part of the editor with the function keys at the top of the browser window;
2. The "Apply" button when adding or editing an item in the form;
3. Duplicate page navigation at the top of the list of items;
4. Duplicated column names in the bottom of the list of items, with the ability to sort;

For more information about each editor, please consult the corresponding section of this documentation.

### Categories

In the upper part of the editor added a functional Copy button, with which you can copy any existing category, for further editing.
The ability to edit any data (see screenshot)

1. Image Category;
2. Category Name;
3. Sort Order;
4. Status;
5. General Data:
   - Description;
   - Meta Tag Title;
   - Meta Tag Description;
   - Meta Tag Keywords;
6. Parent;
7. SEO Keyword;
8. Filters;
9. Stores, Columns;
10. Design;
11. Top;

### Products

Manager of products has a powerful filter with which you can produce selection of products in the following criteria (see screenshot):

1. The name of the products;
2. The attributes of the products;
3. For the price of products;
4. By category;
5. The product filters;
6. The quantity of products;
7. The manufacturer of the products;
8. The products SKU;
9. By product status (enabled/disabled);
10. The model of the products;
11. The location of the products;

Manager products works in three modes.

##### I. Mode - edit Individual (edit any data the selected product)

1. Image;
2. Product Name;
3. Categories;
4. Manufacturer;
5. Model;
6. Price;
7. Special Price;
8. Quantity;
9. Status;
10. General Data:
    - Description;
    - Meta Tag Title;
    - Meta Tag Description;
    - Meta Tag Keywords;
    - Product Tags;
11. Codes;
12. Location, Tax Class;
13. Min. quantity, Stock, Shipping;
14. SEO Keyword;
15. Date Available
16. Filters
17. Stores
18. Downloads
19. Related Products
20. Attribute
21. Option
22. Discount
23. Special
24. Image
25. Reward Points
26. Design
27. Product View

##### II. Mode - Mass edit (edit any data selected products)

This mode, as in mode, individual editing, MASSIVELY edit all data of the selected products.

##### II. Mode - Mass delete(edit any data selected products)

This mode, you can delete any data in the selected products, including products.

### Filters

Editing data in the filter list.

### Attributes

Editing data in the attribute list.

### Attribute Groups

Edit data in the list of groups of attributes.

### Options

Edit data in the list of options.

### Manufacturers

Edit data in the list of manufacturers.

### Reviews

Editing data in the revocation list.

### Informations

Edit data in the list of informations.

### Customers

Edit data in the customers list.

### Orders

Edit data on the order view page.

### SEO Manager

Data editing on page SEO Manager.

Using SEO Manager, you can automatically generate the following SEO data (see screen example on the SEO Manager of products):

1. Generator SEO URL. This generator has two options for creating SEO URL:
   - Creates a new SEO URL only for those elements where they are not registered.
   - Creates a new SEO URL and overwrites existing
2. The ability to specify the end of CNC
3. The Generator Meta Tag Title
4. The Generator Meta Tag Description
5. Generator keywords
6. The Tag generator of the product

All data created based on given templates.
With this SEO Manager can also automatically generate SEO URL (CNC) in the form or in the item list, such as when creating a new product by the products of this module, in the form of product field SEO URL (CNC) may be left blank. It will be automatically populated based on the name of the product, etc.

### Module Settings

In module settings you can specify what data will be available to edit in the list of items and which are not available. Also there is ability to set some default data. For example for items you can specify the following:

1. Model field is mandatory or not.
2. The quantity of products by default
3. The minimum quantity of products by default
4. Deduct the products from the warehouse or not
5. Need delivery or not