SHKEd 0 Опубликовано 29 ноября, 2017 Жалоба Share Опубликовано 29 ноября, 2017 Просьба сделатьчтобы можно было получить список корзины, типо что-то этого, 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 это) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 ноября, 2017 Жалоба Share Опубликовано 29 ноября, 2017 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 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 ноября, 2017 Жалоба Share Опубликовано 29 ноября, 2017 Вообще планируется в будущих версиях расчирить Google Analytics, там у них есть как раз просмотр товара, просмотр корзины и примерно такой код и нужен для передачи данных в гугл. Сейчас в Google Analytics только информация о заказе передаётся, а хотим добавить ещё просмотр товара, добавление в корзину товара и т.д. В общем то, что у них в документации описано - https://developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce#ecommerce-data Ссылка на сообщение Поделиться на другие сайты
SHKEd 0 Опубликовано 29 ноября, 2017 Автор Жалоба Share Опубликовано 29 ноября, 2017 56 минут назад, VaM сказал: Есть яндекс метрика и google analytics. где похожий код генерируется. Смотрите как сделано в /app/Catalog/function.yandex_metrika.php , /app/Catalog/function.google_analytics.php Там на стороне ПШП) мне нужно на стороне пользователя это делать) чтобы не заморачивать движок всякими вычислениями и т.д. Да и потому что эти данные (цена, кол-во, ширина, артикл, и т.д.) идет от клиента к другому REST API, который присылает уже клиенту данные, а клиент уже пересылает ответ нам - какая к примеру будет стоимость доставки) Т.е. задача от движка - просто дать массив, то что у клиента лежит в корзине, и не просто картинка, название товара - но и все свойства этого товара) А дальше уже этот массив можно раздербанивать кому какие нужны данные. Кому то длина, кому то какой-то товар, кому то надо сделать модуль доставки. Кто-то эти данные пушит в яндекс, или гугл. А кто-то вообще захочет сделать функцию сохранения корзины в файл и восстановления данных из этого файла. Вообщем как-то так) JSON идеально подойдет для этих данных, да и метки станут меньше (ну через точку =) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 ноября, 2017 Жалоба Share Опубликовано 29 ноября, 2017 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 Ссылка на сообщение Поделиться на другие сайты
SHKEd 0 Опубликовано 29 ноября, 2017 Автор Жалоба Share Опубликовано 29 ноября, 2017 Это да, но этого массива сейчас нету)))) писать свою фукнцию - я уже не хочу. Это большая несовместимость с будущими обновлениями. Вот я и обращаюсь, чтобы его сделали официально. Т.е. переделали модуль корзины, чтобы там данные были из таблицы товаров. К примеру лейбл, ширина, длина и т.д.)))) Сейчас же нельзя лейбл вывести в корзине. Так вот я его вывел, потому что мне надо смотреть что за товар купили: если это услуги - то не выводить доставку)))) Но эту функцию я каждый раз восстанавливаю после очередного обновления))))) Поэтому я не люблю трогать движок) Лучше уж написать разработчику -)))) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 ноября, 2017 Жалоба Share Опубликовано 29 ноября, 2017 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 0 Опубликовано 29 ноября, 2017 Автор Жалоба Share Опубликовано 29 ноября, 2017 Хорошо, попробую. Спасибо! Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 ноября, 2017 Жалоба Share Опубликовано 29 ноября, 2017 Только что, SHKEd сказал: Хорошо, попробую. Спасибо! Этот список корзины надо где получать?! Просто открыв какой-то url адрес?! или где его надо выводить этот массив с данными корзины?! В общем, все эти данные для вывода корзины есть, всё это сидит в глобальной переменной $order Нужно просто понять куда это надо выводить, просто при обращении к какому-то url или как!? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 ноября, 2017 Жалоба Share Опубликовано 29 ноября, 2017 17 минуту назад, SHKEd сказал: Хорошо, попробую. Спасибо! В общем, сейчас добавлю в faq новый вопрос. Как получить содержимое корзины в json формате. т.е. просто покажу пример как сделать адрес, к примеру, htttp://магазин.ру/ddelivery/cart.json При открытии этого адреса будут выведены товары в корзине в том формате, что Вы в первом сообщении писали. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 ноября, 2017 Жалоба Share Опубликовано 29 ноября, 2017 5 часов назад, SHKEd сказал: Просьба сделатьчтобы можно было получить список корзины, типо что-то этого, Вот добавил в faq небольшой пример: Может чем-либо поможет данный пример. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 30 ноября, 2017 Жалоба Share Опубликовано 30 ноября, 2017 21 часа назад, SHKEd сказал: Хорошо, попробую. Спасибо! Ну как, не пробовали совет из faq. То это или не то?! Ссылка на сообщение Поделиться на другие сайты
SHKEd 0 Опубликовано 2 декабря, 2017 Автор Жалоба Share Опубликовано 2 декабря, 2017 Да, все в порядке!) Список товаров в корзине получен! Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 2 декабря, 2017 Жалоба Share Опубликовано 2 декабря, 2017 Хорошо Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения