Перейти к содержанию
Форум поддержки пользователей VamShop

Список товаров корзины в формате JSON


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

Просьба сделатьчтобы можно было получить список корзины, типо что-то  этого,

var products = [
        {
            id: '122', // ID товара в CMS
            name: 'Some piece of products', // Наименование товаров
            price: 524, // Цена товара
            width: 10, // ширина
            height: 10, высота
            length: 0, // длина
            weight: 1, // вес
            quantity: 2, // количество единиц товара
            sku: 'SKU PRODUCT' // артикул товара
        },
        {
            id: '123',
            name: 'Some piece of products',
            price: 524,
            width: 10,
            height: 10,
            length: 10,
            weight: 1,
            quantity: 2,
            sku: 'SKU PRODUCT'
        }
    ];

 

так как много где используется, к примеру в том же Яндекс. Просто хочу сделать ddelivery.ru (устали от разных модулей - которые то отваливаются, то серверы недоступны, то еще чего-то). Чет надо одно - вот остановились на этом варианте, но там нужен список товаров для передачи (или для расчета)  в сервис) Понятно дело, что вот к примеру есть уже в модуле сдека (насколько я понимаю), но там не посредством JS это)

Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, SHKEd сказал:

Просьба сделатьчтобы можно было получить список корзины, типо что-то  этого,


var products = [
        {
            id: '122', // ID товара в CMS
            name: 'Some piece of products', // Наименование товаров
            price: 524, // Цена товара
            width: 10, // ширина
            height: 10, высота
            length: 0, // длина
            weight: 1, // вес
            quantity: 2, // количество единиц товара
            sku: 'SKU PRODUCT' // артикул товара
        },
        {
            id: '123',
            name: 'Some piece of products',
            price: 524,
            width: 10,
            height: 10,
            length: 10,
            weight: 1,
            quantity: 2,
            sku: 'SKU PRODUCT'
        }
    ];

 

так как много где используется, к примеру в том же Яндекс. Просто хочу сделать ddelivery.ru (устали от разных модулей - которые то отваливаются, то серверы недоступны, то еще чего-то). Чет надо одно - вот остановились на этом варианте, но там нужен список товаров для передачи (или для расчета)  в сервис) Понятно дело, что вот к примеру есть уже в модуле сдека (насколько я понимаю), но там не посредством JS это)

Есть яндекс метрика и google analytics. где похожий код генерируется.

Смотрите как сделано в /app/Catalog/function.yandex_metrika.php , /app/Catalog/function.google_analytics.php

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

Вообще планируется в будущих версиях расчирить Google Analytics, там у них есть как раз просмотр товара, просмотр корзины и примерно такой код и нужен для передачи данных в гугл.

Сейчас в Google Analytics только информация о заказе передаётся, а хотим добавить ещё просмотр товара, добавление в корзину товара и т.д.

В общем то, что у них в документации описано - https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce#ecommerce-data

Ссылка на сообщение
Поделиться на другие сайты
56 минут назад, VaM сказал:

Есть яндекс метрика и google analytics. где похожий код генерируется.

Смотрите как сделано в /app/Catalog/function.yandex_metrika.php , /app/Catalog/function.google_analytics.php

Там на стороне ПШП) мне нужно на стороне пользователя это делать) чтобы не заморачивать движок всякими вычислениями и т.д. Да и потому что эти данные (цена, кол-во, ширина, артикл, и т.д.) идет от клиента к другому REST API, который присылает уже клиенту данные, а клиент уже пересылает ответ нам - какая к примеру будет стоимость доставки) Т.е. задача от движка - просто дать массив, то что у клиента лежит в корзине, и не просто картинка, название товара - но и все свойства этого товара) А дальше уже этот массив можно раздербанивать кому какие нужны данные. Кому то длина, кому то какой-то товар, кому то надо сделать модуль доставки. Кто-то эти данные пушит в яндекс, или гугл.  А кто-то вообще захочет сделать функцию сохранения корзины в файл и восстановления данных из этого файла. Вообщем как-то так) JSON идеально подойдет для этих данных, да и метки станут меньше (ну через точку =)

Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, SHKEd сказал:

