Ремонт компьютера
Сборка, чистка, апгрейт ремонт любой техники.
Замена частей, установка ПО, установка Windows, антивируса.
Удаленная помощь без вызова на дом.
Создание сайта
Создание сайта с нуля, модулей, скриптов для сайта.
Движки Joomla, Wordpress, Opencart, Prestashop и тд.
SEO продвижение, ремонт, оптимизация сайта.

Отсутствует стоимость доставки в ЯМ Opencart — исправим

Указать стоимость доставки в прайс листе для Яндекс Маркета opencart. Мы добавим возможность вывода доставки в генерируемом прайс листе. Если по каким то причинам у вас только так модерацию и прошли, как и мой клиент. У него была последняя попытка, и он ее тратить не хотел, поэтому нужно было дописать в xml файле доставку на товар каждый. Делаеться это по правилам яндекса тут.

Ошибки при разборе файла:
scheme: local_delivery_cost (строка 60, столбец 8)
Ошибка: В прайс-листе отсутствует стоимость доставки товарного предложения: http://... (строка 97, столбец 9)
Ошибка: Предложение отклонено: http://... (строка 97, столбец 9)
Ошибка: В прайс-листе отсутствует стоимость доставки товарного предложения: http://... (строка 134, столбец 9)
...

Изменим файлик:

catalog/controller/feed/yandex_market.php.

находим

$yml .= '</categories>' . $this->eol;

и после нее добавляем нашу доставку:

// доставка
 $yml .= '<delivery-options>'. $this->eol;
 $yml .= '<option cost="0" days="1" order-before="1"/>'. $this->eol;
 $yml .= '</delivery-options>' . $this->eol;

Если же требуется для каждого товара (это врятли, но мало ли вам захотелось).

то добавим и это

 // допишем доставку к каждому товару если нужно
$tags .= '<delivery-options>'. $this->eol;
$tags .=
'<option cost="0" days="1" order-before="1"/>'. $this->eol;
$tags .=
'</delivery-options>' . $this->eol;
 */

после

$tags = $this->array2Tag($offer['data']);

Вот для тех кто запутался, как должна получиться функция getYml() (я закоментил тут для каждого товара, кому нужно просто удалите  /* */ эти символы):

private function getYml() {
 $yml = '<?xml version="1.0" encoding="windows-1251"?>' . $this->eol;
 $yml .= '<!DOCTYPE yml_catalog SYSTEM "shops.dtd">' . $this->eol;
 $yml .= '<yml_catalog date="' . date('Y-m-d H:i') . '">' . $this->eol;
 $yml .= '<shop>' . $this->eol;
// информация о магазине
 $yml .= $this->array2Tag($this->shop);
// валюты
 $yml .= '<currencies>' . $this->eol;
 foreach ($this->currencies as $currency) {
 $yml .= $this->getElement($currency, 'currency');
 }
 $yml .= '</currencies>' . $this->eol;
// категории
 $yml .= '<categories>' . $this->eol;
 foreach ($this->categories as $category) {
 $category_name = $category['name'];
 unset($category['name'], $category['export']);
 $yml .= $this->getElement($category, 'category', $category_name);
 }
 $yml .= '</categories>' . $this->eol;
// доставка
 $yml .= '<delivery-options>'. $this->eol;
 $yml .= '<option cost="0" days="1" order-before="1"/>'. $this->eol;
 $yml .= '</delivery-options>' . $this->eol;
 
 // товарные предложения
 $yml .= '<offers>' . $this->eol;
 foreach ($this->offers as $offer) {
 $tags = $this->array2Tag($offer['data']);
 /*
 // допишем доставку к каждому товару если нужно
$tags .= '<delivery-options>'. $this->eol;
$tags .=
'<option cost="0" days="1" order-before="1"/>'. $this->eol;
$tags .=
'</delivery-options>' . $this->eol;
 */
 
 unset($offer['data']);
 if (isset($offer['param'])) {
 $tags .= $this->array2Param($offer['param']);
 unset($offer['param']);
 }
 $yml .= $this->getElement($offer, 'offer', $tags);
 }
 $yml .= '</offers>' . $this->eol;
$yml .= '</shop>';
 $yml .= '</yml_catalog>';
return $yml;
 }

 

Название статьи при не правильной раскладке клавиатуры: Jncencndetn cnjbvjcnm ljcnfdrb d ЯV Opencart — bcghfdbv
Если вдруг появилось желание поблагодарить автора,просто нажмите на рекламу чуть ниже, этого будет достаточно :)

Добавить комментарий

Ваш e-mail не будет опубликован.

Вставьте верное число *