Jump to content
Sign in to follow this  
Aky

Отправка Ajax запроса в модуль OpenCart

Recommended Posts

Как передать POST параметр через ajax в файл controller модуля OpenCart ?

 

Есть модуль "latest"  Файл контроллера latest.php, нужно передать туда параметр width через Ajax/Jquery  

 

Как обратится к этому файлу? 

 

Как работать с Ajax знаю, как параметры передать знаю, как принять знаю, но как обратится к нужному файлу в OpenCart?

 

При попытках обращения по "url:' скрипт выдает ошибку  "404 (not found)"

 

Пробовал вот так:

url: 'index.php?route=extension/module/latest', 
url: 'index.php?route=module/latest', 
url: '/catalog/controller/extension/module/latest', 

 

Если перейти на прямую по ссылки: "/catalog/controller/extension/module/latest.php"  выдает ошибку HTTP ERROR 500

Edited by Aky

Share this post


Link to post
Share on other sites

А что вы хотите потом делать с этим параметром width? 

и какой ответ после запроса хотите получать - json или data?

Share this post


Link to post
Share on other sites
17 минут назад, Aky сказал:

Как обратится к этому файлу? 

 

к файлу никак. вам следует вызвать public метод, по умолчанию вызывается index()

Share this post


Link to post
Share on other sites

Мне нужно потом в .tpl вытащить эту ширину и проверить ее значение. 

 

Наверное в "data

 

Сейчас в controller это выглядит вот так:

if (isset($this->request->post['weight'])) {
   $weight = $this->request->post['weight'];
} else {
   $weight = 'TEST';
}

В .tpl сейчас передается "TEST"   Вывожу вот так: 

<?php echo $weight; ?>

 

Share this post


Link to post
Share on other sites

на 2.3 - index.php?route=extension/module/модуль/метод

 

Share this post


Link to post
Share on other sites
1 минуту назад, freelancer сказал:

к файлу никак. вам следует вызвать public метод, по умолчанию вызывается index()

Как это сделать через ajax ? 

 

Смотрел пример работы с ajax в файле common.js Но там ссылки открываются хоть и пустые. 

 

Например есть такая ссылка:

index.php?route=product/compare/add

 

Share this post


Link to post
Share on other sites
3 минуты назад, freelancer сказал:

на 2.3 - index.php?route=extension/module/модуль/метод

 

если просто index.php?route=extension/module/модуль, вызовется index

Share this post


Link to post
Share on other sites
5 минут назад, freelancer сказал:

на 2.3 - index.php?route=extension/module/модуль/метод

 

 

Пробовал так делать, вот что выдает console

 

/index.php?route=extension/module/lates/index 404 (Not Found)

image.png

Edited by Aky

Share this post


Link to post
Share on other sites

не lates а latest

Share this post


Link to post
Share on other sites
11 минут назад, spectre сказал:

не lates а latest

 

Опечатка, latest не работает  :)

Share this post


Link to post
Share on other sites
20 минут назад, freelancer сказал:

значит версия не 2.3

 

Версия ocStore 2.3.0.2.2

Share this post


Link to post
Share on other sites
6 минут назад, Aky сказал:

 

Опечатка, latest не работает  

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

Share this post


Link to post
Share on other sites
3 минуты назад, spectre сказал:

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

 

Модуль работает, все выводится как надо. Но нужно отправить параметр width в контроллер. Но ссылка не работает.  А если открыть путь до файла выводится ошибка 500

Share this post


Link to post
Share on other sites

Надо открывать не catalog controller а через index php route и тп

Share this post


Link to post
Share on other sites
Только что, spectre сказал:

Надо открывать не catalog controller а через index php route и тп

 

Выводит ошибку 404

Share this post


Link to post
Share on other sites

окей,

index.php?route=extension/module/latest

нельзя вызвать по http, потому как там в методе index есть Required Parameters

в ранних версиях можно было

Share this post


Link to post
Share on other sites
4 минуты назад, freelancer сказал:

окей,

index.php?route=extension/module/latest

нельзя вызвать по http, потому как там в методе index есть Required Parameters

в ранних версиях можно было

 

И как быть, что делать ? 

 

Если это имеет значения сайт на "https" .

 

Share this post


Link to post
Share on other sites

пишите свой    

public function test() {

}

его и вызывайте

Share this post


Link to post
Share on other sites
48 минут назад, freelancer сказал:

пишите свой    


public function test() {

}

его и вызывайте

 

 

Получилось, спасибо. Есть продвижение.  

 

Подскажите как теперь передать переменную вo view  -> .tpl ?

 

$this->load->view('extension/module/latest', $data);

 

Edited by Aky

Share this post


Link to post
Share on other sites
2 минуты назад, Aky сказал:

как теперь передать переменную вo view  -> .tpl ?

$data['value'] = 'value';

 в шабллоне

<?php echo $value; ?>

 

Share this post


Link to post
Share on other sites
14 минут назад, fanatic сказал:

$data['value'] = 'value';

 в шабллоне


<?php echo $value; ?>

 

 