Там на стороне ПШП) мне нужно на стороне пользователя это делать) чтобы не заморачивать движок всякими вычислениями и т.д. Да и потому что эти данные (цена, кол-во, ширина, артикл, и т.д.) идет от клиента к другому REST API, который присылает уже клиенту данные, а клиент уже пересылает ответ нам - какая к примеру будет стоимость доставки) Т.е. задача от движка - просто дать массив, то что у клиента лежит в корзине, и не просто картинка, название товара - но и все свойства этого товара) А дальше уже этот массив можно раздербанивать кому какие нужны данные. Кому то длина, кому то какой-то товар, кому то надо сделать модуль доставки. Кто-то эти данные пушит в яндекс, или гугл.  А кто-то вообще захочет сделать функцию сохранения корзины в файл и восстановления данных из этого файла. Вообщем как-то так)

Так а какая разница.

Это ж обычный массив, просто обернуть этот массив в функции jscon_encode и будет у Вас на выходе json.

А выводить этот json может по какому-то определённому адресу или ещё как.

 

Но вообще это конечно рассуждения на тему, я ж не знаю ситуации.

В любом случае, в CakePHP легко всё это делается.

https://book.cakephp.org/2.0/en/views/json-and-xml-views.html

т.е. просто можно делать свои шаблоны на xml, для json

Если обычный шаблон в /app/View/Контроллер

То что б это было json, то просто папку /app/View/Контроллер/json

или если эта например карта сайта или яндекс марткет, то /app/View/Sitemaps/xml

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

Это да, но этого массива сейчас нету)))) писать свою фукнцию - я уже не хочу. Это большая несовместимость с будущими обновлениями. Вот я и обращаюсь, чтобы его сделали официально. Т.е. переделали модуль корзины, чтобы там данные были из таблицы товаров. К примеру лейбл, ширина, длина и т.д.)))) Сейчас же нельзя лейбл вывести в корзине. Так вот я его вывел, потому что мне надо смотреть что за товар купили: если это услуги - то не выводить доставку)))) Но эту функцию я каждый раз восстанавливаю после очередного обновления))))) Поэтому я не люблю трогать движок) Лучше уж написать разработчику -))))

Ссылка на сообщение
Поделиться на другие сайты
36 минуты назад, SHKEd сказал:

Это да, но этого массива сейчас нету)))) писать свою фукнцию - я уже не хочу. Это большая несовместимость с будущими обновлениями. Вот я и обращаюсь, чтобы его сделали официально. Т.е. переделали модуль корзины, чтобы там данные были из таблицы товаров. К примеру лейбл, ширина, длина и т.д.)))) Сейчас же нельзя лейбл вывести в корзине. Так вот я его вывел, потому что мне надо смотреть что за товар купили: если это услуги - то не выводить доставку)))) Но эту функцию я каждый раз восстанавливаю после очередного обновления))))) Поэтому я не люблю трогать движок) Лучше уж написать разработчику -))))

Почему нет!?

Корзина ведь есть, метка корзины есть, там как раз и возвращается массив с товарами корзины.

Движок можно и не трогать.

Например есть папку /app/Catalog/local

Т.е. если например скопируете /app/Catalog/function.shopping_cart.php в /app/Catalog/local/function.shopping_cart.php

То у Вас будет своя копия корзины и Вы можете править её как угодно, этот файл никак обновлениями затрагиваться не будет.

Но вообще, это я конечно всё наугад пишу, я ж конкретно не знаю, что и как Вам нужно сделать.

4 часа назад, SHKEd сказал:

Просьба сделатьчтобы можно было получить список корзины, типо что-то  этого,


