Добавление в корзину из скрипта

  • 20 Ответов
  • 208 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

Здравствуйте!

В интернет-магазине есть конструктор на отдельной странице.
После заполнения всех необходимых полей и обработки формы скрипт отправляет письмо о заказе администратору.
Что нужно добавить в скрипте, чтобы заказ еще добавлялся и в корзину JoomShopping?

Спасибо.
« Последнее редактирование: 08.02.2017, 00:19:16 от Turgenoid »

*

nevigen

  • *****
  • 8831
  • 754
  • http://n*****n.com
Re: Добавление в корзину из скрипта
« Ответ #1 : 08.02.2017, 00:18:47 »
добавить нужно все что нужно для заказа.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !

Re: Добавление в корзину из скрипта
« Ответ #2 : 08.02.2017, 00:22:46 »
добавить нужно все что нужно для заказа.
Не могли бы вы подробнее рассказать об этом или дать нужные ссылки? В поиске необходимой информации найти не получилось, поэтому и обратился на форум.

*

nevigen

  • *****
  • 8831
  • 754
  • http://n*****n.com
Re: Добавление в корзину из скрипта
« Ответ #3 : 08.02.2017, 00:27:06 »
ну как подробнее ? :)
такой информации нет.
смотреть надо по коду.
как добавляет ЖШ и делать тоже самое или вызывать необходимые функции ЖШ передавая свою информацию.
если конечно вам это удастся.

ваш вопрос останется без ответа в такой формулировке.
обычно отвечают на какие то конкретные проблемы, а не обобщенные.
если начнете делать и упретесь во что-то тогда смогут помочь наверное. если это возможно.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !

Re: Добавление в корзину из скрипта
« Ответ #4 : 08.02.2017, 17:31:38 »
Хорошо, постараюсь сформулировать конкретнее.

Спойлер
[свернуть]
Допустим, что скрипт обработал форму и узнал значение размера. Получается, что нужно добавить в корзину товар (ID 598) и для атрибута (ID 1) указать значение (ID 36). Как это можно реализовать? Куда и в каком виде нужно передавать информацию о заказе?
Кроме того, к заказу пользователь загружает файл с изображением. Ну это, я думаю, можно сделать как советовал участник этого форума долгих 6 лет назад в этой теме.
« Последнее редактирование: 08.02.2017, 17:40:40 от Turgenoid »

*

dmitry_stas

  • ********
  • 9615
  • 929
Re: Добавление в корзину из скрипта
« Ответ #5 : 08.02.2017, 17:42:29 »
Хорошо, постараюсь сформулировать конкретнее.
конкретнее - это в файл А вставил Б, но почему то вместо В выходит Г :) и то можно поспорить о конкретности :) а у вас по прежнему никакой конкретики. то, что вы хотите добиться, это и так все поняли. вы начинайте делать, на кокнретных моментах задавайте вопросы. а то вопрос "хочу все и сразу" - это в коммерческий раздел как правило :)

Как это можно реализовать? Куда и в каком виде нужно передавать информацию о заказе?
для начала посмотрите какие итого значения есть в таблице заказов. посмотрите, что туда попадает и в каком виде. дальше проще всего будет написать плагин, который перехватит успешное добавление в корзину (чтобы не писать свои проверки на количество и так далее), и затем сразу сформирует из корзины заказ. ну и дальше отправит заказ, и так далее что там при стандартном оформлении происходит.

нужно добавить в корзину товар (ID 598) и для атрибута (ID 1) указать значение (ID 36).
выведите это товар стандартно, как товар, и посмотрите форму добавления товара в корзину, что она содержит, какие инпуты и ее action. и сделайте у сеяб точно также, но вручную просто пропишите эти же значения.
« Последнее редактирование: 08.02.2017, 17:48:30 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

*

nevigen

  • *****
  • 8831
  • 754
  • http://n*****n.com
Re: Добавление в корзину из скрипта
« Ответ #6 : 08.02.2017, 17:48:22 »
1. как жить хорошо
2. где взять 14к баксов.
3. как вернуть подоходный налог, если я на платном обучении

риторическую разницу в вопросах понимаете ? :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !

Re: Добавление в корзину из скрипта
« Ответ #7 : 08.02.2017, 18:49:43 »
Код
<form name="product" method="post" action="/cart/add" enctype="multipart/form-data" autocomplete="off">
        <input type="hidden" name="quantity" id="quantity" class="inputbox" value="<?php print $count?>" />
        <input type="submit" class="btn btn-primary button" value="Добавить в корзину" onclick="jQuery('#to').val('cart');" />
        <input type="hidden" name="to" id='to' value="cart" />
        <input type="hidden" name="product_id" id="product_id" value="598" />
        <input type="hidden" name="category_id" id="category_id" value="7" />
        <input type="hidden" class="inputbox" size="40" name="freeattribut[1]" value="<?php print $picture?>" />
        <input type="hidden" name="jshop_attr_id[1]" class="inputbox" value="1" id="jshop_attr_id1" />
</form>

Всем спасибо за помощь, особенно dmitry_stas, получилось сделать, добавив в скрипт такую форму.

Re: Добавление в корзину из скрипта
« Ответ #8 : 09.02.2017, 14:02:54 »
Появилась новая задача - нужно, чтобы на странице скрипт выводил размеры для товара из админки JoomShopping.
Решил посмотреть, где хранится вся информация о товаре. Открыл products_default.php, там сразу же:
Код
$product = $this->product;
Что не очень-то помогло, т.к. не понятно, куда подключается сам products_default.php и как товар присваивается полю product.
Есть ли какая-то функция или решение для получения объекта товара по его ID? Или может кто подскажет, в каком файле определяется $this->product?

