Новости Joomla

Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla

Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla

👩‍💻 Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla.v.6.1.0 Что нового?Модуль корзины. Отображение корзины в виде offcanvas-элемента.Кнопка выхода в панели управления пользователя. Что тут сказать, просто добавили. Отправка писем только для заказов, оплаченных определёнными способами. Это удобно для рассылки сообщений, привязанных к региону или провайдеру (например, инструкции по банковскому переводу только для заказов, оплаченных банковским переводом).Листинг выплат по партнерской системе. В разделе управления партнёрскими программами появилось новое подменю «Выплаты», в котором перечислены выплаты партнёрам (упрощённое отслеживание и сверка). Добавлены настройки, благодаря которым можно определить категории товаров, на которые начисляется партнёрская комиссия с продаж.Список комплектов товаров. Система комплектов позволяет отслеживать остатки товаров, продаваемых в комплекте.Подробнее в блоге Hikashop.Поскольку мы не сообщали ранее о Hikashop 6.0, то вкратце скажем, что он вышел в июне 2025г. В новой версии было:- 13 исправлений ошибок- 17 улучшений. В частности:- - Hikashop теперь проверяет UserAgent пользователя перед добавлением товара в корзину, чтобы отсечь ботов. Ведь компонент хранит корзины в базе данных.- - улучшен роутинг компонента, позволяющий использовать в названии товара даже слеши.- - улучшения фильтра товаров - ускорение загрузки категорий/брендов/характеристик.- 4 новых функции:- - добавлена поддержка Joomla 6.0.- - Улучшена возможность адаптации форм HikaShop на фронтенде к шаблонам, не использующим стандартные классы Joomla.- - Плагин внутреннего баланса: возможность исключить уцененные товары из начисленных баллов.- - Теперь можно выбирать склады для вариантов товаров.Подробнее в Changelog Hikashop.Также при работе с Hikashop стоит учитывать, что один и тот же код поддерживает версии Joomla от 3.х до 5.х, а в таблице сравнения версий заявлена и Joomla 2.5. Беглый просмотр кода показал, что компонент как был, так и остался старым и для совместимости с Joomla 4+ просто добавлен плагин.@joomlafeed#joomla #расширения #hikashop

0 Пользователей и 1 Гость просматривают эту тему.
  • 690 Ответов
  • 172720 Просмотров
*

Restorator

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Fatal error: Class 'JConfig' not found in "корень/md/market.php" on line 24

market.php :

Код: php
строка 23. include '../configuration.php';
строка 24. $cfg = new JConfig();

Подскажите, пожалуйста, как исправить ошибку.
Ашипка в указании пути до файла конфигурации
Либо указать относительный путь либо полный
../../configuration.php или ./configuraton.php
Каждое двоеточие подьем на один уровень вверх, в этом случае вначале в папку мд потом в корень
Помоему так, если ошибся, прошу не пинать, давно это было
*

text

  • Захожу иногда
  • 93
  • 0 / 0
Яндекс пишет (дал файл, тот что наверху, без изменений пути к configuration.php):
Детали валидации YML файла

--------------------------------------------------------------------------------
http://www.site.ru/md/market.php
[2010-10-02 16:56:08] (Fatal) [1:4] (Fatal) 521 Error parsing XML feed: Unknown element 'br'
--------------------------------------------------------------------------------

Где и как исправить?


*

text

  • Захожу иногда
  • 93
  • 0 / 0
Пробовал так, тоже не работает
www.site.ru/index.php?page=product.csv_upload&option=com_virtuemart&func=export_yml

J 1.0.12
VM 1.0.
*

text

  • Захожу иногда
  • 93
  • 0 / 0
Скачал и установил com_csv_improved_0.9.zip. Вот ссылка: http://joomlaforum.ru/index.php/topic,54241.0.html#msg342063
Сделал экспорт CSVI Product Export.
Закачал в папку www.site.ru/md/CSV_expUtf8.csv ( utf без БОМ)
Яндекс пишет
Детали валидации YML файла

--------------------------------------------------------------------------------
http://www.site.ru/md/CSV_expUtf8.csv
[2010-10-02 19:23:21] (Fatal) [1:1] (Fatal) 521 Error parsing XML feed: Invalid document structure

Пробовал csv с ANSI - тоже ошибка.

Опять попытался с market.php

Детали валидации YML файла

--------------------------------------------------------------------------------
http://www.site.ru/md/market.php
[2010-10-02 19:29:08] (Fatal) [1:4] (Fatal) 521 Error parsing XML feed: Unknown element 'br'
--------------------------------------------------------------------------------

