Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как убрать из yml модель?


Recommended Posts

Всем привет, у меня такой вопрос как убрать из yml яндекс маркета модель ?

<name>что бы было сразу после name описания товара</name>

<model>а это удалить что бы yml не выводилось </model>

<description>

мой yml

<?php

class ControllerExportYml extends Controller {

public function index() {

if ($this->config->get('yandex_market_status')) {

$eof = "\n";

$output = '<?xml version="1.0" encoding="utf-8" ?>' . $eof;

$output .= '<!DOCTYPE yml_catalog SYSTEM "shops.dtd">' . $eof;

$output .= '<yml_catalog date="' . date("Y-m-d H:i") . '">' . $eof;

$output .= '<shop>' . $eof;

$output .= '<name>' . $this->textPrepare($this->config->get('config_name')) . '</name>' . $eof;

$output .= '<company>' . $this->textPrepare($this->config->get('yandex_market_company')) . '</company>' . $eof;

$output .= '<url>' . HTTP_SERVER . '</url>' . $eof;

$output .= '<phone>' . $this->textPrepare($this->config->get('config_telephone')) . '</phone>' . $eof;

// Перечесляем валюты магазина

// TODO: Добавить возможность настраивать проценты.

$offers_currency = $this->config->get('yandex_market_currency');

if (! $this->currency->has($offers_currency)) exit();

$shop_currency = $this->config->get('config_currency');

$output .= '<currencies>' . $eof;

$output .= '<currency id="' . $offers_currency . '" rate="1"/>' . $eof;

$this->load->model('localisation/currency');

$supported_currencies = array_flip(array('RUR', 'RUB', 'USD', 'BYR', 'KZT', 'EUR', 'UAH'));

$currencies = array_intersect_key($this->model_localisation_currency->getCurrencies(), $supported_currencies);

foreach ($currencies as $currency) {

if ($currency['code'] != $offers_currency && $currency['status'] == 1) {

$output .= '<currency id="' . $currency['code'] . '" rate="' . number_format($this->currency->convert($currency['value'], $offers_currency, $shop_currency), 4, '.', '') . '"/>' . $eof;

}

}

$output .= '</currencies>' . $eof;

// Категории товаров

$this->load->model('catalog/category');

$output .= '<categories>' . $eof;

$output .= $this->getCat();

$output .= '</categories>' . $eof;

$this->load->model('tool/seo_url');

// Товарные позиции

$this->load->model('catalog/product');

$this->load->model('tool/image');

$output .= '<offers>' . $eof;

$products = $this->model_catalog_product->getProducts();

foreach ($products as $product) {

$output .= '<offer id="' . $product['product_id'] . '" available="true">' . $eof;

$output .= '<url>' . $this->textPrepare($this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&product_id=' . $product['product_id'])) . '</url>' . $eof;

$output .= '<price>' . number_format($this->currency->convert($this->tax->calculate($product['price'], $product['tax_class_id']), $shop_currency, $offers_currency), 2, '.', '') . '</price>' . $eof;

$output .= '<currencyId>' . $offers_currency . '</currencyId>' . $eof;

// Определяем категорию для товара

$categories = $this->model_catalog_product->getCategories($product['product_id']);

$output .= '<categoryId>' . $categories[0]['category_id'] . '</categoryId>' . $eof;

// Определеяме изображение

if ($product['image']) {

$output .= '<picture>' . $this->model_tool_image->resize($product['image'], 500, 500) . '</picture>' . $eof;

} else {

$output .= '<picture>' . $this->model_tool_image->resize('no_image.jpg', 500, 500) . '</picture>' . $eof;

}

$output .= '<delivery> true </delivery>' . $eof;

$output .= '<local_delivery_cost>300</local_delivery_cost>' . $eof;

$output .= '<name>' . $this->textPrepare($product['name']) . '</name>' . $eof;

// $output .= '<typePrefix> </typePrefix>' . $eof;

// $output .= '<vendorCode> </vendorCode>' . $eof;

$output .= '<model>' . $this->textPrepare($product['model']) . '</model>' . $eof;

$output .= '<description>' . $this->textPrepare($product['description']) . '</description>' . $eof;

$output .= '<manufacturer_warranty>true</manufacturer_warranty>' . $eof;

$output .= '<country_of_origin>' . $this->textPrepare($product['sku']) . '</country_of_origin>' . $eof;

$output .= '</offer>' . $eof;

}

$output .= '</offers>' . $eof;

$output .= '</shop>' . $eof;

$output .= '</yml_catalog>';

$this->response->addHeader('Content-Type: application/xml');

$this->response->setOutput($output);

}

}

// Возвращает массив категорий

protected function getCat($parent_id = 0) {

$categories = $this->model_catalog_category->getCategories($parent_id);

$out = '';

foreach ($categories as $category) {

$out .= '<category id="' . $category['category_id'] . '"';

if($parent_id != 0) $out .= ' parentId="' . $parent_id . '"';

$out .= '>' . $this->textPrepare($category['name']) . "</category>\n";

if($e = $this->getCat($category['category_id'])) $out .= $e;

}

return $out;

}

/**

* Подготовка текста в соответствии с требованиями Яндекса

* Запрещены любые html-тэги. Стандарт XML не допускает использования в текстовых данных

* непечатаемых символов с ASCII-кодами в диапазоне значений от 0 до 31 (за исключением

* символов с кодами 9, 10, 13 - табуляция, перевод строки, возврат каретки). Также этот

* стандарт требует обязательной замены некоторых символов на эквивалентные им символьные

* примитивы.

* @param string $text

* @return string

*/

protected function textPrepare($text) {

$text = htmlspecialchars_decode(trim($text));

$text = strip_tags($text);

$search = array('"', '&', '>', '<', '\'');

$replace = array('"', '&', '>', '<', ''');

$text = str_replace($search, $replace, $text);

$text = preg_replace('![\x00-\x08\x0B-\x0C\x0E-\x1F]+!is', ' ', $text);

$text = preg_replace('!\s+!', ' ', $text);

return trim($text);

}

}

?>

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.