Joomla 3.x Ошибка при создании *.yml

Тема в разделе "Ошибки при работе с Joomla", создана пользователем sasha198407, 26.01.2017.

  1. Offline

    sasha198407 Недавно здесь

    Регистрация:
    25.03.2011
    Сообщения:
    15
    Симпатии:
    0
    Пол:
    Мужской
    Создаю yml файл, ну как создаю... здернул код и точу под себя. Joomla 3.4.8 Virtuemart 3.0.12
    Код (CODE):
    1. <?php
    2. //***********************************************************
    3. //
    4. // Версия коннектора к Yandex.Market от 18.04.2009
    5. // автор доработок Саид Дашук (dashuk@ngs.ru)
    6. //
    7. // Доработки:
    8. // 1. Подключение к настройкам Joomla (теперь не надо прописывать реквизиты доступа к БД,
    9. //         а достаточно указать конфигурационный файл 'configuration.php')
    10. // 2. Добавлены комментарии для новичков
    11. // 3. ВЫБОРКА ВСЕХ ТОВАРОВ ПРОИСХОДИТ ОДНИМ ЗАПРОСОМ!
    12. // 4. Добавлен шаблон для описания товара (тег <description>)
    13. // 5. Курсы валют, приравнены к курсу ЦБРФ
    14. // 6. Добавлены теги "доставка" и "производитель" (просто мне они нужны, а Вы решайте сами)
    15. // а также: форматирование для удобства кода и вывода и еще что то по мелочам.
    16. //
    17. // Проверялось на Joomla! 1.5.9 Production/Stable / VirtueMart 1.1.2 stable
    18. //
    19. //***********************************************************
    20.  
    21.  
    22. // Пропишите относительный путь к 'configuration.php' (он находится в корне Joomla)
    23. // Например: include '../configuration.php';
    24. include 'configuration.php';
    25. $cfg = new JConfig();
    26.  
    27. //NAME - Короткое название магазина (название, которое выводится в списке найденных на Яндекс.Маркете товаров.
    28. //Не должно содержать более 20 символов). Нельзя использовать слова, не имеющие отношения к
    29. //наименованию магазина ("лучший", "дешевый"), указывать номер телефона и т.п. Название магазина,
    30. //должно совпадать с фактическим названием магазина, которое публикуется на сайте. При несоблюдении
    31. //данного требования наименование может быть изменено Яндексом самостоятельно без уведомления Клиента.
    32. $cfg_name = $cfg->fromname;
    33.  
    34. //Полное наименование компании, владеющей магазином. Не публикуется, используется для внутренней идентификации.
    35. $cfg_company = $cfg->sitename;
    36.  
    37. //URL-адрес главной страницы магазина без http://
    38. $cfg_url = 'domain.ru';
    39.  
    40. // Шаблон для описания товара
    41. // Вместо {product_name} - будет вставлено наименование товара
    42. // Вместо {product_desc} - будет вставлено краткое описание
    43. // ПРИМЕР:
    44. // $description_template = '{product_name} от производителя';
    45. $description_template = '{product_desc}';
    46.  
    47. // Ставка за клик (в центах)
    48. $bid = '11';
    49.  
    50.  
    51. $hostname                 = $cfg->host;
    52. $username                 = $cfg->user;
    53. $password                 = $cfg->password;
    54. $dbName                 = $cfg->db;
    55. $category                 = $cfg->dbprefix."vm_category";
    56. $category_xref             = $cfg->dbprefix."vm_category_xref";
    57. $userstable             = $cfg->dbprefix."vm_product";
    58. $pricetable             = $cfg->dbprefix."vm_product_price";
    59. $product_category_xref     = $cfg->dbprefix."vm_product_category_xref";
    60.  
    61. mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
    62. mysql_select_db($dbName) or die(mysql_error());
    63.  
    64. // Исправьте, если у вас другая кодировка в БД
    65. mysql_query('set names utf8');
    66.  
    67. echo"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
    68. echo"<!DOCTYPE yml_catalog SYSTEM \"shops.dtd\">\n";
    69. echo"<yml_catalog date=\"";
    70. echo date('Y-m-d H:i');
    71. echo"\">\n";
    72. echo"<shop>\n";
    73. echo"<name>$cfg_name</name>\n";
    74. echo"<company>$cfg_company</company>\n";
    75. echo"<url>$cfg_url</url>\n";
    76.  
    77. // курсы валют, приравнены к курсу ЦБРФ
    78. echo"<currencies>\n";
    79. echo"<currency  id=\"RUR\" rate=\"1\"/>\n";
    80. echo"<currency  id=\"USD\" rate=\"CBRF\"/>\n";
    81. echo"<currency  id=\"EUR\" rate=\"CBRF\"/>\n";
    82. echo"</currencies>\n";
    83.  
    84. // Секция категорий
    85. echo"<categories>\n";
    86. $query_cat = "SELECT * FROM $category_xref";
    87. $res_cat = mysql_query($query_cat) or die(mysql_error());
    88. $rw=1;
    89. while ($row_cat=mysql_fetch_array($res_cat)) {
    90.     $cat_parent_id=$row_cat['category_parent_id'];
    91.     $cat_child_id=$row_cat['category_child_id'];
    92.     $query2 = "SELECT category_name FROM $category WHERE category_id=".$row_cat['category_child_id'];
    93.     $res_cat1 = mysql_query($query2) or die(mysql_error());
    94.     $name_cat=mysql_fetch_array($res_cat1);
    95.     $cat_name=$name_cat['category_name'];
    96.     if ($cat_parent_id==0) {
    97.         echo"<category id=\"".$cat_child_id."\">".$cat_name."</category>\n";
    98.     }
    99.     else {
    100.         echo"<category id=\"".$cat_child_id."\" parentId=\"".$cat_parent_id."\">".$cat_name."</category>\n";
    101.     }
    102.     $rw++;
    103. }
    104. echo"</categories>\n";
    105.  
    106. // Секция описания товаров
    107. echo"<offers>\n";
    108.  
    109. $tb_product                 = $cfg->dbprefix."vm_product";
    110. $tb_manufacturer            = $cfg->dbprefix."vm_manufacturer";
    111. $tb_product_mf_xref         = $cfg->dbprefix."vm_product_mf_xref";
    112. $tb_category                = $cfg->dbprefix."vm_category";
    113. $tb_product_category_xref    = $cfg->dbprefix."vm_product_category_xref";
    114. $tb_price                    = $cfg->dbprefix."vm_product_price";
    115.  
    116. $query = "
    117. SELECT
    118.     $tb_product.product_id,
    119.     $tb_product.product_name,
    120.     $tb_manufacturer.mf_name,
    121.     $tb_manufacturer.manufacturer_id,
    122.     $tb_category.category_name,
    123.     $tb_category.category_id,
    124.     $tb_product_category_xref.category_id,
    125.     $tb_price.product_price,
    126.     $tb_product.product_sku,
    127.     $tb_product.product_in_stock,
    128.     $tb_product.product_unit,
    129.     $tb_product.product_full_image,
    130.     $tb_product.product_s_desc,
    131.     $tb_product.product_weight
    132. FROM
    133.     ($tb_product_category_xref
    134. RIGHT JOIN ($tb_price
    135. RIGHT JOIN (($tb_product_mf_xref
    136. RIGHT JOIN $tb_product
    137. ON $tb_product_mf_xref.product_id = $tb_product.product_id)
    138. LEFT JOIN $tb_manufacturer
    139. ON $tb_product_mf_xref.manufacturer_id = $tb_manufacturer.manufacturer_id)
    140. ON $tb_price.product_id = $tb_product.product_id)
    141. ON $tb_product_category_xref.product_id = $tb_product.product_id)
    142. LEFT JOIN $tb_category
    143. ON $tb_product_category_xref.category_id = $tb_category.category_id
    144. WHERE $tb_product.product_publish='Y'
    145. ";
    146.  
    147. $row = d2a($query);
    148. $product_log = Array();
    149. for($i=0;$i<count($row);$i++) {
    150.     if (!in_array($row[$i]['product_id'],$product_log) AND ($row[$i]['product_price'])) {
    151.         $product_log[] = $row[$i]['product_id'];
    152.  
    153.         $url="http://$cfg_url/index.php?page=shop.product_details&amp;flypage=shop.flypage&amp;option=com_virtuemart&amp;product_id=".$row[$i]['product_id'];
    154.         //$url="http://$cfg_url/client?page=shop.product_details&flypage=flypage-ask.tpl&product_id=".$row[$i]['product_id']."&category_id=".$row[$i]['category_id']."&manufacturer_id=".$row[$i]['manufacturer_id'];
    155.  
    156.         $product_full_image = "http://$cfg_url/components/com_virtuemart/shop_image/product/".$row[$i]['product_full_image'];
    157.         $tags = Array ('{product_name}','{product_desc}');
    158.         $repl = Array ($row[$i]['product_name'],$row[$i]['product_s_desc']);
    159.         $product_price = substr($row[$i]['product_price'], 0, -3);
    160.         $product_cat_id=$row[$i]['category_id'];
    161.         echo"\n<offer id=\"".$row[$i]['product_id']."\" available=\"true\" bid=\"$bid\">\n";
    162.         echo"<url>".$url."</url>\n";
    163.         echo"<price>$product_price</price>\n";
    164.         // Валюта в которой указаны Ваши цены
    165.         echo"<currencyId>RUR</currencyId>\n";
    166.         echo"<categoryId>".$product_cat_id."</categoryId>\n";
    167.         echo"<picture>".$product_full_image ."</picture>\n";
    168.         // Возможность доставки
    169.         echo"<delivery>true</delivery> \n";
    170.         echo"<name>".strip_tags($row[$i]['product_name'])."\"</name>\n";
    171.         echo"<description>".strip_tags(str_replace($tags,$repl,$description_template))."</description>\n";
    172.         echo"</offer>\n";
    173.     }
    174. }
    175.  
    176. echo"</offers>\n";
    177. echo"</shop>\n";
    178. echo"</yml_catalog>\n";
    179.  
    180. function d2a($query){
    181.     $result = mysql_query($query) or die("Query failed : " . mysql_error());
    182.     while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {$res[] = $line;}
    183.     mysql_free_result($result);
    184.     return $res;
    185. }
    186.  
    187. ?>

    .htpaccess
    Код (CODE):
    1. IndexIgnore *
    2.  
    3. Options +FollowSymlinks
    4. Options -Indexes
    5.  
    6. RewriteEngine On
    7.  
    8. RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
    9.  
    10. RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
    11.  
    12. RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    13.  
    14. RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    15.  
    16. RewriteRule .* index.php [F]
    17.  
    18. # RewriteBase /
    19.  
    20. RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    21.  
    22. RewriteCond %{REQUEST_URI} !^/index\.php
    23.  
    24. RewriteCond %{REQUEST_FILENAME} !-f
    25.  
    26. RewriteCond %{REQUEST_FILENAME} !-d
    27.  
    28. RewriteRule .* index.php [L]
    29.  
    30. AddHandler x-httpd-php5 .yml
    31.  
    32. <FilesMatch "\.(yml|php)$">
    33. SetHandler application/x-httpd-php
    34. </FilesMatch>

    при открытии domain.ru/market.yml мне выдает
    Код (CODE):
    1. Имя магазина Имя магазина domain.ru Table 'nameDB.gqka7_vm_category_xref' doesn't exist


    в чем может быть проблема?
     
  2.  

Поделиться этой страницей

Загрузка...