Jump to content
xt:Commerce Community Forum

Froogle Export funzt nicht


Papasito

Recommended Posts

Hallo XTC USER!

Ich habe seit 2 Wochen folgendes Problem... Vielleicht kann mir ja einer helfen.

Froogle nimmt meine froogle.txt nicht mehr an (Daten-Feeds)

Es kommt die Meldung: "Diesem Artikel fehlt ein empfohlenes Attribut. Binden Sie diese Information in Ihren Feed ein, sofern sie für Ihren Artikel verfügbar ist."

So sieht meine Exportdatei aus: http://www.xotec.de/export/froogle2.txt

Und so froogle.php

<?php
/* -----------------------------------------------------------------------------------------
$Id: froogle.php 1188 2005-08-28 14:24:34Z matthias $

XT-Commerce - community made shopping
http://www.xt-commerce.com

Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(cod.php,v 1.28 2003/02/14); www.oscommerce.com
(c) 2003 nextcommerce (invoice.php,v 1.6 2003/08/24); www.nextcommerce.org

Released under the GNU General Public License
---------------------------------------------------------------------------------------*/
defined( '_VALID_XTC' ) or die( 'Direct Access to this location is not allowed.' );

define('MODULE_FROOGLE_TEXT_DESCRIPTION', 'Export - Froogle.de (Tab getrennt)');
define('MODULE_FROOGLE_TEXT_TITLE', 'Froogle.de - TXT');
define('MODULE_FROOGLE_FILE_TITLE' , '<hr noshade>Dateiname');
define('MODULE_FROOGLE_FILE_DESC' , 'Geben Sie einen Dateinamen ein, falls die Exportadatei am Server gespeichert werden soll.<br>(Verzeichnis export/)');
define('MODULE_FROOGLE_STATUS_DESC','Modulstatus');
define('MODULE_FROOGLE_STATUS_TITLE','Status');
define('MODULE_FROOGLE_CURRENCY_TITLE','Währung');
define('MODULE_FROOGLE_CURRENCY_DESC','Welche Währung soll exportiert werden?');
define('EXPORT_YES','Nur Herunterladen');
define('EXPORT_NO','Am Server Speichern');
define('CURRENCY','<hr noshade><b>Währung:</b>');
define('CURRENCY_DESC','Währung in der Exportdatei');
define('EXPORT','Bitte den Sicherungsprozess AUF KEINEN FALL unterbrechen. Dieser kann einige Minuten in Anspruch nehmen.');
define('EXPORT_TYPE','<hr noshade><b>Speicherart:</b>');
define('EXPORT_STATUS_TYPE','<hr noshade><b>Kundengruppe:</b>');
define('EXPORT_STATUS','Bitte wählen Sie die Kundengruppe, die Basis für den Exportierten Preis bildet. (Falls Sie keine Kundengruppenpreise haben, wählen Sie <i>Gast</i>):</b>');
define('CAMPAIGNS','<hr noshade><b>Kampagnen:</b>');
define('CAMPAIGNS_DESC','Mit Kampagne zur Nachverfolgung verbinden.');
define('DATE_FORMAT_EXPORT', '%d.%m.%Y'); // this is used for strftime()

// include needed functions