var products = [
        {
            id: '122', // ID товара в CMS
            name: 'Some piece of products', // Наименование товаров
            price: 524, // Цена товара
            width: 10, // ширина
            height: 10, высота
            length: 0, // длина
            weight: 1, // вес
            quantity: 2, // количество единиц товара
            sku: 'SKU PRODUCT' // артикул товара
        },
        {
            id: '123',
            name: 'Some piece of products',
            price: 524,
            width: 10,
            height: 10,
            length: 10,
            weight: 1,
            quantity: 2,
            sku: 'SKU PRODUCT'
        }
    ];

 

так как много где используется, к примеру в том же Яндекс. Просто хочу сделать ddelivery.ru (устали от разных модулей - которые то отваливаются, то серверы недоступны, то еще чего-то). Чет надо одно - вот остановились на этом варианте, но там нужен список товаров для передачи (или для расчета)  в сервис) Понятно дело, что вот к примеру есть уже в модуле сдека (насколько я понимаю), но там не посредством JS это)

В принципе, все эти данные есть в корзине.

В /app/Catalog/function.shopping_cart.php есть блок:

			'id' => $cart_item['content_id'],
			'link' => BASE . '/product/' . $content_id . $config['URL_EXTENSION'],
			'name' => $cart_item['name'],
			'image' => $image,
			'price' => $CurrencyBase->display_price($cart_item['price']),
			'qty' => $cart_item['quantity'],
			'url' => BASE . '/product/' . $content_information['Content']['alias'] . $config['URL_EXTENSION'],
			'line_total' => $CurrencyBase->display_price($cart_item['quantity']*$cart_item['price'])

Это как раз массив товара в корзине.

Что б добавить например ширину, высоту, длину, вес, нужно поменять на:

			'id' => $cart_item['content_id'],
			'link' => BASE . '/product/' . $content_id . $config['URL_EXTENSION'],
			'name' => $cart_item['name'],
			'width' => $cart_item['width'],
			'height' => $cart_item['height'],
			'length' => $cart_item['length'],
			'volume' => $cart_item['volume'],
			'weight' => $cart_item['weight'],
			'model' => $cart_item['model'],
			'sku' => $cart_item['sku'],
			'image' => $image,
			'price' => $CurrencyBase->display_price($cart_item['price']),
			'qty' => $cart_item['quantity'],
			'url' => BASE . '/product/' . $content_information['Content']['alias'] . $config['URL_EXTENSION'],
			'line_total' => $CurrencyBase->display_price($cart_item['quantity']*$cart_item['price'])

Это у Вас добавились доступные данные о товарах в корзине, появились метки sku, width, height, lenth, volume.

т.е., в принципе, все данные, что указаны у Вас уже есть.

id - есть, название - есть, цена - есть, размеры товара - есть, вес - есть, sku - есть.

Ссылка на сообщение
Поделиться на другие сайты
Только что, SHKEd сказал:

Хорошо, попробую. Спасибо!

Этот список корзины надо где получать?!

Просто открыв какой-то url адрес?!

или где его надо выводить этот массив с данными корзины?!

В общем, все эти данные для вывода корзины есть, всё это сидит в глобальной переменной $order

Нужно просто понять куда это надо выводить, просто при обращении к какому-то url или как!?

Ссылка на сообщение
Поделиться на другие сайты
17 минуту назад, SHKEd сказал:

Хорошо, попробую. Спасибо!

В общем, сейчас добавлю в faq новый вопрос.

Как получить содержимое корзины в json формате.

т.е. просто покажу пример как сделать адрес, к примеру, htttp://магазин.ру/ddelivery/cart.json

При открытии этого адреса будут выведены товары в корзине в том формате, что Вы в первом сообщении писали.

Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, SHKEd сказал:

Просьба сделатьчтобы можно было получить список корзины, типо что-то  этого,



 

Вот добавил в faq небольшой пример:

 

Может чем-либо поможет данный пример.

Ссылка на сообщение
Поделиться на другие сайты
21 часа назад, SHKEd сказал:

Хорошо, попробую. Спасибо!

Ну как, не пробовали совет из faq. То это или не то?!

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