Или опять задаю риторические вопросы?
« Последнее редактирование: 09.02.2017, 14:48:19 от Turgenoid »

*

dmitry_stas

  • ********
  • 9615
  • 929
Re: Добавление в корзину из скрипта
« Ответ #9 : 09.02.2017, 17:01:05 »
$this->product - это таблица товара. определяется в контроллере product.php
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

Re: Добавление в корзину из скрипта
« Ответ #10 : 09.02.2017, 17:36:54 »
$this->product - это таблица товара. определяется в контроллере product.php
Нашел в product.php такие строчки:
Код
$product = JSFactory::getTable('product', 'jshop');
$product->load($product_id);
Решил сделать по аналогии, воспользоваться методом фабрики. Вставил в начале скрипта следующий код:
Код
require_once "/components/com_jshopping/lib/factory.php";
$product = JSFactory::getTable('product', 'jshop');
$product->load(598);
echo $product->name;
В итоге страница не открывается, HTTP ERROR 500. Что я делаю не так?

*

dmitry_stas

  • ********
  • 9615
  • 929
Re: Добавление в корзину из скрипта
« Ответ #11 : 09.02.2017, 17:45:55 »
require_once требует абсолютный путь от корня сервера, а не от корня сайта
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

Re: Добавление в корзину из скрипта
« Ответ #12 : 09.02.2017, 17:51:20 »
require_once требует абсолютный путь от корня сервера, а не от корня сайта
Изменение на
Код
require_once "/www/blackarts.ru/components/com_jshopping/lib/factory.php";
не помогло, та же ошибка. Может нужно как-то сконфигурировать фабрику перед использованием ее методов?
« Последнее редактирование: 09.02.2017, 17:58:17 от Turgenoid »

*

dmitry_stas

  • ********
  • 9615
  • 929
Re: Добавление в корзину из скрипта
« Ответ #13 : 09.02.2017, 18:01:29 »
а вы уверены что у вас старт начинается от /www/blackarts.ru/ ? как то сомнительно. посмотрите в конфигурации Joomla пути к логам или temp
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

Re: Добавление в корзину из скрипта
« Ответ #14 : 09.02.2017, 18:18:14 »
а вы уверены что у вас старт начинается от /www/blackarts.ru/ ? как то сомнительно. посмотрите в конфигурации Joomla пути к логам или temp
Да, действительно. Ошибки больше нет. Спасибо.
Код
require_once "/var/www/u0155619/data/www/blackarts.ru/components/com_jshopping/lib/factory.php";
$product = JSFactory::getTable('product', 'jshop');
$product->load(598);
echo $product->product_id;
Но кроме ID ничего получить не удается, остальные поля пустые, а мне нужно получить список возможных опций атрибута для создания выпадающего списка с выбором размеров.
Как я понимаю, мне подойдет этот участок кода из product_default.php с некоторыми изменениями:
Код
        <?php if (count($this->attributes)) : ?>
            <div class="jshop_prod_attributes jshop">
                <?php foreach($this->attributes as $attribut) : ?>
                    <?php if ($attribut->grshow){?>
                        <div>
                            <span class="attributgr_name"><?php print $attribut->groupname?></span>
                        </div>
                    <?php }?>               
                    <div class = "row-fluid">
                        <div class="span2 attributes_title">
                            <span class="attributes_name"><?php print $attribut->attr_name?>:</span>
                            <span class="attributes_description"><?php print $attribut->attr_description;?></span>
                        </div>
                        <div class = "span10">
                            <span id='block_attr_sel_<?php print $attribut->attr_id?>'>
                                <?php print $attribut->selects?>
                            </span>
                        </div>
                    </div>
                <?php endforeach; ?>
            </div>
        <?php endif; ?>
Осталось заполнить $this->attributes.
« Последнее редактирование: 09.02.2017, 18:24:19 от Turgenoid »

*

dmitry_stas

  • ********
  • 9615
  • 929
Re: Добавление в корзину из скрипта
« Ответ #15 : 09.02.2017, 18:22:35 »
ну логично предположить, что раз их нет, то эти поля заполняются позже? :) а как именно заполняются - смотрим все там же, в контроллере.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

Re: Добавление в корзину из скрипта
« Ответ #16 : 09.02.2017, 19:37:19 »
Так просто выдернуть не получилось, напишу запрос к БД. Подскажите, как называется таблица в базе с опциями атрибутов?

*

dmitry_stas

  • ********
  • 9615
  • 929
Re: Добавление в корзину из скрипта
« Ответ #17 : 09.02.2017, 19:40:27 »
вероятно вам нужна #__jshopping_products_attr
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

Re: Добавление в корзину из скрипта
« Ответ #18 : 14.02.2017, 15:55:39 »
Задачу выполнил, всем спасибо еще раз!
Если кому-то интересно решение, то найти его вы сможете здесь.

*

dmitry_stas

  • ********
  • 9615
  • 929
Re: Добавление в корзину из скрипта
« Ответ #19 : 14.02.2017, 15:58:41 »
вы бы email-ы не светили, а то спам боты они знаете ли такие... :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций

Re: Добавление в корзину из скрипта
« Ответ #20 : 14.02.2017, 16:10:53 »
Да, точно, забыл убрать из последней ревизии.  ;D