Try the Demo

Magento Forum

   
XML feed zboží
 
chroust
Jr. Member
 
Total Posts:  20
Joined:  2009-05-11
 

jj, je to tak. presne jak to pisou v napovede u zbozi.cz

 
Magento Community Magento Community
Magento Community
Magento Community
 
wiwi
Jr. Member
 
Total Posts:  1
Joined:  2009-11-06
 

... ja by som potreboval vyriesit opacny problem tj. upload produktov do eshopu cez http get, http post ci http soap, ?? za kazdu radu vopred DAKUJEEM

 
Magento Community Magento Community
Magento Community
Magento Community
 
K.D.
Member
 
Total Posts:  32
Joined:  2008-05-02
 

Dzdravím všechny magentáky,

předně bych rád poděkoval všem co tady poskytli zdarma nějaký ten kód, především Chroustovi - protože jen jeho řešení jsem díky jeho návodu rozchodil smile

Rád bych poprosil o radu - potřeboval bych aby se exportovali do xmlka pouze mnou vybrané kategorie.. Jak přes API zadám, že se má exportovat do xml například pouze kategorie ID_50 a třeba k tomu ID_3 ??

Díky..

 
Magento Community Magento Community
Magento Community
Magento Community
 
zlomennypez
Jr. Member
 
Total Posts:  14
Joined:  2009-05-25
 

Jel jsem přesně podle návodu, ale po spuštění scriptu mi vyskoší chyba:
Fatal error: Class ‘SoapClient’ not found in na řádku 2.

Díval jsem se i do jiných fór ale odpověď jsem nenašel, roli i uživatele mám vytvořeného, nevíte co tahle chyba znamená? Díky moc.

Nebo repektive jak má být nastavený

<?php
$proxy 
= new SoapClient('http://magentoshop.tld/api/soap/?wsdl');
aby to fungovalo jak má? Díky

 Signature 

Vše proti nadměrnému pocení a život bez pocení

 
Magento Community Magento Community
Magento Community
Magento Community
 
K.D.
Member
 
Total Posts:  32
Joined:  2008-05-02
 
zlomennypez - 23 November 2009 03:08 AM

Jel jsem přesně podle návodu, ale po spuštění scriptu mi vyskoší chyba:
Fatal error: Class ‘SoapClient’ not found in na řádku 2.

Díval jsem se i do jiných fór ale odpověď jsem nenašel, roli i uživatele mám vytvořeného, nevíte co tahle chyba znamená? Díky moc.

Nebo repektive jak má být nastavený

<?php
$proxy 
= new SoapClient('http://magentoshop.tld/api/soap/?wsdl');
aby to fungovalo jak má? Díky

místo magentoshop.tld dej název svojí domény

 
Magento Community Magento Community
Magento Community
Magento Community
 
zlomennypez
Jr. Member
 
Total Posts:  14
Joined:  2009-05-25
 

Pořád totéž Fatal error: Class ‘SoapClient’ not found in /data/www/sk8world.cz/www.sk8world.cz/xml/xml.php on line 2