Что исправить в market.php для Яндекса?
« Последнее редактирование: 02.10.2010, 19:36:50 от text »
*

text

  • Захожу иногда
  • 93
  • 0 / 0
Цитировать
Error parsing XML feed: Unknown element 'br'

Где искать этот элемент 'br'?
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
для mail.торг делал кто-нить парсер? можете поделиться?
*

Alex Revo

  • Завсегдатай
  • 1995
  • 109 / 0
парсер не делал, а выгрузку делал
*

aks99

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Использовал скрипт из начала топика - все работает. Yandex (Содержимое сайта/Товары и цены) принимает товары , но не хочет запоминать ссылку с **.php , насколько я понял ему нужен именно путь на  yml файл. Что надо сделать, что бы при обращении к скрипту он сохранял yml файл локально на сайте ?
*

text

  • Захожу иногда
  • 93
  • 0 / 0
Где искать этот элемент 'br'?
Подскажите, пожалуйста, если знаете
*

Alex Revo

  • Завсегдатай
  • 1995
  • 109 / 0
В описании товаров наверное
*

text

  • Захожу иногда
  • 93
  • 0 / 0
В описании товаров наверное

В файле flypage.php имеются символы переноса вида  <br />. Эти элементы?

Детали валидации YML файла

--------------------------------------------------------------------------------
http://www.site.ru/md/market.php
[2010-10-02 19:29:08] (Fatal) [1:4] (Fatal) 521 Error parsing XML feed: Unknown element 'br'
--------------------------------------------------------------------------------

А как можно автоматически удалять эти элементы 'br' из описания,
может посоветуете, где изменить в "market.php"?
« Последнее редактирование: 04.10.2010, 20:17:20 от text »
*

Alex Revo

  • Завсегдатай
  • 1995
  • 109 / 0
вот пример:
echo"<description>".HtmlSpecialChars(strip_tags(str_replace($tags,$repl,$description_template)))."</description>\n";
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
Alex Revo
я про выгрузку и имел ввиду, можешь скинуть пример?
*

chip_n

  • Захожу иногда
  • 82
  • 9 / 0
  • Я еще только учусь ...
Помогите пожалуйста!
при выгрузке пишет:
Ошибки:
Адрес YML: Ошибка при заполнении полей
URL YML-файла: Хост YML-файла не совпадает с хостом магазина


пишу - localhost !?
*

Alex Revo

  • Завсегдатай
  • 1995
  • 109 / 0
а писать нужно урл вашего сайта
*

chip_n

  • Захожу иногда
  • 82
  • 9 / 0
  • Я еще только учусь ...
а писать нужно урл вашего сайта
Спасибо!))
*

chip_n

  • Захожу иногда
  • 82
  • 9 / 0
  • Я еще только учусь ...
Ребята, подскажите пожалуйста, что не так?!
Яндекс выдает: Неизвестная ошибка при обработке

У меня такой код:

Код
<?php
$hostname = "www.ukrsports.com.ua";
$username = "********";
$password = "********";
$dbName = "********";
$category = "jos_vm_category";
$category_xref = "jos_vm_category_xref";
$userstable = "jos_vm_product";
$pricetable = "jos_vm_product_price";

$product_category_xref =  "jos_vm_product_category_xref";
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
mysql_select_db($dbName) or die(mysql_error());
//mysql_query('set names utf8');

include '../configuration.php';

$cfg = new JConfig();


echo"<?xml version='1.0' encoding='windows-1251'?>\n";
echo"<!DOCTYPE yml_catalog SYSTEM 'shops.dtd'>\n";
echo"<yml_catalog date=\"";
echo date('Y-m-d H:i');
echo"\">\n";
echo"<shop>\n";
//Здесь название магазина
echo"<name>UkrSports</name>\n";
echo"<company>UkrSports</company>\n";
echo"<url>ukrsports.com.ua</url>\n";
echo"<currencies>\n";
echo"<currency  id=\"UAN\" rate=\"1\"/>\n";
echo"<currency  id=\"USD\" rate=\"8\"/>\n";
echo"</currencies>\n";
echo"<categories>\n";
$query_cat = "SELECT * FROM $category_xref";
$res_cat = mysql_query($query_cat) or die(mysql_error());
$rw=1;
while ($row_cat=mysql_fetch_array($res_cat)) {
$cat_parent_id=$row_cat['category_parent_id'];
$cat_child_id=$row_cat['category_child_id'];
$query2 = "SELECT category_name FROM $category WHERE category_publish='Y' and category_id=".$row_cat['category_child_id'];
$res_cat1 = mysql_query($query2) or die(mysql_error());
$name_cat=mysql_fetch_array($res_cat1);
$cat_name=$name_cat['category_name'];
if ($cat_parent_id==0) {
echo"<category id=\"".$cat_child_id."\">".$cat_name."</category>\n";
}
else {            
echo"<category id=\"".$cat_child_id."\" parentId=\"".$cat_parent_id."\">".$cat_name."</category>\n";
}
$rw++;
}
echo"</categories>\n";

echo"<offers>\n";



$tb_product                 = $cfg->dbprefix."vm_product";

$tb_manufacturer            = $cfg->dbprefix."vm_manufacturer";

$tb_product_mf_xref         = $cfg->dbprefix."vm_product_mf_xref";

$tb_category                = $cfg->dbprefix."vm_category";

$tb_product_category_xref    = $cfg->dbprefix."vm_product_category_xref";

$tb_price                    = $cfg->dbprefix."vm_product_price";



$query = "

SELECT

    $tb_product.product_id,

    $tb_product.product_name,

    $tb_manufacturer.mf_name,

    $tb_manufacturer.manufacturer_id,

    $tb_category.category_name,

    $tb_category.category_id,

    $tb_product_category_xref.category_id,

    $tb_price.product_price,

    $tb_product.product_sku,

    $tb_product.product_in_stock,

    $tb_product.product_unit,

    $tb_product.product_full_image,

    $tb_product.product_s_desc,

    $tb_product.product_weight

FROM

    ($tb_product_category_xref

RIGHT JOIN ($tb_price

RIGHT JOIN (($tb_product_mf_xref

RIGHT JOIN $tb_product

ON $tb_product_mf_xref.product_id = $tb_product.product_id)

LEFT JOIN $tb_manufacturer

ON $tb_product_mf_xref.manufacturer_id = $tb_manufacturer.manufacturer_id)

ON $tb_price.product_id = $tb_product.product_id)

ON $tb_product_category_xref.product_id = $tb_product.product_id)

LEFT JOIN $tb_category

ON $tb_product_category_xref.category_id = $tb_category.category_id

WHERE $tb_product.product_publish='Y' and $tb_product.product_in_stock>0

";



$row = d2a($query);

$product_log = Array();

for($i=0;$i<count($row);$i++) {

    if (!in_array($row[$i]['product_id'],$product_log) AND ($row[$i]['product_price'])) {

        $product_log[] = $row[$i]['product_id'];


        $url="http://ukrsports.com.ua/index.php?option=com_virtuemart&Itemid=".$Itemid['Itemid']."&category_id=".$row_cat['category_id']."&flypage=flypage.tpl&lang=ru&limitstart=0&page=shop.product_details&product_id=".$row['product_id'];

        $product_full_image = "http://ukrsports.com.ua/components/com_virtuemart/shop_image/product/".$row[$i]['product_full_image'];

        $tags = Array ('{product_name}','{product_desc}');

        $repl = Array ($row[$i]['product_name'],$row[$i]['product_s_desc']);

        $product_price = substr($row[$i]['product_price'], 0, -3);

        $product_cat_id=$row[$i]['category_id'];

        echo"\n<offer id=\"".$row[$i]['product_id']."\" available=\"true\" bid=\"$bid\">\n";

        echo"<url>".$url."</url>\n";

        echo"<price>$product_price</price>\n";

        // Валюта в которой указаны Ваши цены

        echo"<currencyId>UAN</currencyId>\n";

        echo"<categoryId>".$product_cat_id."</categoryId>\n";

        echo"<picture>".$product_full_image ."</picture>\n";

        // Возможность доставки

        echo"<delivery>true</delivery> \n";

        echo"<name>".HtmlSpecialChars(strip_tags($row[$i]['product_name']))."\"</name>\n";

        echo"<description>".HtmlSpecialChars(strip_tags(str_replace($tags,$repl,$description_template)))."</description>\n";

        echo"</offer>\n";

    }

}



echo"</offers>\n";
echo"</shop>\n";
echo"</yml_catalog>\n";
function d2a($query){

    $result = mysql_query($query) or die("Query failed : " . mysql_error());

    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {$res[] = $line;}

    mysql_free_result($result);

    return $res;

}


?>

У меня "joomla 1.5.20" "virtuemart 1.1.4" и "sh404SEF"
« Последнее редактирование: 06.10.2010, 14:47:04 от chip_n »
*

text

  • Захожу иногда
  • 93
  • 0 / 0
вот пример:
echo"<description>".HtmlSpecialChars(strip_tags(str_replace($tags,$repl,$description_template)))."</description>\n";

Вставил код так

Код: php
//echo"<description>".strip_tags(str_replace($tags,$repl,$description_template))."</description>\n";
echo"<description>".HtmlSpecialChars(strip_tags(str_replace($tags,$repl,$description_template)))."</description>\n";
echo"</offer>\n";
не работает.

вместе с этим
Код: php
echo"<name>".HtmlSpecialChars(strip_tags($row[$i]['product_name']))."\"</name>\n";
тоже не работает. Та же ошибка Unknown element 'br'

 Если запускаю с сайта site.ru/md/market.php
появляется ошибка
Код: xml
Fatal error: Class 'JConfig' not found in /корень/md/market.php on line 25

Код: php
24. include '../configuration.php';
25. $cfg = new JConfig();

если через Яндекс, то ошибка такая

Детали валидации YML файла

--------------------------------------------------------------------------------
http://www.site.ru/md/market.php
[2010-10-11 18:26:44] (Fatal) [1:4] (Fatal) 521 Error parsing XML feed: Unknown element 'br'

как можно автоматически удалять эти  'br' из всего текста (не только из описания) через market.php?







« Последнее редактирование: 11.10.2010, 19:04:25 от text »
*

highlander

  • Захожу иногда
  • 104
  • 4 / 0
  • Делаю сайты по провинциальным ценам
Заработал скрипт из этого поста. Плюс автору
http://joomlaforum.ru/index.php/topic,59209.msg363696.html#msg363696

Теперь вопрос по безопасности сайта. Какие права на папку и на сам файл выставлять и нет ли возможности навредить сайту через этот php файл
*

inneta

  • Новичок
  • 8
  • 1 / 0
У меня ну никак не получается - тот же скрипт установлен,
joomla 1.5.5 +  VirtueMart 1.1.4, БД в utf-8.
вроде все поменяла, все посты прочитала - но я не программист :-X
И так и сяк пробовала - ничего не получается - либо крокозябры, либо нет соединения пишет((

Пожалуйста, посмотрите  - что не так? :'(

 ^-^
Ссылку удалила - все работает, -ОГРОМНОЕ ВСЕМ СПАСИБО!
« Последнее редактирование: 28.10.2010, 12:10:16 от inneta »
*

Alex Revo

  • Завсегдатай
  • 1995
  • 109 / 0
киньте файл в корень сайта и хотя бы соединение будет...
*

inneta

  • Новичок
  • 8
  • 1 / 0
Кинула - пусто
« Последнее редактирование: 28.10.2010, 12:08:04 от inneta »
*

inneta

  • Новичок
  • 8
  • 1 / 0
Попробовала заново:
Взяла файл с первой страницы и снова выгрузила его!
Хотя бы что-то получилось - хоть не пусто!
Но вот что Яндекс пишет:

Определена кодировка: utf-8 (строка 0, столбец 0)
Дата из файла: 2010-10-12 19:46 (строка 3, столбец 113)
[2010-10-12 19:46:28] (Fatal) [26:69] (Fatal) 521 Error parsing XML feed: Unterminated entity reference, 'flypage'

Да чтоже такое-:(((


Упс.....
Вот (забыла в том файле раскоментировать одну и закоментировать другую строки))) :
Детали валидации YML файла:


Определена кодировка: utf-8 (строка 0, столбец 0)
Дата из файла: 2010-10-12 20:09 (строка 3, столбец 113)
Успешно обработано 31 предложений из 31

кодировка: utf-8 - это плохо?

P.S:
Так как у яндекса маркета файл прошел - пишу - если все корректно работает, файл создается - то кодировка utf-8 - тоже нормально проходит.
У меня в IE не отображается вообще, в опере и мазилле и фаерфоксе - с крокозябрами - но это ничего, главное что у маркета читается на его стороне)))))
« Последнее редактирование: 28.10.2010, 12:14:37 от inneta »
*

andx

  • Захожу иногда
  • 111
  • 6 / 0
подскажите пожалуйста как выводить артикул? На прошлых страницах видел ответ, сказали надо <vendorCode> прописать, вот только не пойму куда в скрипт и что конкретно прописывать

UPD:
разобрался сам, просто добавил в нужное место шаблона
Код
echo"<vendorCode>".HtmlSpecialChars($row[$i]['product_sku'])."</vendorCode>\n";
« Последнее редактирование: 14.10.2010, 14:24:43 от andx »
*

MxR

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Доброго времени суток. Помогите, пожалуйста, не работает выгрузка !
Joomla 1.5.14
VM 1.1.4

Я.маркет при загрузке выдает ошибку:

Определена кодировка: windows-1251 (строка 0, столбец 0)
Дата из файла: 2010-10-17 03:02 (строка 3, столбец 113)
[2010-10-17 04:02:51] (Fatal) [72:9] (Fatal) 521 Error parsing XML feed: Element 'name' is not valid for content model: '(url,buyurl?,price,wprice?,currencyId,xCategory?,categoryId+,picture?,delivery?,deliveryIncluded?,local_delivery_cost?,orderingTime?,((typePrefix?,vendor,vendorCode?,model,((provider,tarifplan?))?)|(author?,name,publisher?,series?,year?,ISBN?,volume?,part?,language?,binding?,page_extent?,table_of_contents?)|(author?,name,publisher?,series?,year?,ISBN?,volume?,part?,language?,table_of_contents?,performed_by?,performance_type?,storage?,format?,recording_length?)|(artist?,title,year?,media?,starring?,director?,originalName?,country?)|(worldRegion?,country?,region?,days,dataTour*,name,hotel_stars?,room?,meal?,included,transport,price_min?,price_max?,options?)|(name,place,hall?,hall_part?,date,is_premiere?,is_kids?)|(name,vendor?,vendorCode?)),aliases?,additional*,description?,sales_notes?,promo?,manufacturer_warranty?,country_of_origin?,downloadable?,adult?,barcode*,param*)'

Мой код выгрузки:
Код
<?php
include '../configuration.php';
$cfg = new JConfig();
$cfg_name = 'название';
$cfg_company = 'организация';
$cfg_url = 'МОЙ САЙТ';

$description_template = '{product_desc}';
// Ставка за клик (в центах)
$bid = '11';

$hostname = $cfg->host;
$username = $cfg->user;
$password = $cfg->password;
$dbName = $cfg->db;
$category = $cfg->dbprefix."vm_category";
$category_xref = $cfg->dbprefix."vm_category_xref";
$userstable = $cfg->dbprefix."vm_product";
$pricetable = $cfg->dbprefix."vm_product_price";
$product_category_xref = $cfg->dbprefix."vm_product_category_xref";
$product_discount = $cfg->dbprefix."vm_product_discount";

mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
mysql_select_db($dbName) or die(mysql_error());

mysql_query('set names cp1251');

echo"<?xml version=\"1.0\" encoding=\"windows-1251\"?>\n";
echo"<!DOCTYPE yml_catalog SYSTEM \"shops.dtd\">\n";
echo"<yml_catalog date=\"";
echo date('Y-m-d H:i');
echo"\">\n";
echo"<shop>\n";
echo"<name>$cfg_name</name>\n";
echo"<company>$cfg_company</company>\n";
echo"<url>$cfg_url</url>\n";

echo"<currencies>\n";
echo"<currency  id=\"RUR\" rate=\"1\"/>\n";
echo"<currency  id=\"USD\" rate=\"CBRF\"/>\n";
echo"<currency  id=\"EUR\" rate=\"CBRF\"/>\n";
echo"</currencies>\n";


echo"<categories>\n";
$query_cat = "SELECT * FROM $category_xref";
$res_cat = mysql_query($query_cat) or die(mysql_error());
$rw=1;
while ($row_cat=mysql_fetch_array($res_cat)) {
$cat_parent_id=$row_cat['category_parent_id'];
$cat_child_id=$row_cat['category_child_id'];
$query2 = "SELECT category_name FROM $category WHERE category_id=".$row_cat['category_child_id'];
$res_cat1 = mysql_query($query2) or die(mysql_error());
$name_cat=mysql_fetch_array($res_cat1);
$cat_name=$name_cat['category_name'];
if ($cat_parent_id==0) {
echo"<category id=\"".$cat_child_id."\">".$cat_name."</category>\n";
}
else {
echo"<category id=\"".$cat_child_id."\" parentId=\"".$cat_parent_id."\">".$cat_name."</category>\n";
}
$rw++;
}
echo"</categories>\n";


echo"<offers>\n";

$tb_product = $cfg->dbprefix."vm_product";
$tb_manufacturer = $cfg->dbprefix."vm_manufacturer";
$tb_product_mf_xref = $cfg->dbprefix."vm_product_mf_xref";
$tb_category = $cfg->dbprefix."vm_category";
$tb_product_category_xref = $cfg->dbprefix."vm_product_category_xref";
$tb_price = $cfg->dbprefix."vm_product_price";

