Новости Joomla

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

parap

  • Новичок
  • 7
  • 0 / 0
Как-то оно, когда подальше положишь - поближе возьмешь. ;-)
Так можно и вообще с безопасностью сайта перестать мудрить.
*

parap

  • Новичок
  • 7
  • 0 / 0
Кстати, для маркета и мерчанта только каналы разделяешь или содержимое файла тоже?
Мерчант когда голимый YML всасывает, говорит, что все нормально, но для полноты щастья надо бы еще рекомендованные поля добавить, хотя и не настаивает.
*

Alex Revo

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

Я разделяю на каждый канал список категорий. Да, с мерчантом были проблемы с этим, вводил доп.поля для него, а потом и вовсе сделал один файл на 17 товаров в экселе и крутил там.
*

parap

  • Новичок
  • 7
  • 0 / 0
У меня статичный файл лежит в отдельной папке с паролем по htaccess и htpasswd. Янндекс вебмастер и маркет прекрасно эти пароли кушают в своих настройках.

Так все-таки, кто-то может подсказать, как настроить yml.php в отдельной папке?
*

Alex Revo

  • Завсегдатай
  • 1995
  • 109 / 0
Переопредели переменные с путями для этого файла.
*

parap

  • Новичок
  • 7
  • 0 / 0
Это понятно. Вопрос как это сделать? Почему framework вдруг теряет определение конфигурационного файла?
*

pH43

  • Захожу иногда
  • 335
  • 8 / 1
 
Спасибо.Пробую на локальном сервере, прямо так ввожу localhost/ins...../ym_export.php  выдает ошибку:
This page contains the following errors:
error on line 2 at column 1: Extra content at the end of the document
Below is a rendering of the page up to the first error.
 

Такая же ошибка, как решили проблему?


Ниже кода ошибки  выдается список категорий и всё, код страницы выглядит так:

Код


<yml_catalog date="2015-06-25 17:55"><parsererror xmlns="http://www.w3.org/1999/xhtml" style="display: block; white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black"><h3>This page contains the following errors:</h3><div style="font-family:monospace;font-size:12px">error on line 21 at column 9: Extra content at the end of the document
</div><h3>Below is a rendering of the page up to the first error.</h3></parsererror>
<shop>
<name>название</name>
<company>компания</company>
<url>mysite.ru</url>
<currencies>
<currency id="RUR" rate="1"/>
<currency id="USD" rate="CBRF"/>
<currency id="EUR" rate="CBRF"/>
</currencies>
<categories>
<category id="1" parentId="6">Столы компьютерные</category>
<category id="2" parentId="6">Столы обеденные</category>
</categories>
<offers>

« Последнее редактирование: 25.06.2015, 18:05:13 от pH43 »
*

pH43

  • Захожу иногда
  • 335
  • 8 / 1
Как я понял, файл не может до конца сгенерироваться из-за какой-то ошибки. Joomla 3, JoomShopping 4.
С 21-ой строки, в которой написано <offers> идёт пустота.

Подскажите, поалуйста, как решить?

Цитата из топика:
Цитировать
UPD2 Проверили на Joomla 3 + JS 4  - возникает ошибка при выборке товаров, насколько я понял. Пока проблема присутствует.

Видимо, как раз эта ошибка и есть... Уважаемый разработчик, ещё не решили её?
« Последнее редактирование: 25.06.2015, 18:31:25 от pH43 »
*

Alex Revo

  • Завсегдатай
  • 1995
  • 109 / 0
Раз пустой оффер, значит неверно выбраны или обрабатываются данные из БД, нужно делать отладку кода, проверить сначала сам запрос, может поменялась структура БД
*

pH43

  • Захожу иногда
  • 335
  • 8 / 1
У кого-нибудь данный скрипт сработал в связке Joomla 3.3 + JoomShopping 4.3 ?


НАШЁЛ РЕШЕНИЕ!

Разобрался, сам себе верблюд. Вот где косяк был :)
Код
      WHERE {$tb_product}.product_publish='1' AND {$tb_product}.delivery_times_id='2' 
      GROUP BY {$tb_product}.product_id
      ";
     // Последнее значение в WHERE (после AND) поменяйте на своё или уберите совсем.
    //В моем случае это означает выгрузку только тех товаров, которые есть на складе.


Спасибо, SffD!

Отдельное спасибо разработчику!
« Последнее редактирование: 27.06.2015, 19:59:19 от pH43 »
*

azim

  • Захожу иногда
  • 113
  • 0 / 0
  • Добрый ТУРИСТ
Ребята а как бы скачать сам плагин, давненько ищу а бюджетом платный плагин не предусмотрен. Может кто поделится...
*

timson

  • Осваиваюсь на форуме
  • 43
  • 3 / 0
Ни у кого маркет не ругается, что выгружаются товары из неопубликованных категорий?
предложение для товара-то есть, а сайт ссылку не откроет, так как вся категория снята с публикации. А в файле не сделана проверка на опубликованность категории, к кторой относится товар.
*

Alex Revo

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

timson

  • Осваиваюсь на форуме
  • 43
  • 3 / 0
Нет, я просто не выбираю товары категория которых не опубликована.
каким образом, покажите пожалуйста
*

Alex Revo

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

WHERE {$tb_product}.product_publish='1' and {$category}.category_publish='1'
*

timson

  • Осваиваюсь на форуме
  • 43
  • 3 / 0
WHERE {$tb_product}.product_publish='1' and {$category}.category_publish='1'
Именно так, спасибо!
Не знал, что там уже выборка потенциально готова к таким вариантам выдачи.
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Народ кто решил проблему с
"This page contains the following errors:

error on line ххх at column х: Extra content at the end of the document
Below is a rendering of the page up to the first error."
?
На двух сайтах работает нормально на одном выдает эту гадость и все.
У меня нету вообще
Код
{$tb_product}.delivery_times_id='2'
Сама выборка в полном виде так
Код
$query = "
SELECT
{$extra_select}
{$tb_product}.product_id,
{$tb_product}.`name_ru-RU` as product_name,
{$tb_manufacturer}.`name_ru-RU` as mf_name,
{$tb_manufacturer}.`manufacturer_id`,
tmp.`category_id`,
{$tb_product}.`product_price`,
{$tb_product}.`product_publish` as product_publish,
{$tb_product}.`product_id` as product_sku,
{$tb_product}.`product_quantity`,
{$tb_product}.`product_full_image` as product_full_image,
{$tb_product}.`description_ru-RU` as product_s_desc
FROM
{$tb_product}
LEFT JOIN tmp ON {$tb_product}.product_id = tmp.product_id
LEFT JOIN {$tb_manufacturer}
ON {$tb_product}.product_manufacturer_id = {$tb_manufacturer}.manufacturer_id
 
WHERE {$tb_product}.product_publish='1'
GROUP BY {$tb_product}.product_id
";
Но доходит до <offers> и все стоп машина.
*

Alex Revo

  • Завсегдатай
  • 1995
  • 109 / 0
Сделайте отладку, перед запросом в базу выводите на экран сформированный запрос, потом в PMA можно попробовать его отладить и соотв. внести коррективы в построение запроса на сайте.
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Выдает ошибку Call to a member function fetch() on a non-object in <b>/public_html/yml.php</b> on line <b>125</b><br />
А это
Код
while ($row= $res->fetch(PDO::FETCH_ASSOC)) {
*

enable209

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Всем доброго времени суток, скажите, есть ли у кого то данный код в полностью доработанном виде? И можно ли получить пошаговую инструкцию "для чайников" по его установке, думаю данный вопрос будет актуален для многих. Заранее Спасибо!
*

Sanyo

  • Захожу иногда
  • 127
  • 11 / 0
Немного доработанный Joomla 3 + joomshoping 4

Код
<?php
header ("Content-Type:text/xml");

include 'configuration.php';
$cfg = new JConfig();

$cfg_name = '';
$cfg_company = $cfg->sitename; //Полное наименование компании, владеющей магазином. Не публикуется, используется для внутренней идентификации.
$cfg_url = ''; //URL-адрес главной страницы магазина без http://
$bid = '11'; // Ставка за клик (в центах)
$currency = 'RUR';
$hostname = $cfg->host;
$username = $cfg->user;
$password = $cfg->password;
$dbName = $cfg->db;
$category = $cfg->dbprefix."jshopping_categories";
$tb_product = $cfg->dbprefix."jshopping_products";
$tb_product_category_xref = $cfg->dbprefix."jshopping_products_to_categories";
$tb_product_image = $cfg->dbprefix."jshopping_products_images";
 
try {
    $pdo = new PDO("mysql:host={$hostname};dbname={$dbName}", $username, $password);
// Исправьте, если у вас другая кодировка в БД
$pdo->exec('SET NAMES utf8');
 
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\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 "</currencies>\n";
 
// Секция категорий
echo "<categories>\n";
$res = $pdo->query("SELECT * FROM $category WHERE category_publish = 1");
while ($row_cat= $res->fetch(PDO::FETCH_ASSOC)) {
$cat_parent_id=$row_cat['category_parent_id'];
$parent = ($cat_parent_id != 0)? " parentId=\"{$cat_parent_id}\"" : "";
echo "<category id=\"{$row_cat['category_id']}\"{$parent}>{$row_cat['name_ru-RU']}</category>\n";
}
unset($res);
echo"</categories>\n";
 
// Секция описания товаров
echo"<offers>\n";
 
 
$res = $pdo->query("SELECT id, `name_ru-RU` as name FROM {$cfg->dbprefix}jshopping_products_extra_fields");

$extra_select = '';
$extra_info = $res->fetchAll(PDO::FETCH_ASSOC);

if($extra_info){
foreach($extra_info as $ei){
$extra_select .= "{$tb_product}.extra_field_{$ei['id']},";
}
}
$query = "
SELECT
{$extra_select}
{$tb_product}.product_id,
{$tb_product}.`name_ru-RU` as product_name,
{$tb_product}.`product_price`,
{$tb_product}.`product_id` as product_sku,
{$tb_product}.`product_quantity`,
(SELECT image_name FROM {$tb_product_image} as pi WHERE pi.product_id = {$tb_product}.product_id ORDER BY ordering LIMIT 0,1) as product_full_image,
{$category}.category_id,
{$category}.category_publish,
{$tb_product}.`short_description_ru-RU` as product_s_desc
FROM
{$tb_product}
LEFT JOIN
{$category} ON
{$category}.category_id = (SELECT category_id FROM {$tb_product_category_xref} WHERE {$tb_product_category_xref}.product_id = {$tb_product}.product_id LIMIT 0,1)

WHERE {$tb_product}.product_publish='1' AND category_publish = 1
GROUP BY {$tb_product}.product_id
";

$product_log = Array();
$res = $pdo->query($query);
while ($row= $res->fetch(PDO::FETCH_ASSOC)) {
if (!in_array($row['product_id'],$product_log) && ($row['product_price']) && $row['product_price'] > 0) {
$product_log[] = $row['product_id'];
$product_price = substr($row['product_price'], 0, -3);
echo "\n<offer id=\"".$row['product_id']."\" available=\"true\" bid=\"$bid\">\n";
echo "<url>http://$cfg_url/component/jshopping/product/view/{$row['category_id']}/{$row['product_id']}</url>\n";
echo "<price>$product_price</price>\n";
// Валюта в которой указаны Ваши цены
echo "<currencyId>".$currency."</currencyId>\n";
echo "<categoryId>".$row['category_id']."</categoryId>\n";
 
if(!empty($row['product_full_image'])) {
echo "<picture>http://$cfg_url/components/com_jshopping/files/img_products/{$row['product_full_image']}</picture>\n";
}
 
// Возможность доставки
echo "<delivery>true</delivery> \n";
echo "<name>".$row['product_name']."</name>\n";
// echo "<description>".htmlspecialchars(strip_tags($row['product_s_desc']))."</description>\n";

if($extra_info){
foreach($extra_info as $ei){
if($row['extra_field_'.$ei['id']])
echo "<param name=\"{$ei['name']}\">".htmlspecialchars($row['extra_field_'.$ei['id']])."</param>\n";
}
}

echo "</offer>\n";
}
}
 
 
echo"</offers>\n";
echo"</shop>\n";
echo"</yml_catalog>\n";
 
} catch (Exception $e) {
    echo $e->getMessage();
}
 
?>
*

P_B

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Добрый день.

У меня заработало, но в значениях параметров товара выводятся цифры вместо слов

Код
<offers>
<offer id="23" available="true" bid="11">
<url>
http://site.com/component/jshopping/product/view/17/23
</url>
<price>75299.000</price>
<currencyId>UAH</currencyId>
<categoryId>17</categoryId>
<picture>
http://site.com/components/com_jshopping/files/img_products/CSVE9NKE-600x600.png
</picture>
<delivery>true</delivery>
<name>Кондиционер Panasonic CS-VE9NKE / CU-VE9NKE</name>
<param name="Класс">1</param>
<param name="Площадь помещения (кв.м.)">2</param>
<param name="Мощность охлаждения (кВт.)">3</param>
<param name="Мощность обогрева (кВт)">4</param>
<param name="Инверторное управление">5</param>
<param name="Потребляемая мощность (кВт)">0,51</param>
<param name="Тип хладагента">7</param>
<param name="Размеры внутреннего блока">870x290x214</param>
<param name="Размеры наружного блока">780x542x289</param>
<param name="Минимальный уровень шума внутреннего блока (ДБ)">20</param>
<param name="Наличие и типы фильтров">8</param>
<param name="Антибактериальное поктытие">9</param>
<param name="Цвет">11</param>
<param name="Дополнительные опции">12</param>
<param name="Гарантия (мес.)">15</param>
<param name="Страна производитель">19</param>
</offer>
*

Satool

  • Захожу иногда
  • 139
  • 2 / 0
P_B
Все верно вроде.

Ваш код:
<param name="Размеры наружного блока">780x542x289</param>

Требование ЯМ
<param name="Цвет">Красный</param>
*

P_B

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Вот как раз про цвет.

<param name="Цвет">11</param>

Указано "11", а должно быть "Белый"
*

Satool

  • Захожу иногда
  • 139
  • 2 / 0
Вот как раз про цвет.

<param name="Цвет">11</param>

Указано "11", а должно быть "Белый"

Прошу прощения за вздор)))
У Вас в характеристиках точно "Белый" указан?