Nevím kde je chyba :-( Už to řeším nevím jak dlouho.  Neházelo Vám to někomu takovouto chybu?

 Signature 

Vše proti nadměrnému pocení a život bez pocení

 
Magento Community Magento Community
Magento Community
Magento Community
 
zlomennypez
Jr. Member
 
Total Posts:  14
Joined:  2009-05-25
 

Tak vyřešeno, poskytovatel mi musel zapnout knihovnu soap

 Signature 

Vše proti nadměrnému pocení a život bez pocení

 
Magento Community Magento Community
Magento Community
Magento Community
 
zlomennypez
Jr. Member
 
Total Posts:  14
Joined:  2009-05-25
 

Pořád se opakuje v xml od chrousta první produkt dokola, kde je v tom kódu chyba??

Díky

 Signature 

Vše proti nadměrnému pocení a život bez pocení

 
Magento Community Magento Community
Magento Community
Magento Community
 
zlomennypez
Jr. Member
 
Total Posts:  14
Joined:  2009-05-25
 

Tak nakonec jsem rozchodil xml feed od petrametra. Jde o to, že každé magento má jiné tabulky v db a hlavně dále jejich attribute_id, když Vám ten můj nepůjde, je pro verzi magento 1.3.1.1 tak musíte otevřít dtabázi, najít správné attribute id v tabulce a změnit to, stačí porovnat ten můj upravený kód s tím od petra metra a zjistíte co je potřeba změnit.

a tady to je:

<?php
 
#XML Feed for zbozi
 # version: 1.1
 # date: 23.4.2009
 # author: Petr Uhlir
 # www.icestudio.cz 
 # donate - paypal: coalman_x@hotmail.com  ;)
header("Content-type: text/xml");

    
$host ="localhost";
    
$user "XXXXXX"// your db user name
    
$password "XXXXXX"// your db PASSWORD
    
$site "http://yoursite.cz";
    
$img_path "/media/catalog/product";
    
    
$link mysql_connect($host$user$password);
    
    
mysql_select_db("db-name"); // databaze name
    
mysql_query("SET NAMES 'utf8';");
    
    
    function 
getValue($table,$entity_id,$attribute_id{
    
global $link;
    
    
$q "SELECT * FROM `catalog_$table` WHERE entity_id='".$entity_id."' AND attribute_id='".$attribute_id."'";
    
$result mysql_query($q$link);
    
$value "";
    if(
$row mysql_fetch_assoc($result))

    $value 
$row['value'];
    
$trans = array("°"=>" ""&nbsp;"=>" ");
    
$value strtr($value$trans);
    
}
    
return $value;
    
}
    
    $q1 
"SELECT * FROM `catalog_product_entity`";
     
    
$result mysql_query($q1$link);
    
    
$xml '<?xml version="1.0" encoding="UTF-8"?>'."\n";
    
$xml .= "<SHOP>\n";  
    while(
$row mysql_fetch_assoc($result))
    $entity_id 
$row['entity_id'];
    
$sku $row['sku'];
    
    
$category_path "";
    
$category_ids $row['category_ids'];
    
$cat_id explode(","$category_ids);
    foreach(
$cat_id as $cat){
    $category_path 
.= "/";
    
$category_path .= getValue("category_entity_varchar",$cat,48);
    
}

    
    $cena 
getValue("product_entity_decimal",$entity_id,61);
    
$cena_specialni getValue("product_entity_decimal",$entity_id,61);
    
    
$price $cena;
    
    if(
$cena_specialni!="" OR $cena_specialni!="0"){
        
        $dnes 
date(Ymd);
        
        
$trans = array("-"=>"");
        
        
$od strtr(substr(getValue("product_entity_datetime",$entity_id,568),0,10),$trans)-1;
        
$do strtr(substr(getValue("product_entity_datetime",$entity_id,569),0,10),$trans)+1;
        
        if(
$dnes>$od AND $dnes<$do{
        $price 
$cena_specialni;
        
}
    }
    
     
// if($produkt[visibility] == 4) {
            
$xml .= " <SHOPITEM>\n";
            
$xml .= "  <PRODUCT>".getValue("product_entity_varchar",$entity_id,56)."</PRODUCT>\n"
            
$xml .= "  <DESCRIPTION>".strip_tags(getValue("product_entity_text",$entity_id,58))."</DESCRIPTION>\n"
            
$xml .= "  <URL>".$site."/".getValue("product_entity_varchar",$entity_id,83)."</URL>\n";
            
$xml .= "  <IMGURL>".$site.$img_path.getValue("product_entity_varchar",$entity_id,70)."</IMGURL>\n";
            
$xml .= "  <ITEM_TYPE>new</ITEM_TYPE>\n";
            
$xml .= "  <PRICE_VAT>".$price."</PRICE_VAT>\n";
            
$xml .= " </SHOPITEM>\n";    
      
//}
    
}
    
    $xml 
.= "</SHOP>\n"
    echo 
$xml;
?>

 Signature 

Vše proti nadměrnému pocení a život bez pocení

 
Magento Community Magento Community
Magento Community
Magento Community
 
ondrat
Jr. Member
 
Total Posts:  3
Joined:  2009-12-01
 

Taky se mi objevovala chyba Fatal error: Class ‘SoapClient’ not found

nechal jsem si zaregistrovat knihovnu soap, ale mam dalsi problem-nevim, co napsat na druhou radku $proxy = new SoapClient(’http://magentoshop.cz/api/soap/?wsdl’);
namisto magentoshop.cz/api/soap/?wsdl ?

misto magentoshop.cz dam mou domenu-to je jasny, ale ja nemam v rootu zadnej adresar api/soap :(

prosim o radu

ted mi to hlasi chybu Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘http://www.mojedomena.cz/?wsdl’ : failed to load external entity

 
Magento Community Magento Community
Magento Community
Magento Community
 
iguru
Moderator
 
Avatar
Total Posts:  330
Joined:  2007-11-02
Děčín, Czech Republic
 

co znamená “nechal jsem si zaregistrovat”?
druhá řádka by měla normálně fungovat, pokud ti wsdl běží vrátí ti to něco jako tady http://obchod.iguru.eu/api/soap/?wsdl

pak už jenom musíš mít vyrobeného uživatele a heslo.

pak mne ještě napadá problém s verzemi wsdl i když to je dost zvlášntí, protože já mám třeba stejné verze na lokalu i na serveru a na locale to funguje po doplneni parametru =1 na serveru ne.

Takze jeste muzes zkusit http://obchod.iguru.eu/api/soap/?wsdl=1 kde samozrejme domenu doplnis svoji.

 Signature 

Dnešek je vítězstvím sebe sama nad včerejškem. MM.
イグル

 
Magento Community Magento Community
Magento Community
Magento Community
 
ondrat
Jr. Member
 
Total Posts:  3
Joined:  2009-12-01
 

“nechal jsem si zaregistrovat” znamená, spíš nechal jsem si nainstalovat no:) od technické podpory mého hostingu soap.....

už jsem přišel na to, proč to nešlo- bylo to tím, že jsem měl přepnutý eshop do offline módu (ArtsOnIT_OfflineMaintenance) - po vypnutí to začalo jít

díky za rady

 
Magento Community Magento Community
Magento Community
Magento Community
 
rklein
Member
 
Total Posts:  32
Joined:  2009-10-21
 

Ahoj, resil nekdo u toho xml feedu od petrametra problém s URL? mám produkty ve více kategoriích např.:
šedý filtr XY mám v kategorii filtry a zároveň v její podkategorii šedé filtry

výsledná hodnota proměnné

$category_path
je pak složenina /filtry/filtry/sede-filtry/sedy-filtr-XY… což je špatně!

správná cesta by měla být /filtry/sede-filtry/sedy-filtr-XY

 Signature 

Kvalitní batohy na notebook pro vás nebo pro malé školáky školní batohy . Více batohů na BatohyBrašny.cz.

Na Fotonka.cz najdete fotografické vybavení, jako například fotoaparáty, stativy nebo polarizační filtry.

 
Magento Community Magento Community
Magento Community
Magento Community
 
rklein
Member
 
Total Posts:  32
Joined:  2009-10-21
 

udelal jsem akorat mensi hack

$category_path substr($category_pathstrpos($category_path,"/",1));

ale to nefunguje pokud je položka zanořená ještě hlouběji ve struktuře kategorií - kat1 > kat2 > kat3....

 Signature 

Kvalitní batohy na notebook pro vás nebo pro malé školáky školní batohy . Více batohů na BatohyBrašny.cz.

Na Fotonka.cz najdete fotografické vybavení, jako například fotoaparáty, stativy nebo polarizační filtry.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Palevel
Jr. Member
 
Total Posts:  18
Joined:  2009-10-07
 

Já to mám takhle, a mám i podkategorie - je to upravenej PetrMetr.

<?php
header
("Content-type: text/xml");

$host ="XXXXXXXXXXX";
$user "XXXXXXXXXXX"
$password "XXXXXXXXXXX";
$site "XXXXXXXXXXXXXXX";
$img_path "/media/catalog/product";    
$link mysql_connect($host$user$password);
mysql_select_db("XXXXXXXXXXXXX");    
mysql_query("SET NAMES 'utf8';");
        
function 
getValue($table,$entity_id,$attribute_id{
global $link;
    
$q "SELECT * FROM `catalog_$table` WHERE entity_id='".$entity_id."' AND attribute_id='".$attribute_id."'";
//echo $q;
//echo "<br />";
$result mysql_query($q$link);
$value "";
if(
$row mysql_fetch_assoc($result))

$value 
$row['value'];
$trans = array("?"=>" ""&nbsp;"=>" ");
$value strtr($value$trans);
}
return $value;
}
    
$q1 
"SELECT * FROM `catalog_product_entity`";
     
$result mysql_query($q1$link);
    
$xml '<?xml version="1.0" encoding="UTF-8"?>'."\n";
$xml .= "<SHOP>\n";  
while(
$row mysql_fetch_assoc($result))
$entity_id 
$row['entity_id'];
$sku $row['sku'];
    
$category_path "";
$category_ids $row['category_ids'];
$cat_id explode(","$category_ids);
foreach(
$cat_id as $cat){
$category_path 
.= "/";
$category_path .= getValue("category_entity_varchar",$cat,47);
}

$cena 
getValue("product_entity_decimal",$entity_id,60);
$cena_specialni getValue("product_entity_decimal",$entity_id,0);
    
$price $cena;
    
if(
$cena_specialni!="" OR $cena_specialni!="0"){
        
$dnes 
date(Ymd);
        
$trans = array("-"=>"");
        
$od strtr(substr(getValue("product_entity_datetime",$entity_id,568),0,10),$trans)-1;
$do strtr(substr(getValue("product_entity_datetime",$entity_id,569),0,10),$trans)+1;
        
if(
$dnes>$od AND $dnes<$do{
$price 
$cena_specialni;
}
}
    
     
// if($produkt[visibility] == 4) {
            
$xml .= " <SHOPITEM>\n";
            
$xml .= "  <PRODUCT>".getValue("product_entity_varchar",$entity_id,56)."</PRODUCT>\n";
            
$xml .= "  <DESCRIPTION>".strip_tags(getValue("product_entity_text",$entity_id,58))."</DESCRIPTION>\n";
            
$xml .= "  <URL>".$site.substr($category_path,0,-5)."/".getValue("product_entity_varchar",$entity_id,83)."</URL>\n";
            
$xml .= "  <ITEM_TYPE>new</ITEM_TYPE>\n";
            
$xml .= "  <IMGURL>".$site.$img_path.getValue("product_entity_varchar",$entity_id,70)."</IMGURL>\n";
            
$xml .= "  <PRICE>".$price."</PRICE>\n";
            
$xml .= "  <VAT>20</VAT>\n";
            
$xml .= " </SHOPITEM>\n";    
      
//}
    
}
    
    $xml 
.= "</SHOP>\n"
    echo 
$xml;
?>

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
    Back to top