class froogle {
var $code, $title, $description, $enabled;


function froogle() {
global $order;

$this->code = 'froogle';
$this->language = 'de';
$this->title = MODULE_FROOGLE_TEXT_TITLE;
$this->description = MODULE_FROOGLE_TEXT_DESCRIPTION;
$this->sort_order = MODULE_FROOGLE_SORT_ORDER;
$this->enabled = ((MODULE_FROOGLE_STATUS == 'True') ? true : false);
$this->CAT=array();
$this->PARENT=array();

}


function process($file) {

@xtc_set_time_limit(0);
require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'xtcPrice.php');
$xtPrice = new xtcPrice($_POST['currencies'],$_POST['status']);

$schema = 'product_url'."\t" .'name'."\t".'description'."\t".'image_url'."\t".'category'."\t".'price'."\t".'brand'. "\n";
$export_query =xtc_db_query("SELECT
p.products_id,
pd.products_name,
pd.products_description,
p.products_model,
p.products_image,
p.products_price,
p.products_status,
p.products_date_available,
p.products_shippingtime,
p.products_discount_allowed,
pd.products_meta_keywords,
p.products_tax_class_id,
p.products_date_added,
m.manufacturers_name
FROM
" . TABLE_PRODUCTS . " p LEFT JOIN
" . TABLE_MANUFACTURERS . " m
ON p.manufacturers_id = m.manufacturers_id LEFT JOIN
" . TABLE_PRODUCTS_DESCRIPTION . " pd
ON p.products_id = pd.products_id AND
pd.language_id = '".$_SESSION['languages_id']."' LEFT JOIN
" . TABLE_SPECIALS . " s
ON p.products_id = s.products_id
WHERE
p.products_status = 1 AND
p.products_price > 0
ORDER BY
p.products_date_added DESC,
pd.products_name");


while ($products = xtc_db_fetch_array($export_query)) {

$products_price = $xtPrice->xtcGetPrice($products['products_id'],
$format=false,
1,
$products['products_tax_class_id'],
'');

// get product categorie
$categorie_query=xtc_db_query("SELECT
categories_id
FROM ".TABLE_PRODUCTS_TO_CATEGORIES."
WHERE products_id='".$products['products_id']."'");
while ($categorie_data=xtc_db_fetch_array($categorie_query)) {
$categories=$categorie_data['categories_id'];
}


// remove trash
$products_description = str_replace("<br>"," ",$products_description);
$products_description = str_replace("<br />"," ",$products_description);
$products_description = strip_tags($products['products_description']);
$products_description = str_replace(";",", ",$products_description);
$products_description = str_replace("'",", ",$products_description);
$products_description = str_replace("\n"," ",$products_description);
$products_description = str_replace("\r"," ",$products_description);
$products_description = str_replace("\t"," ",$products_description);
$products_description = str_replace("\v"," ",$products_description);
$products_description = str_replace("&quot,"," \"",$products_description);
$products_description = str_replace("&qout,"," \"",$products_description);
$products_description = str_replace(chr(13)," ",$products_description);
$products_description = substr($products_description, 0, 65536);

//-- SNAKELAB ----//
$cat = strip_tags($this->buildCAT($categories));
require_once(DIR_FS_INC . 'xtc_href_link_from_admin.inc.php');
$link = xtc_href_link_from_admin('product_info.php', 'products_id=' . $products['products_id']);
(preg_match("/\?/",$link)) ? $link .= '&' : $link .= '?';
$link .= 'referer='.$this->code;
(!empty($_POST['campaign']))
? $link .= '&'.$_POST['campaign']
: false;
$link .= '&language='.$this->language;
//-- SNAKELAB ----//


if ($products['products_image'] != ''){
$image = HTTP_CATALOG_SERVER . DIR_WS_CATALOG_ORIGINAL_IMAGES .$products['products_image'];
}else{
$image = '';
}

//create content
$schema .=
$link."\t".
$products['products_name'] ."\t".
$products_description ."\t".
$image ."\t" .
substr($cat,0,strlen($cat)-2). "\t" .
number_format($products_price,2,'.',''). "\t" .
$products['manufacturers_name'] ."\n";


}
// create File
$fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file, "w+");
fputs($fp, $schema);
fclose($fp);


switch ($_POST['export']) {
case 'yes':
// send File to Browser
$extension = substr($file, -3);
$fp = fopen(DIR_FS_DOCUMENT_ROOT.'export/' . $file,"rb");
$buffer = fread($fp, filesize(DIR_FS_DOCUMENT_ROOT.'export/' . $file));
fclose($fp);
header('Content-type: application/x-octet-stream');
header('Content-disposition: attachment; filename=' . $file);
echo $buffer;
exit;

break;
}

}

function buildCAT($catID)
{

if (isset($this->CAT[$catID]))
{
return $this->CAT[$catID];
} else {
$cat=array();
$tmpID=$catID;

while ($this->getParent($catID)!=0 || $catID!=0)
{
$cat_select=xtc_db_query("SELECT categories_name FROM ".TABLE_CATEGORIES_DESCRIPTION." WHERE categories_id='".$catID."' and language_id='".$_SESSION['languages_id']."'");
$cat_data=xtc_db_fetch_array($cat_select);
$catID=$this->getParent($catID);
$cat[]=$cat_data['categories_name'];

}
$catStr='';
for ($i=count($cat);$i>0;$i--)
{
$catStr.=$cat[$i-1].' > ';
}
$this->CAT[$tmpID]=$catStr;
return $this->CAT[$tmpID];
}
}

function getParent($catID)
{
if (isset($this->PARENT[$catID]))
{
return $this->PARENT[$catID];
} else {
$parent_query=xtc_db_query("SELECT parent_id FROM ".TABLE_CATEGORIES." WHERE categories_id='".$catID."'");
$parent_data=xtc_db_fetch_array($parent_query);
$this->PARENT[$catID]=$parent_data['parent_id'];
return $parent_data['parent_id'];
}
}

function display() {

$customers_statuses_array = xtc_get_customers_statuses();

// build Currency Select
$curr='';
$currencies=xtc_db_query("SELECT code FROM ".TABLE_CURRENCIES);
while ($currencies_data=xtc_db_fetch_array($currencies)) {
$curr.=xtc_draw_radio_field('currencies', $currencies_data['code'],true).$currencies_data['code'].'<br>';
}

$campaign_array = array(array('id' => '', 'text' => TEXT_NONE));
$campaign_query = xtc_db_query("select campaigns_name, campaigns_refID from ".TABLE_CAMPAIGNS." order by campaigns_id");
while ($campaign = xtc_db_fetch_array($campaign_query)) {
$campaign_array[] = array ('id' => 'refID='.$campaign['campaigns_refID'].'&', 'text' => $campaign['campaigns_name'],);
}

return array('text' => EXPORT_STATUS_TYPE.'<br>'.
EXPORT_STATUS.'<br>'.
xtc_draw_pull_down_menu('status',$customers_statuses_array, '1').'<br>'.
CURRENCY.'<br>'.
CURRENCY_DESC.'<br>'.
$curr.
CAMPAIGNS.'<br>'.
CAMPAIGNS_DESC.'<br>'.
xtc_draw_pull_down_menu('campaign',$campaign_array).'<br>'.
EXPORT_TYPE.'<br>'.
EXPORT.'<br>'.
xtc_draw_radio_field('export', 'no',false).EXPORT_NO.'<br>'.
xtc_draw_radio_field('export', 'yes',true).EXPORT_YES.'<br>'.
'<br>' . xtc_button(BUTTON_EXPORT) .
xtc_button_link(BUTTON_CANCEL, xtc_href_link(FILENAME_MODULE_EXPORT, 'set=' . $_GET['set'] . '&module=froogle')));


}

function check() {
if (!isset($this->_check)) {
$check_query = xtc_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_FROOGLE_STATUS'");
$this->_check = xtc_db_num_rows($check_query);
}
return $this->_check;
}

function install() {
xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_FROOGLE_FILE', 'froogle.txt', '6', '1', '', now())");
xtc_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('MODULE_FROOGLE_STATUS', 'True', '6', '1', 'xtc_cfg_select_option(array(\'True\', \'False\'), ', now())");
}

function remove() {
xtc_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
}

function keys() {
return array('MODULE_FROOGLE_STATUS','MODULE_FROOGLE_FILE');
}

}
?>[/PHP]

Danke schonmal für die Mühe :)

Liebe Grüsse aus Köln!

Link to comment
Share on other sites

  • 4 weeks later...

Hallo! Ich habe das gleiche Problem, die ganze zeit funktioniert es und auf einmal bekomme ich folgende fehlermeldung:

Kann mir jemand einen Tip geben was ich machen kann dagegen!?

Fehlgeschlagen

Daten-Feed-Upload fehlgeschlagen Es wurden keine Artikel veröffentlicht.

Details zum Eingabedateistatus

Ergebnis: Daten-Feed-Upload fehlgeschlagen Es wurden keine Artikel veröffentlicht. Hilfe

Anzahl der verarbeiteten Artikel: 1822

Anzahl der eingefügten Artikel: 0

Hochgeladen um: 18.06.2008 09:42 CEST

Bearbeitet am 18.06.2008 09:43 CEST

Fehler:

Fehler Falsche Daten Zeilen-Nr.

Die Kopfzeile Ihrer Datei konnte nicht erkannt werden. Stellen Sie sicher, dass Sie gültige Attributnamen verwenden. Hilfe

category

1

Wir empfehlen, dieses Attribut einzubinden. Hilfe

mpn

1659

Wir empfehlen, dieses Attribut einzubinden. Hilfe

ean

1659

Wir empfehlen, dieses Attribut einzubinden. Hilfe

zustand

1659

Wir empfehlen, dieses Attribut einzubinden. Hilfe

isbn

1659

Wir empfehlen, dieses Attribut einzubinden. Hilfe

marke

1659

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

id

1659

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

beschreibung

1659

Wir empfehlen, dieses Attribut einzubinden. Hilfe

mpn

71

Wir empfehlen, dieses Attribut einzubinden. Hilfe

ean

71

Wir empfehlen, dieses Attribut einzubinden. Hilfe

zustand

71

Wir empfehlen, dieses Attribut einzubinden. Hilfe

isbn

71

Wir empfehlen, dieses Attribut einzubinden. Hilfe

marke

71

Wir empfehlen, dieses Attribut einzubinden. Hilfe

image link

71

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

id

71

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

beschreibung

71

Wir empfehlen, dieses Attribut einzubinden. Hilfe

mpn

747

Wir empfehlen, dieses Attribut einzubinden. Hilfe

ean

747

Wir empfehlen, dieses Attribut einzubinden. Hilfe

zustand

747

Wir empfehlen, dieses Attribut einzubinden. Hilfe

isbn

747

Wir empfehlen, dieses Attribut einzubinden. Hilfe

marke

747

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

id

747

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

beschreibung

747

Wir empfehlen, dieses Attribut einzubinden. Hilfe

mpn

1452

Wir empfehlen, dieses Attribut einzubinden. Hilfe

ean

1452

Wir empfehlen, dieses Attribut einzubinden. Hilfe

zustand

1452

Wir empfehlen, dieses Attribut einzubinden. Hilfe

isbn

1452

Wir empfehlen, dieses Attribut einzubinden. Hilfe

marke

1452

Wir empfehlen, dieses Attribut einzubinden. Hilfe

image link

1452

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

id

1452

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

beschreibung

1452

Wir empfehlen, dieses Attribut einzubinden. Hilfe

mpn

707

Wir empfehlen, dieses Attribut einzubinden. Hilfe

ean

707

Wir empfehlen, dieses Attribut einzubinden. Hilfe

zustand

707

Wir empfehlen, dieses Attribut einzubinden. Hilfe

isbn

707

Wir empfehlen, dieses Attribut einzubinden. Hilfe

marke

707

Wir empfehlen, dieses Attribut einzubinden. Hilfe

image link

707

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

id

707

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

beschreibung

707

Wir empfehlen, dieses Attribut einzubinden. Hilfe

mpn

894

Wir empfehlen, dieses Attribut einzubinden. Hilfe

ean

894

Wir empfehlen, dieses Attribut einzubinden. Hilfe

zustand

894

Wir empfehlen, dieses Attribut einzubinden. Hilfe

isbn

894

Wir empfehlen, dieses Attribut einzubinden. Hilfe

marke

894

Wir empfehlen, dieses Attribut einzubinden. Hilfe

image link

894

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

id

894

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

beschreibung

894

Wir empfehlen, dieses Attribut einzubinden. Hilfe

mpn

183

Wir empfehlen, dieses Attribut einzubinden. Hilfe

ean

183

Wir empfehlen, dieses Attribut einzubinden. Hilfe

zustand

183

Wir empfehlen, dieses Attribut einzubinden. Hilfe

isbn

183

Wir empfehlen, dieses Attribut einzubinden. Hilfe

marke

183

Wir empfehlen, dieses Attribut einzubinden. Hilfe

image link

183

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

id

183

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

beschreibung

183

Wir empfehlen, dieses Attribut einzubinden. Hilfe

mpn

77

Wir empfehlen, dieses Attribut einzubinden. Hilfe

ean

77

Wir empfehlen, dieses Attribut einzubinden. Hilfe

zustand

77

Wir empfehlen, dieses Attribut einzubinden. Hilfe

isbn

77

Wir empfehlen, dieses Attribut einzubinden. Hilfe

marke

77

Wir empfehlen, dieses Attribut einzubinden. Hilfe

image link

77

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

id

77

Diesem Artikel fehlt ein erforderliches Attribut. Hilfe

beschreibung

77

Wir empfehlen, dieses Attribut einzubinden. Hilfe

mpn

1732

Wir empfehlen, dieses Attribut einzubinden. Hilfe

ean

1732

Wir empfehlen, dieses Attribut einzubinden. Hilfe

zustand

1732

Wir empfehlen, dieses Attribut einzubinden. Hilfe

isbn

1732

Wir empfehlen, dieses Attribut einzubinden. Hilfe

marke

1732

Link to comment
Share on other sites

@rosentaler: Poste doch bitte nicht alles doppelt... :(

@Elektronikshopper: Das ist aber auch nicht ganz aktuell so - Google Base will für Deutschland doch auch deutsche Attributnamen haben und die von denen geforderte ID gibbet bei Dir auch nicht?!?

Ich hab deshalb mal eine aktuelle Version in folgendem Thread von rosentaler angehängt:

http://www.xt-commerce.com/forum/showthread.php?p=299208#post299208

Link to comment
Share on other sites

Ihr benötigt eine neue Froogle-Export-Datei, wegen der eindeutigen ID. Mal googlen, es gibt bereits welche im netz zu finden.

Mööönsch shd, jetzt fängst Du auch schon an, *nicht* zu lesen :) :) :)

Ich schrob gerade:

Ich hab deshalb mal eine aktuelle Version (des Exportmoduls, Anm. d. Red.) in folgendem Thread von rosentaler angehängt:

http://www.xt-commerce.com/forum/showthread.php?p=299208#post299208

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...