Скрипт берет данные из одной таблицы, там же где и размеры указаны.
он не может размеры выводить правильно а цвет нет.
*

P_B

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Если у характеристики товара тип "Список", то выводится id опции.

Если же у характеристики товара тип "Текст", то выводится все правильно.


UPD.

Все! Понял!
Данные параметры указаны в отдельной таблице: jshopping_products_extra_fields

Вот только не знаю как заставить его выводить оттуда значения. Не хватает навыков.

« Последнее редактирование: 27.10.2015, 18:19:56 от P_B »
*

Alex Revo

  • Завсегдатай
  • 1995
  • 109 / 0
А в jshopping_products_extra_fields только имя хранится или и значение рядом?
*

P_B

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
В таблице jshopping_products в extra_field указаны имена опций.
Одни указаны как id с таблицы jshopping_products_extra_fields(тип опции "Список"), а другие как реальное значение(тип опции "Текст")

В таблице jshopping_products_extra_fields указаны id и название опции.

*Извините, если не совсем ясно рассказал

*

Alex Revo

  • Завсегдатай
  • 1995
  • 109 / 0
Я понял, получается, что в одном случае из базы может идти текст, а в другом id опции из другой таблицы?
Наверняка где-то прописана структура подчиненности опций, нужно от нее отталкиваться.
*

P_B

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Да, верно.

Подскажите где поискать эту структуру?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Импорт/экспорт

Автор apirat

Ответов: 903
Просмотров: 181317
Последний ответ 17.06.2022, 21:10:28
от marksetter
Интеграция с Yandex.Market (заказы)

Автор Mikle_Shaman

Ответов: 10
Просмотров: 1386
Последний ответ 27.04.2022, 10:14:17
от Mikle_Shaman
Импорт товаров в Яндекс.Объявления

Автор demll

Ответов: 1
Просмотров: 1415
Последний ответ 04.02.2021, 09:32:19
от khan-alex
Для настройки Яндекс Маркет

Автор stardel

Ответов: 6
Просмотров: 2632
Последний ответ 03.12.2019, 20:00:35
от zikkuratvk
Перенос товаров из магазнина на Joomla 2.5 на Joomla 3.9

Автор dron

Ответов: 3
Просмотров: 1701
Последний ответ 09.04.2019, 14:27:51
от nevigen