$xml->addAttribute('date', date('Y-m-d\TH:i:sP'));
$shop = $xml->addChild('shop');
- $shop->addChild('name', 'База Цветов 24');
- $shop->addChild('company', 'База Цветов 24');
+ $shop->addChild('name', htmlspecialchars('База Цветов 24', ENT_XML1 | ENT_COMPAT, 'UTF-8'));
+ $shop->addChild('company', htmlspecialchars('База Цветов 24', ENT_XML1 | ENT_COMPAT, 'UTF-8'));
$shop->addChild('url', 'https://bazacvetov24.ru');
// Добавление валюты
// Добавление категорий
$categories = $shop->addChild('categories');
- $category = $categories->addChild('category', 'Букеты');
+ $category = $categories->addChild('category', htmlspecialchars('Букеты', ENT_XML1 | ENT_COMPAT, 'UTF-8'));
$category->addAttribute('id', '1');
- // Добавление информации о доставке???
+ // Добавление информации о доставке
$deliveryOptions = $shop->addChild('delivery-options');
$deliveryOption = $deliveryOptions->addChild('option');
$deliveryOption->addAttribute('cost', '200');
$offer = $offers->addChild('offer');
$offer->addAttribute('id', $product['id']);
$offer->addAttribute('available', $product['available'] ? 'true' : 'false');
- $offer->addChild('name', htmlspecialchars($product['name']));
- //TODO добавить url на конкректный букет
+ $offer->addChild('name', htmlspecialchars($product['name'], ENT_XML1 | ENT_COMPAT, 'UTF-8'));
$offer->addChild('url', 'https://bazacvetov24.ru/flowers/' . $product['id']);
$offer->addChild('price', $product['price']);
$offer->addChild('currencyId', 'RUR');
$offerDeliveryOption->addAttribute('days', '1');
$offerDeliveryOption->addAttribute('order-before', '18');
- $offer->addChild('description', htmlspecialchars($product['description']));
+ $offer->addChild('description', htmlspecialchars($product['description'], ENT_XML1 | ENT_COMPAT, 'UTF-8'));
$offer->addChild('weight', $product['weight']);
$offer->addChild('qty', $product['qty']);
$offer->addChild('minorder', $product['minorder']);
- $offer->addChild('available', $product['available'] ? 'true' : 'false');
if ($product['oldprice']) {
$offer->addChild('oldprice', $product['oldprice']);
foreach ($product['composition'] as $component) {
$consist = $offer->addChild('consist', $component['quantity']);
- $consist->addAttribute('name', htmlspecialchars($component['name']));
- $consist->addAttribute('unit', $component['unit']);
+ $consist->addAttribute('name', htmlspecialchars($component['name'], ENT_XML1 | ENT_COMPAT, 'UTF-8'));
+ $consist->addAttribute('unit', htmlspecialchars($component['unit'], ENT_XML1 | ENT_COMPAT, 'UTF-8'));
}
+
foreach ($product['pictures'] as $picture) {
$offer->addChild('picture', $picture);
}
return $xml->asXML();
}
- // Приватные статические вспомогательные методы
+
+
private static function getProductPictureUrl($productId) {
return ['https://bazacvetov24.ru/products/5339/51-roza-premium_3326_md.jpg'];
}