Я не программист, но попытался добавить некоторые необязательные атрибуты API содержимого в существующий код. Пока что вывод пуст, хотя поля содержат данные.
Я отредактировал вызывающий php-файл и включенный в него файл.
Необязательные атрибуты:
color,sizes,multipack,ageGroup,gender,material
Запуск файла: ProductsSample_orig.php
Соответствующий код:
include_once('/home/xxxx/public_html/xxxx/class.php');
require_once 'BaseSample.php';
private function createExampleProducts($offerIds) {
$products = [];
foreach ($offerIds as $offerId) {
//print_r($offerId);
foreach($offerId as $offer) {
// echo $offer['name'];
//echo $offer['language'];
$products[] = $this->createExampleProduct($offer['name'],$offer['products_id'],$offer['description'],$offer['color'],$offer['sizes'],$offer['multipack'],$offer['ageGroup'],$offer['gender'],$offer['material'],$offer['image_link'],$offer['sellprice'],$offer['team'],$offer['weight'],$offer['gtin'],$offer['country'],$offer['currency'],$offer['language'],$offer['prodlink'],'',$offer['availability'],$offer['categoryname']);
}
}
return $products;
}
private function createExampleProduct($name,$team_id,$description,$color,$sizes,$multipack,$ageGroup,$gender,$material,$image,$priceselling,$brand,$weight,$gtin,$country,$currency,$language,$link,$delivery_cost,$availability,$category) {
// print_r($offerId);
// echo $priceselling;
// echo "gtin for: ".$team_id." is :".$gtin;
$description=htmlentities($description);
$cat=utf8_encode($category);
// echo $name."\n".$team_id."\n".$description."\n".$image."\n".$priceselling."\n".$brand."\n".$weight."\n".$gtin."\n".$country."\n".$currency."\n".$language."\n".$link."\n".$delivery_cost."\n".$availability."\n".$category;
// die;
$timestamp = date("Y-m-d");
$expires =date("c", strtotime('+1 days', strtotime($timestamp)));
$product = new Google_Service_ShoppingContent_Product();
//$offerd=$id['team_id'];
$product->setOfferId($team_id);
//$name=$id['name'];
$product->setTitle($name);
//$desc=$id['description'];
$product->setDescription($description);
$product->setColor($color);
$product->setSizes($sizes);
$product->setMultipack($multipack);
$product->setAgeGroup($ageGroup);
$product->setGender($gender);
$product->setMaterial($material);
$product->setLink($link);
$product->setImageLink($image);
$product->setBrand($brand);
$product->setContentLanguage($language);
$product->setTargetCountry($country);
$product->setChannel(self::CHANNEL);
$product->setAvailability($availability);
$product->setCondition('new');
$product->setGoogleProductCategory($cat);
$product->setexpirationDate($expires);
if(!empty($gtin)){
$product->setGtin($gtin);
}else{
$product->setidentifierExists(FALSE);
}
$price = new Google_Service_ShoppingContent_Price();
$price->setValue($priceselling);
$price->setCurrency($currency);
$product->setPrice($price);
/* $shippingPrice = new Google_Service_ShoppingContent_Price();
$shippingPrice->setValue($delivery_cost);
$shippingPrice->setCurrency($currency);*/
/* $shipping = new Google_Service_ShoppingContent_ProductShipping(); */
// $shipping->setPrice($shippingPrice);
/* $shipping->setCountry($country); */
/* $shipping->setService('Standard shipping'); */
/* $product->setShipping(array($shipping)); */
$shippingWeight =
new Google_Service_ShoppingContent_ProductShippingWeight();
$shippingWeight->setValue($weight);
$shippingWeight->setUnit('grams');
$product->setShippingWeight($shippingWeight);
=============================================== ======================
class.php
включает код:
$dbpro="SELECT DISTINCT'
vp.virtuemart_product_id AS products_id,
vp.colour AS color,
vp.size AS sizes,
vp.multipack AS multipack,
vp.age_group AS ageGroup,
vp.gender AS gender,
vp.material AS material,
=============================================== =============
Ожидаемые результаты:
Выход журнала для 1 продукта, который имеет размер 5 см
Google_Service_ShoppingContent_Product Object
(
...
[sizeSystem] =>
[sizeType] =>
[sizes] =>
should be:
sizes = 5cm
Должны ли sizeSystem & sizeType иметь связанные поля + переменные?
Я должен добавить, что при запуске сообщения об ошибках не выдаются, просто нет содержимого во вновь добавленных атрибутах.
Спасибо