Так и делаю, но он выдает ошибку.  

 

Undefined variable: width in on line 8  

Notice

      

public function test() {
  $data['width'] = $width;

  return $this->load->view('extension/module/latest', $data);
}

 

 

Edited by Aky

Share this post


Link to post
Share on other sites
9 минут назад, Aky сказал:

$data['width'] = $width;

естественно, $width не определена

$width = 'value';

 

Share this post


Link to post
Share on other sites
6 минут назад, fanatic сказал:

естественно, $width не определена


$width = 'value';

 

 

Код не полный, полный выглядит вот так:

public function test() { 
   if (isset($this->request->post['width'])) {
      $width = $this->request->post['width'];
   } else {
       $width = '0';
   } 
 
    $data['width'] = $width; 
    return $this->load->view('extension/module/latest', $data);
}

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By vitaliik1999
      нужен модуль оплты . будут заказы со всего мира (европа больше). нужно чтобы посоветовали модуль чтобы оформление товара происходило только после оплаты. 
    • By legioner26
      777.00 руб
      Скачать/Купить дополнение


      Модификатор автозаполнения картинок категорий
      Разработан модификатор автозаполнения картинок категорий из первой найденной картинки товара категории, а так же проставляются картинки для главных категорий и под категорий
      версии OpenCart 2.0, 2.1, 2.2, 2.3, 3.x  
      Просто заливаете товары с картинками, а картинки на категории проставятся сами.
      Устанавливаете модификатор как указано на картинке, чистим в модификациях кеш и обновляем. 
       
      Иногда бывает когда некорректно удалены картинки, и они сохранены в базе Для этого надо зайти через phpmyadmin и удалить из полей картинки из таблица oc_category
      UPDATE `oc_category` SET image=''
      http://prntscr.com/rkmuy3
      Введете этот запрос для очистки всех изображений категорий в случае проблем.
       
       
      Добавил legioner26 Добавлено 31.08.2017 Категория Модули Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 3.0
      2.3
      2.2
      2.1 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет Старая цена 1200  
    • By legioner26
      Разработан модификатор автозаполнения картинок категорий из первой найденной картинки товара категории, а так же проставляются картинки для главных категорий и под категорий
      версии OpenCart 2.0, 2.1, 2.2, 2.3, 3.x  
      Просто заливаете товары с картинками, а картинки на категории проставятся сами.
      Устанавливаете модификатор как указано на картинке, чистим в модификациях кеш и обновляем. 
       
      Иногда бывает когда некорректно удалены картинки, и они сохранены в базе Для этого надо зайти через phpmyadmin и удалить из полей картинки из таблица oc_category
      UPDATE `oc_category` SET image=''
      http://prntscr.com/rkmuy3
      Введете этот запрос для очистки всех изображений категорий в случае проблем.
       
       
    • By Malhaz
      Здравствуйте. В поисках модуля с таким функционалом. Не уверен что существует )
      - Промокоды (действует на любую сумму покупки, но при этом другие скидки не действуют на неё) - не знаю если купоны опенкарта на это способны
      - Скидка 200 рублей на любой "матрас" при покупки "кровати"
      - Скидка 200 рублей на "стул" при покупке "кровати" и "матраса"
      Может кто встречал такой модуль. Буду весьма благодарен

       
    • By louise170
      1 200.00 руб
      Скачать/Купить дополнение


      Модуль доставки Почта России
      Модуль предназначен для расчета стоимости доставки Почтой России.
      Цены автоматически берутся через API с сайта http://postcalc.ru
      Обратите внимание на правила использования данного API, в частности на пункты 1, 5 и 6.
       
      Внимание, поменялись условия использования API на Посткальке!
      Если вы покупали модуль, но еще не получали ключ в личном кабинете Посткалька, Вам нужно это сделать до 25 декабря.
      Все что нужно сделать подробно описано в readme.txt в актуальном архиве модуля.
      После 25 декабря модуль не сможет получать данные без ключа.

      Возможности
      Доступны различные виды отправлений для отправки заказов по России и по всему миру. Каждый вид отправления может отображаться в зависимости от суммы и веса заказа, кол-ва товаров в заказе, Гео-зоны, городов, групп покупателей, языка. Каждому виду отправления для коррекции цен можно назначить дополнительно вес упаковки и мин. стоимость доставки данного отправления. Различные виды наценок для каждого из видов отправлений. По-умолчанию можно задать регион получателя и средний вес заказа. Ограничения в зависимости от суммы и веса заказа есть не только для каждого вида отправления, но и общие для всего модуля. Есть возможность брать доп. плату за отправку заказа в виде конкретной суммы, либо в виде процента от стоимости заказа. Доп. плата также может быть отрицательной. Для всего заказа можно задать доп. вес упаковки, причем не только конкретное значение, но и в виде процента от веса товаров в заказе. Можно отображать или нет сроки доставки. Можно включить разбиение заказов на несколько отправлений (актуально для больших заказов, в которых несколько товаров и их можно разделить). Гибкая настройка общей заглушки. В качестве суммы заказа можно брать разные суммы, например, только стоимость товаров, или стоимость товаров с учетом скидок. Есть работа с наложенным платежом. Есть разные округления конечной стоимости доставки. Бэкап настроек модуля. При совместной работе с модулем Габариты товаров в каждом отправлении можно учитывать габариты товаров в корзине. При совместной работе с модулем Группы товаров можно учитывать в корзине товары в зависимости от принадлежности к определенной группе. В модуле учитывается вес заказа, то есть для заказов 50 г - будут отображаться письма, для заказов до 2 кг - будут отображаться только способы отправки различного вида бандеролями (те которые отмечены галочками), для заказов более 2 кг и менее 20 кг будут отображаться только способы доставки посылками. Посылки весом больше 20 кг Почта России не отправляет, так что такие заказы нужно разбивать на несколько, если, конечно, это возможно. Для международных отправлений учитывается макс. возможная ценность отправления, и если она превысила 50000 руб. в корзине, то модуль сам выставляет ценность для данного вида отправлений 50000 руб. Для отправлений по России учитывается макс. возможная ценность отправления, и если она превысила 100000 руб. в корзине, то модуль сам выставляет ценность для данного вида отправлений 100000 руб. Можно менять название отправлений. Есть возможность делать разбиение отправлений по максимальному весу указанному в основных настройках модуля, чтобы можно было отправить, например, несколько посылок весом 1 кг - они доходят быстрее. Сроки доставки можно отображать в названии доставки или в описании. Есть возможность заменить индексы, для которых нет инфы по доставке на индексы, для которых инфа есть. К сроку доставки можно добавить любое кол-во дней в настройках модуля. Размер наложенного платежа можно отображать в названии доставки или в описании. Есть поле для ввода множителя для случая наложенного платежа, чтобы можно было брать, например, двойную стоимость за доставку туда-обратно на случай отказа.
        Важная информация для продавцов
      У почты России есть 769 отделений связи (ОПС) сезонной и круглогодичной труднодоступности. Посылки туда в зимнее время не доставляются - только бандероли 1 класс. Модуль автоматически не отображает покупателям из этих регионов другие виды отправлений, кроме 1 класса.
       
      Модуль доставки Почта России совместим с модулями:
      Simple Габариты товаров Группы товаров Автозаполнение адреса, города, индекса, региона по полю адрес - сервис Dadata
        Для второго Опенкарта модуль Почты России совместим с оформлением заказа fastorder, oct_fastorder (шаблоны Shop-store2 и Luxury), с корзинами
      шаблона journal2, Maxystore, Newstorecheckout, Quickcheckout.ocmod, Supercheckout, Unicheckout.
       
      Для Опенкарта 3.x модуль Почты России совместимость с указанными выше корзинами будет делаться по мере необходимости, по запросу людей купивших модуль. Совместная работа с модулями Габариты товаров и Группы товаров появится, когда эти модули будут переведены под Опенкарта 3.x
       
      Никакие системные файлы не затираются, модуль работает на vqmod/ocmod.
       
      Модуль тестировался на OpenCart:
      1.5.4.1 1.5.5.1 1.5.6 1.5.6.4 2.0.0.0 2.0.1.0 2.0.1.1 2.0.2.0 2.0.3.1 2.1.0.1 2.2.0.0 2.3.0.2 3.0.2.0
        Ocstore: 2.3.0.2
       
      Поддерживаемые языки
      русский английский
        Пример работы модуля
      http://ocstore1541.opencartplus.ru/
      http://opencart2.opencartplus.ru/
      http://ocstore2302.opencartplus.ru/
      http://opencart3020.opencartplus.ru/
       
      Демо админки
      http://ocstore1541.opencartplus.ru/admin/
      http://opencart2.opencartplus.ru/admin/
      http://ocstore2302.opencartplus.ru/admin/
      http://opencart3020.opencartplus.ru/admin/
      доступ: demo / demo
       
      Лицензия
      При покупке данного модуля, Вы получаете право установки его на один домен. Лицензионный ключ можно получить по запросу на e-mail, который вы увидите на странице модуля, после его установки.
       
      Установка
      Инструкция по установке находится в файле readme.txt в архиве модуля.
       
      Требования к серверу
      Для работы модуля необходима библиотека curl (на большинстве хостингов она установлена). Проверить это можно с помощью функции phpinfo(); На хостинге должен быть установлен ionCube Loader последней версии (минимум версия 10.0). Чтобы проверить его наличие скачайте этот файл, разархивируйте его содержимое и закачайте в корневую директорию Вашего сайта. После этого откройте в браузере http://ваш_домен/test_ioc_php.php FAQ
      FAQ по модулю Почта России FAQ общие вопросы по Опенкарту  
      Добавил louise170 Добавлено 10.05.2013 Категория Доставки Системные требования наличие curl, PHP 5.6+, ionCube Loader 10+ Метод активации Автоматическая активация 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.5.1
      1.5.5
      1.5.4.1 ocStore 3.0
      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 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
      OcShop 1.5.6.4.х Обращение к серверу разработчика Да Старая цена 0  
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.