UnclePasha

Отладка AJAX запроса

Рекомендуемые сообщения

UnclePasha    0

Всем привет! Разрабатываю свой первый модуль для Opencart 1.5.5.1.2 и возникла проблема с возвратом значений из контроллера в шаблон через AJAX. Изначально делал всё по руководствам в Интернете. 
 
Контроллер (прошу извинить, не понял, как форматировать код в спойлере): 

 


class ControllerModuleMyModule extends Controller {

private $error = array();

public function index() {
//Load the language file for this module
$this->load->language('module/my_module');

//Set the title from the language file $_['heading_title'] string
$this->document->setTitle($this->language->get('heading_title'));

//Load the settings model. You can also add any other models you want to load here.
$this->load->model('setting/setting');

//Save the settings if the user has submitted the admin form (ie if someone has pressed save).
if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
$this->model_setting_setting->editSetting('my_module', $this->request->post);

$this->session->data['success'] = $this->language->get('text_success');

$this->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
}

//This is how the language gets pulled through from the language file.
//
// If you want to use any extra language items - ie extra text on your admin page for any reason,
// then just add an extra line to the $text_strings array with the name you want to call the extra text,
// then add the same named item to the $_[] array in the language file.
//
// 'my_module_example' is added here as an example of how to add - see admin/language/english/module/my_module.php for the
// other required part.

$text_strings = array(
'heading_title',
'text_enabled',
'text_disabled',
'text_content_top',
'text_content_bottom',
'text_column_left',
'text_column_right',
'entry_layout',
'entry_limit',
'entry_image',
'entry_position',
'entry_status',
'entry_sort_order',
'button_save',
'button_cancel',
'button_add_module',
'button_remove',
'entry_cat_before',
'entry_part_name',
'entry_cat_after',
'entry_example' //this is an example extra field added
);

foreach ($text_strings as $text) {
$this->data[$text] = $this->language->get($text);
}
//END LANGUAGE

//The following code pulls in the required data from either config files or user
//submitted data (when the user presses save in admin). Add any extra config data
// you want to store.
//
// NOTE: These must have the same names as the form data in your my_module.tpl file
//
$config_data = array(
'my_module_example' //this becomes available in our view by the foreach loop just below.
);

foreach ($config_data as $conf) {
if (isset($this->request->post[$conf])) {
$this->data[$conf] = $this->request->post[$conf];
} else {
$this->data[$conf] = $this->config->get($conf);
}
}

//This creates an error message. The error['warning'] variable is set by the call to function validate() in this controller (below)
if (isset($this->error['warning'])) {
$this->data['error_warning'] = $this->error['warning'];
} else {
$this->data['error_warning'] = '';
}

//SET UP BREADCRUMB TRAIL. YOU WILL NOT NEED TO MODIFY THIS UNLESS YOU CHANGE YOUR MODULE NAME.
$this->data['breadcrumbs'] = array();

$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL'),
'separator' => false
);

$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('text_module'),
'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'),
'separator' => ' :: '
);

$this->data['breadcrumbs'][] = array(
'text' => $this->language->get('heading_title'),
'href' => $this->url->link('module/my_module', 'token=' . $this->session->data['token'], 'SSL'),
'separator' => ' :: '
);

$this->data['action'] = $this->url->link('module/my_module', 'token=' . $this->session->data['token'], 'SSL');

$this->data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL');


//This code handles the situation where you have multiple instances of this module, for different layouts.
$this->data['modules'] = array();

if (isset($this->request->post['my_module_module'])) {
$this->data['modules'] = $this->request->post['my_module_module'];
} elseif ($this->config->get('my_module_module')) {
$this->data['modules'] = $this->config->get('my_module_module');
}

$this->load->model('design/layout');

$this->data['layouts'] = $this->model_design_layout->getLayouts();

//Choose which template file will be used to display this request.
$this->template = 'module/my_module.tpl';
$this->children = array(
'common/header',
'common/footer',
);

/*My test module*/
//Taking all parent categories
$this->load->model('catalog/category');
$this->data['module_category'] = $this->model_catalog_category->getAllCategories();  //выводит список категорий в <select> 

/*End of test module*/
//Send the output.
$this->response->setOutput($this->render());

}

/*Моя функция для обработки AJAX*/
public function aj(){
      $this->load->language('module/my_module');
      $category_id = $this->request->get['category_id'];

      if ($category_id > 0) {
            //loading the AJAX
            $this->template = 'module/my_module.tpl';
            $this->load->model('catalog/product');
            $product = $this->model_catalog_product->getProduct($category_id);
            $data['product'] = $product;
            $this->response->setOutput($this->render());
}


/*
* This function is called to ensure that the settings chosen by the admin user are allowed/valid.
* You can add checks in here of your own.
*
*/

private function validate() {
if (!$this->user->hasPermission('modify', 'module/my_module')) {
$this->error['warning'] = $this->language->get('error_permission');
}

if (!$this->error) {
return TRUE;
} else {
return FALSE;
}
}

}
?>


 

AJAX функция в шаблоне (срабатывает при выборе нужного значения в списке <select>):

 $('#category').on('change', function() {
        $.ajax({
          type: 'get',
          url: 'index.php?route=module/my_module/aj&token=<?php echo $token; ?>',
          data: 'category_id='+this.value,
          dataType: 'html',
          beforeSend: function(){
              console.log("Send");
          },
          success: function(htmlText){
              console.log(htmlText);
        },
        error: function(xhr, textStatus, error){
          console.log(xhr.responseText);
          console.log(textStatus);
          console.log(error);
      }
    }); 

Первая проблема в том, что контроллер не может поймать параметры get запроса и, как следствие, обработать его. Вторая проблема - даже если я пишу простую переменную в функции-обработчике, в ответе console.log(xhr.responseText) выводит весь HTML код шаблона.

 

Я пробовал делать всё через JSON (создавал простой массив в функции контроллера и ставил его на вывод через $this->response->setOutput(json_encode($json))), но из-за проблемы с выводом в AJAX была ошибка парсинга JSON (т.к. выводится весь HTML код, а не ожидаемая пара "ключ-значение"). 

 

Что я делаю не так? 

 

Заранее благодарен за помощь. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ArtemPitov    386

если json

$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode( ..тут возврат массива в json.. ));
 $('#category').on('change', function() {

    var id = 'category_id='+this.value;

    $.ajax({
        type: 'GET',
        url: 'index.php?route=module/my_module/aj',
        data: id,
        dataType: 'html',
        beforeSend: function(){
          console.log("Send");
        },
        success: function(htmlText){
          console.log(htmlText);
        },
        error: function(xhr, textStatus, error){
          console.log(xhr.responseText);
          console.log(textStatus);
          console.log(error);
      }
    });
public function aj(){
  
    $this->load->language('module/my_module');
    if isset($this->request->get['category_id']) {

      $product = $this->model_catalog_product->getProduct($category_id);

      $this->response->setOutput($product);

      if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/my_module.tpl'))  
          $this->template = $this->config->get('config_template') . '/template/module/my_module.tpl';
      else $this->template = 'default/template/module/my_module.tpl'; 
    } else  $this->response->setOutput('ERROR');

} 

Пробуйте так, писал на скорую руку мог и ошибиться

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
UnclePasha    0

если json

$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode( ..тут возврат массива в json.. ));
 $('#category').on('change', function() {

    var id = 'category_id='+this.value;

    $.ajax({
        type: 'GET',
        url: 'index.php?route=module/my_module/aj',
        data: id,
        dataType: 'html',
        beforeSend: function(){
          console.log("Send");
        },
        success: function(htmlText){
          console.log(htmlText);
        },
        error: function(xhr, textStatus, error){
          console.log(xhr.responseText);
          console.log(textStatus);
          console.log(error);
      }
    });
public function aj(){
  
    $this->load->language('module/my_module');
    if isset($this->request->get['category_id']) {

      $product = $this->model_catalog_product->getProduct($category_id);

      $this->response->setOutput($product);

      if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/my_module.tpl'))  
          $this->template = $this->config->get('config_template') . '/template/module/my_module.tpl';
      else $this->template = 'default/template/module/my_module.tpl'; 
    } else  $this->response->setOutput('ERROR');

} 

Пробуйте так, писал на скорую руку мог и ошибиться

 

А где ставить заголовки и json output? В функции index или в функции для ajax? 

Пока создал функцию по образцу вашей, отредактировал ajax запрос, результат вывел в alert(htmlText), получилось то, что на скриншоте во вложении.  

post-711288-0-45204800-1464795167_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ArtemPitov    386

для начала поясните что он должен делать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
UnclePasha    0

для начала поясните что он должен делать

Он должен принимать через get запрос выбранную категорию (из списка <select> в шаблоне) в контроллер, затем переданная категория служит аргументом для функции getProductsByCategoryId, получаем массив товаров и парсим его обратно в .tpl файл. Это первое, что хочу сделать в модуле. Потом, на втором этапе, этот товар будет присвоен новой категории. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ArtemPitov    386

Он должен принимать через get запрос выбранную категорию (из списка <select> в шаблоне) в контроллер, затем переданная категория служит аргументом для функции getProductsByCategoryId, получаем массив товаров и парсим его обратно в .tpl файл. Это первое, что хочу сделать в модуле. Потом, на втором этапе, этот товар будет присвоен новой категории. 

так откройте любой стандартный модуль и не посмотрите как там сделано и не выдумывайте велосипед 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
UnclePasha    0

так откройте любой стандартный модуль и не посмотрите как там сделано и не выдумывайте велосипед 

 

А вы можете привести такой пример? Насколько я смотрел, функционал модулей в админпанели однообразен, там лишь форма с изменением положения модуля, кнопкой сохранения и удаления. А по ТЗ надо сделать функционал, который я описал выше, именно в админке. Это разве невозможно? Не сарказм, просто вопрос к профессионалу :)

Custom функций в стандартных модулях я также не увидел, только index() и validate(). Может, я действительно пошел не по тому пути? 

Изменено пользователем UnclePasha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ArtemPitov    386

А вы можете привести такой пример? Насколько я смотрел, функционал модулей в админпанели однообразен, там лишь форма с изменением положения модуля, кнопкой сохранения и удаления. А по ТЗ надо сделать функционал, который я описал выше, именно в админке. Это разве невозможно? Не сарказм, просто вопрос к профессионалу :)

Custom функций в стандартных модулях я также не увидел, только index() и validate(). Может, я действительно пошел не по тому пути? 

Пишите в ЛС подробный функционал, я не совсем "вехал" что там должно быть  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От Mixa0389
      Всем привет, в opencart пока новичок, делаю на 2.3.0.2, как собственно добавить еще одну кнопку "Купить" в карточку товара? Просто взять весь кусок кода id="product" в product.tpl и продублировать в нужном месте не работает, где то там еще есть проверки которые я не учел, или нужно лезть в контроллер и что то дописывать туда?
    • От Mixa0389
      Всем привет, в opencart пока новичок, делаю на 2.3.0.2, как собственно добавить еще одну кнопку "Купить" в карточку товара? Просто взять весь кусок кода id="product" в product.tpl и продублировать в нужном месте не работает, где то там еще есть проверки которые я не учел, или нужно лезть в контроллер и что то дописывать туда?
    • От q3dm0

      400.00 руб
      Скачать/Купить дополнение


      Imagemanager+галерея ScangalleryPack
      Я начал разработку данного пакета из-за того что многие обладатели магазинов мучаются с добавлением изображений для товара, а также в данном случае для opencart  магазинов, как правило все галереи имеют весьма ограниченный потенциал, поэтому обычный модуль понемногу превращается в целый пакет, для работы с изображениями!
      Полноценная адаптивная галерея для организации своего блога, страницы новостей или фотогалереи с описанием товара или целой группы товаров с возможностью объединения галереи и товаров по тегам на сайте для более результативного поиска последних. Полноценный модуль imagemanager с возможностью заливать на лету тысячи фотографий  для своих товаров, баннеров, обрабатывать их, перетягивать в нужном порядке методом drugNdrop и не только, теперь Вы сможете это, с новым пакетом ScangalleryPack.
      Полный комплект:
      - модуль Imagemanager на базе jquery файл-менеджера elFinder для версий opencart 1.5.X  -2.X – 3.X;
      - галерея на базе jquery галереи blueimp-gallery конечно же с  мультизагрузкой изображений, а также с более простой поисковой оптимизацией Вашего сайта, теперь для каждой картинки можно присвоить свой alt и title прям из под админ панели, ну и само собой, в данный пакет интегрирован модуль сортировки изображений методом перетягивания (Sortable module), который Вы можете скачать абсолютно бесплатно по данной ссылке для Вашего магазина.
      Теперь ужасная и нудная работа по добавлению изображений к товарам и баннерам на сайте сводиться к минимуму, в данной версии Вы можете:
      пакетная загрузка картинок на сервер; удаление файлов в корзину; drugNDrop пакетная загрузка изображение на сервер; обработка изображений (обрезка, поворот и другие приятности прям в окне Вашего броузера); создание, переименование, удаление, перемещение, копирование (вставка), архивирование, как изображений, так и папок, в том числе пакетная; различные варианты просмотра изображений и папок и т.д. многоязычность для любого пользователя из 35 языков (определяется локализацией Вашего броузера); легкость обновления версий (для опытных пользователей!); автоматическая нумерация изображений; отсутствие перезаписи системных файлов opencart; объектный метод определения загрузки файлов, теперь Вы избавитесь от лишних надоедливых кнопок внизу; изменять любое изображение в админ панели обычным выбором, есть как встроенный менеджер, так и Imagemanager на выбор.  
      Посмотреть работу модуля можно на следующем видео: ссылка
       
       
      Установка на сервер
      Imagemanager
      opencart 1.5.X:
      Если пакет imagemanager был установлен:
      Удалить
      - admin/controller/module/imagemanager.php
      - admin/language/russian/module/imagemanager.php
      - admin/language/english/module/imagemanager.php
      - admin/view/javascript/полностью папку imagemanager
      - admin/view/template/module/imagemanager.tpl
      - system/library/полностью папку imagemanager
      - vqmod/xml/файл.xml
      На Вашем сайте должен быть заранее установлен Vqmod!!
      Установка на сервер
      1.    В папке vqmod/xml/ лежат версии xml для конкретной версии opencart выбираем необходимый все остальные удаляем, необходимо сделать перед копированием файлов на сервер!
      2.    Скопировать файлы из папки upload на сервер;
      3.    Перейти в пункт “Редактирования группы пользователя”, дать все необходимые права на файлы;
      opencart 2.X
      Если пакет imagemanager был установлен:
      Удалить
      1.    Удалить модификатор в  разделе установка дополнений OCMOD
      2.    Удалить
      Файлы для opencart 2.1.X
      - admin/controller/common/imagemanager.php
      - admin/controller/module/imagemanager.php
      - admin/language/english/common/imagemanager.php
      - admin/language/english/module/imagemanager.php
      - admin/language/russian/common/imagemanager.php
      - admin/language/russian/module/imagemanager.php
      - admin/view/javascript/полностью папку imagemanager
      - admin/view/template/common/imagemanager.tpl
      - admin/view/template/module/imagemanager.tpl
      - image/полностью папку files
      - полностью папку sounds
      - system/library/полностью папку imagemanager
      Файлы для opencart 2.3.X
      1.    Удалить модификатор в  разделе установка дополнений OCMOD
      2.    Удалить
      - admin/controller/common/imagemanager.php
      - admin/controller/extension/module/imagemanager.php
      - admin/language/ru-ru/common/imagemanager.php
      - admin/language/ru-ru/extension/module/imagemanager.php
      - admin/language/en-gb/common/imagemanager.php
      - admin/language/en-gb/extension/module/imagemanager.php
      - admin/view/javascript/полностью папку imagemanager
      - admin/view/template/common/imagemanager.php
      - admin/view/template/extension/module/imagemanager.php
      - image/полностью папку files
      - полностью папку sounds
      - system/library/полностью папку imagemanager
      Установка на сервер
      1.    Скопировать файлы из папки upload на сервер;
      2.    Перейти в пункт “Редактирования группы пользователя”, дать все необходимые права на файлы;
      3.    Перейти в раздел установка дополнений OCMOD и установить install.ocmod.xml;
      4.    Перейти в раздел "Менеджер дополнений" и нажать кнопку "Обновить".

      ScangalleryPack
      В галерею уже импортирован imagemanager поэтому если до этого он был установлен, выполняем все пункты по его удалению.
      1.    Скопировать файлы из папки upload на сервер;
      2.    Перейти в пункт “Редактирования группы пользователя”, дать все необходимые права на файлы;
      3.    Перейти в раздел установка дополнений OCMOD и установить install.ocmod.xml;
      4.    Перейти в раздел "Менеджер дополнений" и нажать кнопку "Обновить";
      5.    Установить модуль - Сканирующая галерея (Модуль), настроить и включить (По умолчанию уже стоят необходимые параметры);
      6.    Перейти в “Дизайн->схемы или макеты” и добавить новые, назвать Галерея, далее скопировать следующие пути:
      - product/gallery
      - product/gallery/gallery
      7. Далее настроить по вкусу, где будет располагаться у Вас модуль с альбомами.
      8. Новые альбомы располагаются под товарами в админ панели.
      9. И при удалении ScangalleryPack или модуля из под админ панели, советуется сделать дамп базы данных

      Траблы на хостинге!
      Если Вы установили, но все равно, что то не работает, не отчаивайтесь, все решаемо!
       
      Вопросы:
      1.    Если я установил imagemanager для версии opencart 1.5.X, и у меня расползлась верстка в табе изображения карточки товара, при этом сами изображения располагаются как то не так.
      2.    При установке scangallery Dcя захожу в альбомы и вижу такое “Fatal error: Uncaught exception 'Exception' with message 'Error: Table 'gallery.oc_gallery' doesn't exist<br />Error No: 1146<br />SELECT COUNT(DISTINCT p.album_id) AS total FROM oc_gallery p LEFT JOIN oc_gallery_description pd ON (p.album_id = pd.album_id) WHERE pd.language_id = '1'' in D:\OpenServer\domains\gallery.loc\system\library\db\mysqli.php:40 Stack trace: #0 D:\OpenServer\domains\gallery.loc\system\library\db.php(16): DB\MySQLi->query('SELECT COUNT(DI...', Array) #1 D:\OpenServer\domains\gallery.loc\admin\model\catalog\gallery.php(220): DB->query('SELECT COUNT(DI...') #2 [internal function]: ModelCatalogGallery->getTotalAlbums(Array) #3 D:\OpenServer\domains\gallery.loc\system\storage\modification\system\engine\loader.php(178): call_user_func_array(Array, Array) #4 [internal function]: Loader->{closure}(Array, Array) #5 D:\OpenServer\domains\gallery.loc\system\engine\proxy.php(25): call_user_func_array(Object(Closure), Array) #6 D:\OpenServer\domains\gallery.loc\admin\controller\catalog\gallery.php(215): Proxy-> in D:\OpenServer\domains\gallery.loc\system\library\db\mysqli.php on line 40”.
      3.    Установил imagemanager для версии opencart 1.5.X и при его запуске вижу внизу модуля какой то не понятный код.
       
      Ответы:
      1.    Для этого необходимо подобрать соответствующий xml файл “В папке vqmod/xml/ лежат версии xml для конкретной версии opencart выбираем необходимый все остальные удаляем, необходимо сделать копию сайта перед копированием файлов на сервер!”, если же и это не помогло, оставляем любой из них открываем на сервере любым текстовым редактором и находим строку - <search index="55" limit="1"><![CDATA[<tr>]]></search> она может отличаться от представленной цифрами, но она располагается под <td class="left"><?php echo $entry_image; ?></td> спутать ее будет сложно, и играемся с цифрами по очереди от 55 до 63, обычно этого достаточно, чтобы настроить правильно.
      2.    ScangalleryPack написан полностью согласно документации opencart и в нем используются функции install и uninstall для создания таблиц в бд, для того чтобы проблема исчезла необходимо установить модуль (Пункт 5 установки).
      3.    Как показала практика у многих магазинов на версиях ocstore 1.5.X стоит imagemanager plus в качестве стандартного загрузчика, для того чтобы не было конфликтов! При первой установке imagemanager from scangallery pack убедитесь что из папки xml сделана копия и удален imagemanager plus, далее необходимо перейти в папку admin/view/template/common/filemanager.tpl и сделать копию данного файла, после этого открыть его любым текстовым редактором и удалить все содержимое, кроме первой строки, где находиться следующий текст - <!DOCTYPE html>. После данных манипуляций все должно работать.
       
       
       
      Добавил q3dm0 Добавлено 08.03.2017 Категория Обмен данными Системные требования Сайт разработчика www.opencart.com Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.4.1
      1.5.3.1 ocStore 2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1  
    • От q3dm0
      Я начал разработку данного пакета из-за того что многие обладатели магазинов мучаются с добавлением изображений для товара, а также в данном случае для opencart  магазинов, как правило все галереи имеют весьма ограниченный потенциал, поэтому обычный модуль понемногу превращается в целый пакет, для работы с изображениями!
      Полноценная адаптивная галерея для организации своего блога, страницы новостей или фотогалереи с описанием товара или целой группы товаров с возможностью объединения галереи и товаров по тегам на сайте для более результативного поиска последних. Полноценный модуль imagemanager с возможностью заливать на лету тысячи фотографий  для своих товаров, баннеров, обрабатывать их, перетягивать в нужном порядке методом drugNdrop и не только, теперь Вы сможете это, с новым пакетом ScangalleryPack.
      Полный комплект:
      - модуль Imagemanager на базе jquery файл-менеджера elFinder для версий opencart 1.5.X  -2.X – 3.X;
      - галерея на базе jquery галереи blueimp-gallery конечно же с  мультизагрузкой изображений, а также с более простой поисковой оптимизацией Вашего сайта, теперь для каждой картинки можно присвоить свой alt и title прям из под админ панели, ну и само собой, в данный пакет интегрирован модуль сортировки изображений методом перетягивания (Sortable module), который Вы можете скачать абсолютно бесплатно по данной ссылке для Вашего магазина.
      Теперь ужасная и нудная работа по добавлению изображений к товарам и баннерам на сайте сводиться к минимуму, в данной версии Вы можете:
      пакетная загрузка картинок на сервер; удаление файлов в корзину; drugNDrop пакетная загрузка изображение на сервер; обработка изображений (обрезка, поворот и другие приятности прям в окне Вашего броузера); создание, переименование, удаление, перемещение, копирование (вставка), архивирование, как изображений, так и папок, в том числе пакетная; различные варианты просмотра изображений и папок и т.д. многоязычность для любого пользователя из 35 языков (определяется локализацией Вашего броузера); легкость обновления версий (для опытных пользователей!); автоматическая нумерация изображений; отсутствие перезаписи системных файлов opencart; объектный метод определения загрузки файлов, теперь Вы избавитесь от лишних надоедливых кнопок внизу; изменять любое изображение в админ панели обычным выбором, есть как встроенный менеджер, так и Imagemanager на выбор.  
      Посмотреть работу модуля можно на следующем видео: ссылка
       
       
      Установка на сервер
      Imagemanager
      opencart 1.5.X:
      Если пакет imagemanager был установлен:
      Удалить
      - admin/controller/module/imagemanager.php
      - admin/language/russian/module/imagemanager.php
      - admin/language/english/module/imagemanager.php
      - admin/view/javascript/полностью папку imagemanager
      - admin/view/template/module/imagemanager.tpl
      - system/library/полностью папку imagemanager
      - vqmod/xml/файл.xml
      На Вашем сайте должен быть заранее установлен Vqmod!!
      Установка на сервер
      1.    В папке vqmod/xml/ лежат версии xml для конкретной версии opencart выбираем необходимый все остальные удаляем, необходимо сделать перед копированием файлов на сервер!
      2.    Скопировать файлы из папки upload на сервер;
      3.    Перейти в пункт “Редактирования группы пользователя”, дать все необходимые права на файлы;
      opencart 2.X
      Если пакет imagemanager был установлен:
      Удалить
      1.    Удалить модификатор в  разделе установка дополнений OCMOD
      2.    Удалить
      Файлы для opencart 2.1.X
      - admin/controller/common/imagemanager.php
      - admin/controller/module/imagemanager.php
      - admin/language/english/common/imagemanager.php
      - admin/language/english/module/imagemanager.php
      - admin/language/russian/common/imagemanager.php
      - admin/language/russian/module/imagemanager.php
      - admin/view/javascript/полностью папку imagemanager
      - admin/view/template/common/imagemanager.tpl
      - admin/view/template/module/imagemanager.tpl
      - image/полностью папку files
      - полностью папку sounds
      - system/library/полностью папку imagemanager
      Файлы для opencart 2.3.X
      1.    Удалить модификатор в  разделе установка дополнений OCMOD
      2.    Удалить
      - admin/controller/common/imagemanager.php
      - admin/controller/extension/module/imagemanager.php
      - admin/language/ru-ru/common/imagemanager.php
      - admin/language/ru-ru/extension/module/imagemanager.php
      - admin/language/en-gb/common/imagemanager.php
      - admin/language/en-gb/extension/module/imagemanager.php
      - admin/view/javascript/полностью папку imagemanager
      - admin/view/template/common/imagemanager.php
      - admin/view/template/extension/module/imagemanager.php
      - image/полностью папку files
      - полностью папку sounds
      - system/library/полностью папку imagemanager
      Установка на сервер
      1.    Скопировать файлы из папки upload на сервер;
      2.    Перейти в пункт “Редактирования группы пользователя”, дать все необходимые права на файлы;
      3.    Перейти в раздел установка дополнений OCMOD и установить install.ocmod.xml;
      4.    Перейти в раздел "Менеджер дополнений" и нажать кнопку "Обновить".

      ScangalleryPack
      В галерею уже импортирован imagemanager поэтому если до этого он был установлен, выполняем все пункты по его удалению.
      1.    Скопировать файлы из папки upload на сервер;
      2.    Перейти в пункт “Редактирования группы пользователя”, дать все необходимые права на файлы;
      3.    Перейти в раздел установка дополнений OCMOD и установить install.ocmod.xml;
      4.    Перейти в раздел "Менеджер дополнений" и нажать кнопку "Обновить";
      5.    Установить модуль - Сканирующая галерея (Модуль), настроить и включить (По умолчанию уже стоят необходимые параметры);
      6.    Перейти в “Дизайн->схемы или макеты” и добавить новые, назвать Галерея, далее скопировать следующие пути:
      - product/gallery
      - product/gallery/gallery
      7. Далее настроить по вкусу, где будет располагаться у Вас модуль с альбомами.
      8. Новые альбомы располагаются под товарами в админ панели.
      9. И при удалении ScangalleryPack или модуля из под админ панели, советуется сделать дамп базы данных

      Траблы на хостинге!
      Если Вы установили, но все равно, что то не работает, не отчаивайтесь, все решаемо!
       
      Вопросы:
      1.    Если я установил imagemanager для версии opencart 1.5.X, и у меня расползлась верстка в табе изображения карточки товара, при этом сами изображения располагаются как то не так.
      2.    При установке scangallery Dcя захожу в альбомы и вижу такое “Fatal error: Uncaught exception 'Exception' with message 'Error: Table 'gallery.oc_gallery' doesn't exist<br />Error No: 1146<br />SELECT COUNT(DISTINCT p.album_id) AS total FROM oc_gallery p LEFT JOIN oc_gallery_description pd ON (p.album_id = pd.album_id) WHERE pd.language_id = '1'' in D:\OpenServer\domains\gallery.loc\system\library\db\mysqli.php:40 Stack trace: #0 D:\OpenServer\domains\gallery.loc\system\library\db.php(16): DB\MySQLi->query('SELECT COUNT(DI...', Array) #1 D:\OpenServer\domains\gallery.loc\admin\model\catalog\gallery.php(220): DB->query('SELECT COUNT(DI...') #2 [internal function]: ModelCatalogGallery->getTotalAlbums(Array) #3 D:\OpenServer\domains\gallery.loc\system\storage\modification\system\engine\loader.php(178): call_user_func_array(Array, Array) #4 [internal function]: Loader->{closure}(Array, Array) #5 D:\OpenServer\domains\gallery.loc\system\engine\proxy.php(25): call_user_func_array(Object(Closure), Array) #6 D:\OpenServer\domains\gallery.loc\admin\controller\catalog\gallery.php(215): Proxy-> in D:\OpenServer\domains\gallery.loc\system\library\db\mysqli.php on line 40”.
      3.    Установил imagemanager для версии opencart 1.5.X и при его запуске вижу внизу модуля какой то не понятный код.
       
      Ответы:
      1.    Для этого необходимо подобрать соответствующий xml файл “В папке vqmod/xml/ лежат версии xml для конкретной версии opencart выбираем необходимый все остальные удаляем, необходимо сделать копию сайта перед копированием файлов на сервер!”, если же и это не помогло, оставляем любой из них открываем на сервере любым текстовым редактором и находим строку - <search index="55" limit="1"><![CDATA[<tr>]]></search> она может отличаться от представленной цифрами, но она располагается под <td class="left"><?php echo $entry_image; ?></td> спутать ее будет сложно, и играемся с цифрами по очереди от 55 до 63, обычно этого достаточно, чтобы настроить правильно.
      2.    ScangalleryPack написан полностью согласно документации opencart и в нем используются функции install и uninstall для создания таблиц в бд, для того чтобы проблема исчезла необходимо установить модуль (Пункт 5 установки).
      3.    Как показала практика у многих магазинов на версиях ocstore 1.5.X стоит imagemanager plus в качестве стандартного загрузчика, для того чтобы не было конфликтов! При первой установке imagemanager from scangallery pack убедитесь что из папки xml сделана копия и удален imagemanager plus, далее необходимо перейти в папку admin/view/template/common/filemanager.tpl и сделать копию данного файла, после этого открыть его любым текстовым редактором и удалить все содержимое, кроме первой строки, где находиться следующий текст - <!DOCTYPE html>. После данных манипуляций все должно работать.
       
       
       
    • От mToni

      300.00 руб
      Скачать/Купить дополнение


      Little Banner (RUS / ENG / OpenCart 3.0.2)
      Модуль Little Banner v1.1 дает возможность добавить 4 баннера.
      Адаптивная сетка, с приятным расположением баннеров. Позволяет акцентировать внимание покупателей.
       
      Основные настройки для баннеров:
      1) Вывод заголовка
      2) Вывод текста и ссылки кнопки
      3) Вывод изображений
       
      Не перезаписывает системных файлов движка
      Не использует VQmod
      Не использует OCMOD
      Не использует ioncube
       
      Демо модуля: http://oc.daranid.tk/
      Административная часть: http://oc.daranid.tk/admin/index.php?route=extension/module/lbanner
      Логин: demo
      Пароль: demo
       
      Установка
      1) Загрузить папку upload в корень сайта.
      2) Перейти в Система/Группы пользователей и для администратора установить права доступа (в блоках "Разрешить просмотр" и "Разрешить редактировать" отметить галочкой extension/module/lbanner)
      3) Вывести созданный модуль на необходимой странице.
       
      Протестировано
       - OpenCart V 3.0.2
       
      На данный момент Little Banner v1.1. Модуль будет развиваться дальше. Все пожелания приветствуются.
      Добавил mToni Добавлено 19.10.2017 Категория Слайдшоу, баннеры, галереи Системные требования Сайт разработчика http://oc.daranid.tk/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore Несовместим OpenCart.Pro, ocShop Не проверялось  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу