diff options
Diffstat (limited to 'src/pages/google_merchant')
| -rw-r--r-- | src/pages/google_merchant/products/[page].js | 15 | ||||
| -rw-r--r-- | src/pages/google_merchant/products/index.js | 3 |
2 files changed, 12 insertions, 6 deletions
diff --git a/src/pages/google_merchant/products/[page].js b/src/pages/google_merchant/products/[page].js index aaa4dde4..52b87389 100644 --- a/src/pages/google_merchant/products/[page].js +++ b/src/pages/google_merchant/products/[page].js @@ -1,6 +1,7 @@ import { createSlug } from '@/core/utils/slug' import toTitleCase from '@/core/utils/toTitleCase' import productSearchApi from '@/lib/product/api/productSearchApi' +import variantSearchApi from '@/lib/product/api/variantSearchApi' import _ from 'lodash-contrib' import { create } from 'xmlbuilder' @@ -18,11 +19,11 @@ export async function getServerSideProps({ res, query }) { orderBy: 'popular', fq: 'image_s:["" TO *]' } - const products = await productSearchApi({ query: _.toQuery(queries) }) + const products = await variantSearchApi({ query: _.toQuery(queries) }) const productItems = [] products.response.products.forEach((product) => { - const productUrl = createSlug('/shop/product/', product.name, product.id, true) + const productUrl = createSlug('/shop/product/variant/', product.name, product.id, true) const productId = product.code != '' ? product.code : product.id const regexHtmlTags = /(<([^>]+)>)/gi product.description = product.description?.replace(regexHtmlTags, ' ').trim() @@ -33,6 +34,8 @@ export async function getServerSideProps({ res, query }) { product.description = defaultProductDescription } + const availability = 'in_stock' + const item = { 'g:id': { '#text': productId }, 'g:title': { '#text': toTitleCase(product.name) }, @@ -40,12 +43,14 @@ export async function getServerSideProps({ res, query }) { 'g:link': { '#text': productUrl }, 'g:image_link': { '#text': product.image }, 'g:condition': { '#text': 'new' }, - 'g:availability': { '#text': 'in_stock' }, + 'g:availability': { '#text': availability }, 'g:brand': { '#text': product.manufacture?.name || '' }, - 'g:price': { '#text': `${product.lowestPrice.price} IDR` } + 'g:price': { '#text': `${Math.floor(product.lowestPrice.price * 1.11)} IDR` } } if (product.lowestPrice.discountPercentage > 0) { - item['g:sale_price'] = { '#text': `${product.lowestPrice.priceDiscount} IDR` } + item['g:sale_price'] = { + '#text': `${Math.floor(product.lowestPrice.priceDiscount * 1.11)} IDR` + } } productItems.push(item) }) diff --git a/src/pages/google_merchant/products/index.js b/src/pages/google_merchant/products/index.js index a1f59d39..d3cdc514 100644 --- a/src/pages/google_merchant/products/index.js +++ b/src/pages/google_merchant/products/index.js @@ -1,4 +1,5 @@ import productSearchApi from '@/lib/product/api/productSearchApi' +import variantSearchApi from '@/lib/product/api/variantSearchApi' import _ from 'lodash-contrib' const limit = 5000 @@ -9,7 +10,7 @@ export async function getServerSideProps() { priceFrom: 1, fq: 'image_s:["" TO *]' } - const products = await productSearchApi({ query: _.toQuery(queries) }) + const products = await variantSearchApi({ query: _.toQuery(queries) }) const { numFound } = products.response const pageTotal = Math.ceil(numFound / limit) |