$query = "
SELECT
$tb_product.product_id,
$tb_product.product_discount_id,
$tb_product.product_name,
$tb_manufacturer.mf_name,
$tb_manufacturer.manufacturer_id,
$tb_category.category_name,
$tb_category.category_id,
$tb_product_category_xref.category_id,
$tb_price.product_price,
$tb_price.product_currency,
$tb_product.product_sku,
$tb_product.product_in_stock,
$tb_product.product_unit,
$tb_product.product_full_image,
$tb_product.product_s_desc,
$tb_product.product_weight
FROM
($tb_product_category_xref
RIGHT JOIN ($tb_price
RIGHT JOIN (($tb_product_mf_xref
RIGHT JOIN $tb_product
ON $tb_product_mf_xref.product_id = $tb_product.product_id)
LEFT JOIN $tb_manufacturer
ON $tb_product_mf_xref.manufacturer_id = $tb_manufacturer.manufacturer_id)
ON $tb_price.product_id = $tb_product.product_id)
ON $tb_product_category_xref.product_id = $tb_product.product_id)
LEFT JOIN $tb_category
ON $tb_product_category_xref.category_id = $tb_category.category_id
WHERE $tb_product.product_publish='Y'
";

$row = d2a($query);
$product_log = Array();
for($i=0;$i<count($row);$i++) {
if (!in_array($row[$i]['product_id'],$product_log) AND ($row[$i]['product_price'])) {
$product_log[] = $row[$i]['product_id'];
//ссылка для sh404SEF
$url="http://$cfg_url/index.php?option=com_virtuemart&amp;Itemid=71&amp;category_id=".$row[$i]['category_id']."&amp;flypage=flypage.tpl&amp;lang=ru&amp;page=shop.product_details&amp;product_id=".$row[$i]['product_id'];
$product_full_image = "http://$cfg_url/components/com_virtuemart/shop_image/product/".$row[$i]['product_full_image'];
$tags = Array ('{product_name}','{product_desc}');
$repl = Array ($row[$i]['product_name'],$row[$i]['product_s_desc']);
$product_discount_id = $row[$i]['product_discount_id'];
$product_currency = $row[$i]['product_currency'];
$vendor = $row[$i]['mf_name'];
$product_price = substr($row[$i]['product_price'], 0, -3);
$product_cat_id=$row[$i]['category_id'];
echo"\n<offer id=\"".$row[$i]['product_id']."\" available=\"true\" bid=\"$bid\">\n";
echo"<url>".$url."</url>\n";
$mysql_product_discount = mysql_query("SELECT amount FROM $product_discount WHERE discount_id='$product_discount_id'");
while ($array_product_discount = mysql_fetch_array($mysql_product_discount) )
$product_price = $product_price - $product_price * $array_product_discount['amount']  / 100;
echo"<price>$product_price</price>\n";
if ($product_currency == "RUB"){
         echo"<currencyId>RUR</currencyId>\n";
        } else {
echo"<currencyId>$product_currency</currencyId>\n";
}
echo"<categoryId>".$product_cat_id."</categoryId>\n";
if ($row[$i]['product_full_image']){
        echo"<picture>".$product_full_image ."</picture>\n";
        } else {
}
echo"<delivery>true</delivery> \n";
echo"<vendor>".HtmlSpecialChars($vendor)."</vendor>\n";
echo"<name>".HtmlSpecialChars(strip_tags($row[$i]['product_name']))."</name>\n";
echo"<description>".HtmlSpecialChars(strip_tags(str_replace($tags,$repl,$description_template)))."</description>\n";
echo"</offer>\n";
}
}

echo"</offers>\n";
echo"</shop>\n";
echo"</yml_catalog>\n";

function d2a($query){
    $result = mysql_query($query) or die("Query failed : " . mysql_error());
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {$res[] = $line;}
    mysql_free_result($result);
    return $res;
}
?>
*

KeeperSergey

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Доброго времени суток. Помогите, пожалуйста, не работает выгрузка !
Joomla 1.5.14
VM 1.1.4

Я.маркет при загрузке выдает ошибку:

Определена кодировка: windows-1251 (строка 0, столбец 0)
Дата из файла: 2010-10-17 03:02 (строка 3, столбец 113)
[2010-10-17 04:02:51] (Fatal) [72:9] (Fatal) 521 Error parsing XML feed: Element 'name' is not valid for content model: '(url,buyurl?,price,wprice?,currencyId,xCategory?,categoryId+,picture?,delivery?,deliveryIncluded?,local_delivery_cost?,orderingTime?,((typePrefix?,vendor,vendorCode?,model,((provider,tarifplan?))?)|(author?,name,publisher?,series?,year?,ISBN?,volume?,part?,language?,binding?,page_extent?,table_of_contents?)|(author?,name,publisher?,series?,year?,ISBN?,volume?,part?,language?,table_of_contents?,performed_by?,performance_type?,storage?,format?,recording_length?)|(artist?,title,year?,media?,starring?,director?,originalName?,country?)|(worldRegion?,country?,region?,days,dataTour*,name,hotel_stars?,room?,meal?,included,transport,price_min?,price_max?,options?)|(name,place,hall?,hall_part?,date,is_premiere?,is_kids?)|(name,vendor?,vendorCode?)),aliases?,additional*,description?,sales_notes?,promo?,manufacturer_warranty?,country_of_origin?,downloadable?,adult?,barcode*,param*)'

Мой код выгрузки:
Код
<?php
include '../configuration.php';
$cfg = new JConfig();
$cfg_name = 'название';
$cfg_company = 'организация';
$cfg_url = 'МОЙ САЙТ';

$description_template = '{product_desc}';
// Ставка за клик (в центах)
$bid = '11';

$hostname = $cfg->host;
$username = $cfg->user;
$password = $cfg->password;
$dbName = $cfg->db;
$category = $cfg->dbprefix."vm_category";
$category_xref = $cfg->dbprefix."vm_category_xref";
$userstable = $cfg->dbprefix."vm_product";
$pricetable = $cfg->dbprefix."vm_product_price";
$product_category_xref = $cfg->dbprefix."vm_product_category_xref";
$product_discount = $cfg->dbprefix."vm_product_discount";

mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
mysql_select_db($dbName) or die(mysql_error());

mysql_query('set names cp1251');

echo"<?xml version=\"1.0\" encoding=\"windows-1251\"?>\n";
echo"<!DOCTYPE yml_catalog SYSTEM \"shops.dtd\">\n";
echo"<yml_catalog date=\"";
echo date('Y-m-d H:i');
echo"\">\n";
echo"<shop>\n";
echo"<name>$cfg_name</name>\n";
echo"<company>$cfg_company</company>\n";
echo"<url>$cfg_url</url>\n";

echo"<currencies>\n";
echo"<currency  id=\"RUR\" rate=\"1\"/>\n";
echo"<currency  id=\"USD\" rate=\"CBRF\"/>\n";
echo"<currency  id=\"EUR\" rate=\"CBRF\"/>\n";
echo"</currencies>\n";


echo"<categories>\n";
$query_cat = "SELECT * FROM $category_xref";
$res_cat = mysql_query($query_cat) or die(mysql_error());
$rw=1;
while ($row_cat=mysql_fetch_array($res_cat)) {
$cat_parent_id=$row_cat['category_parent_id'];
$cat_child_id=$row_cat['category_child_id'];
$query2 = "SELECT category_name FROM $category WHERE category_id=".$row_cat['category_child_id'];
$res_cat1 = mysql_query($query2) or die(mysql_error());
$name_cat=mysql_fetch_array($res_cat1);
$cat_name=$name_cat['category_name'];
if ($cat_parent_id==0) {
echo"<category id=\"".$cat_child_id."\">".$cat_name."</category>\n";
}
else {
echo"<category id=\"".$cat_child_id."\" parentId=\"".$cat_parent_id."\">".$cat_name."</category>\n";
}
$rw++;
}
echo"</categories>\n";


echo"<offers>\n";

$tb_product = $cfg->dbprefix."vm_product";
$tb_manufacturer = $cfg->dbprefix."vm_manufacturer";
$tb_product_mf_xref = $cfg->dbprefix."vm_product_mf_xref";
$tb_category = $cfg->dbprefix."vm_category";
$tb_product_category_xref = $cfg->dbprefix."vm_product_category_xref";
$tb_price = $cfg->dbprefix."vm_product_price";

$query = "
SELECT
$tb_product.product_id,
$tb_product.product_discount_id,
$tb_product.product_name,
$tb_manufacturer.mf_name,
$tb_manufacturer.manufacturer_id,
$tb_category.category_name,
$tb_category.category_id,
$tb_product_category_xref.category_id,
$tb_price.product_price,
$tb_price.product_currency,
$tb_product.product_sku,
$tb_product.product_in_stock,
$tb_product.product_unit,
$tb_product.product_full_image,
$tb_product.product_s_desc,
$tb_product.product_weight
FROM
($tb_product_category_xref
RIGHT JOIN ($tb_price
RIGHT JOIN (($tb_product_mf_xref
RIGHT JOIN $tb_product
ON $tb_product_mf_xref.product_id = $tb_product.product_id)
LEFT JOIN $tb_manufacturer
ON $tb_product_mf_xref.manufacturer_id = $tb_manufacturer.manufacturer_id)
ON $tb_price.product_id = $tb_product.product_id)
ON $tb_product_category_xref.product_id = $tb_product.product_id)
LEFT JOIN $tb_category
ON $tb_product_category_xref.category_id = $tb_category.category_id
WHERE $tb_product.product_publish='Y'
";

$row = d2a($query);
$product_log = Array();
for($i=0;$i<count($row);$i++) {
if (!in_array($row[$i]['product_id'],$product_log) AND ($row[$i]['product_price'])) {
$product_log[] = $row[$i]['product_id'];
//ссылка для sh404SEF
$url="http://$cfg_url/index.php?option=com_virtuemart&amp;Itemid=71&amp;category_id=".$row[$i]['category_id']."&amp;flypage=flypage.tpl&amp;lang=ru&amp;page=shop.product_details&amp;product_id=".$row[$i]['product_id'];
$product_full_image = "http://$cfg_url/components/com_virtuemart/shop_image/product/".$row[$i]['product_full_image'];
$tags = Array ('{product_name}','{product_desc}');
$repl = Array ($row[$i]['product_name'],$row[$i]['product_s_desc']);
$product_discount_id = $row[$i]['product_discount_id'];
$product_currency = $row[$i]['product_currency'];
$vendor = $row[$i]['mf_name'];
$product_price = substr($row[$i]['product_price'], 0, -3);
$product_cat_id=$row[$i]['category_id'];
echo"\n<offer id=\"".$row[$i]['product_id']."\" available=\"true\" bid=\"$bid\">\n";
echo"<url>".$url."</url>\n";
$mysql_product_discount = mysql_query("SELECT amount FROM $product_discount WHERE discount_id='$product_discount_id'");
while ($array_product_discount = mysql_fetch_array($mysql_product_discount) )
$product_price = $product_price - $product_price * $array_product_discount['amount']  / 100;
echo"<price>$product_price</price>\n";
if ($product_currency == "RUB"){
         echo"<currencyId>RUR</currencyId>\n";
        } else {
echo"<currencyId>$product_currency</currencyId>\n";
}
echo"<categoryId>".$product_cat_id."</categoryId>\n";
if ($row[$i]['product_full_image']){
        echo"<picture>".$product_full_image ."</picture>\n";
        } else {
}
echo"<delivery>true</delivery> \n";
echo"<vendor>".HtmlSpecialChars($vendor)."</vendor>\n";
echo"<name>".HtmlSpecialChars(strip_tags($row[$i]['product_name']))."</name>\n";
echo"<description>".HtmlSpecialChars(strip_tags(str_replace($tags,$repl,$description_template)))."</description>\n";
echo"</offer>\n";
}
}

echo"</offers>\n";
echo"</shop>\n";
echo"</yml_catalog>\n";

function d2a($query){
    $result = mysql_query($query) or die("Query failed : " . mysql_error());
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {$res[] = $line;}
    mysql_free_result($result);
    return $res;
}
?>

Употребляешь в названии компании символы " или &  ?
*

MxR

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Употребляешь в названии компании символы " или &  ?
Нет.  Есть названия некоторых товаров на укр. языке(незнаю влияет ли это).
*

kysin

  • Захожу иногда
  • 247
  • 4 / 0
Вопрос такой:
В CSVI VirtueMart в разделе "Экспорт" нажимаю кнопку экспорта и весь файл YML.xml выводится на экран, а не сохраняется в файле, как ему положено.
Это произошло после замены стандартного скрипта на скрипт из этого поста: http://joomlaforum.ru/index.php/topic,59209.msg363696.html#msg363696
Скрипт работает отлично, но вывод происходит на экран. Поэтому приходится копировать результаты в файл, сохранять в файл, заливать на хостинг.
Кто знает, почему не происходит сохранения? Заранее спасибо!
*

Alex Revo

  • Завсегдатай
  • 1995
  • 109 / 0
потому что скрипт так запрограммирован
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

1C УТ 8.x &lt;-&gt; VirtueMart по протоколу CommerceML

Автор Centoff

Ответов: 1315
Просмотров: 212363
Последний ответ 27.10.2020, 15:32:10
от Leo1986
Импорт из CSV товаров с типами и свойствами из

Автор Gruz

Ответов: 499
Просмотров: 150949
Последний ответ 23.02.2017, 15:15:42
от orchanin
Как импортировать файл XML в Joomla VirtueMart?

Автор Кот Смюлан

Ответов: 2
Просмотров: 5180
Последний ответ 14.07.2016, 18:40:24
от Berzerker
импорт товаров в YML Яндекс маркет

Автор zmeyx

Ответов: 5
Просмотров: 11476
Последний ответ 14.07.2016, 18:34:28
от Berzerker
Скрипт экспорта товаров в Яндекс маркет (yml)

Автор gaalferov

Ответов: 12
Просмотров: 11790
Последний ответ 08.06.2016, 14:02:27
от DimaXP