Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

XML για Scroutz.gr
 
ktsixit
Member
 
Total Posts:  68
Joined:  2008-08-20
 

Γεια σας,
θέλω να προβάλω τα προϊόντα μου στο scroutz.gr. Για να γίνει αυτό απαιτείται η δημιουργία ενός xml αρχείου με τα προιόντα του eshop το οποίο να μπορεί επιπλέον να ενημερώνεται καθημερινά. Τι μπορώ να κάνω γι’αυτό. Υπάρχει κάποιος ο οποιός επιχείρησε να κάνει κάτι πρόμοιο ωστε να με βοηθήσει;

 
Magento Community Magento Community
Magento Community
Magento Community
 
romfeo
Jr. Member
 
Total Posts:  14
Joined:  2007-11-14
 

There is an extension for that:

Go to http://magento-to-skroutz.com/

 
Magento Community Magento Community
Magento Community
Magento Community
 
ktsixit
Member
 
Total Posts:  68
Joined:  2008-08-20
 

Τελικά κατάφερα να φτιάξω ένα αρχείο .php το οποίο τραβάει δεδομένα απο το magento και τα μεταφέρει σε ένα αρχείο xml συμβατό με τις απαιτήσεις του skroutz. Δεν είναι κάτι το ιδιαίτερο αλλά κάνει τη δουλειά του.

Για οποιοδήποτε λοιπόν χρειαστεί κάτι παρόμοιο, μπορεί να δημιουργήσει ένα .php αρχείο όπως το παρακάτω και να ορίσει ένα cron job ωστε να εκτελείται ανα τακτά χρονικά διαστήματα (τουλάχιστον μια φορά την ημέρα). Ο κώδικας δημιουργεί ένα xml αρχείο το οποίο τοποθετεί σε ένα φάκελο με όνομα “export”, οπότε θα πρέπει να δημιουργήσετε το φάκελο αυτό.

<?php

define('SAVE_FEED_LOCATION','export/products.xml');
    
set_time_limit(0);    

    require_once 
'app/Mage.php';
        
Mage::app('default');
        
    
try{
        $handle 
fopen(SAVE_FEED_LOCATION'w');

        
$heading '<?xml version="1.0" encoding="UTF-8"?>'."\r\n";
        
$heading .= '<websitename encoding="utf8" url="http://websitename.gr" name="Website Name">'."\r\n";
        
$heading .= "\t"."<created_at>".date('Y-m-d G:i')."</created_at>"."\r\n";
        
$heading .= "\t".'<products>'."\r\n";
        
        
$feed_line $heading;
        
fwrite($handle$feed_line);
        
        
//---------------------- GET THE PRODUCTS    
        
$products Mage::getModel('catalog/product')->getCollection();
        
$products->addAttributeToFilter('status'1);//enabled
        
$products->addAttributeToFilter('visibility'4);//catalog, search
         
        
$products->addAttributeToSelect('*');

        
$prodIds=$products->getAllIds();
        
        
$product Mage::getModel('catalog/product');
        
        foreach(
$prodIds as $productId{    
            $product
->load($productId);
                    
                
$product_data = array();    
                
                
$product_data['start'"\t\t".'<product>'."\r\n";
                
//id
                
$product_data['id'"\t".'<id>'.$product->getSku().'</id>'."\r\n";    
                
//name
                
$product_data['name'"\t".'<name>'.$product->getName().'</name>'."\r\n";
                
//url
                
$url_temp "http://www.websitename.gr/".$product->getUrlPath();
                
$url_fixed str_replace("THIS_FILE_NAME.php/"""$url_temp);
                
$product_data['url'"\t".'<url>'.$url_fixed.'</url>'."\r\n";
                
                
//image
                
$product_data['image'"\t".'<image>'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'catalog/product'.$product->getImage().'</image>'."\r\n";
                
                
//category
                
foreach($product->getCategoryIds() as $_categoryId){
                    $category 
Mage::getModel('catalog/category')->load($_categoryId);
                    
$product_data['category'].=$category->getName().', ';
                
}
                $product_data[
'category'"\t".'<category>'.rtrim($product_data['category'],'- ').'</category>'."\r\n";
                
                
//price                
                
$normal_price number_format($product->getPrice(), 2'.''');
                
$special_price number_format($product->getSpecialPrice(), 2'.''');
                
$price "";
                
$todayDate date('m/d/y');
                
$special_to_date $product->getSpecialToDate();
                
                
                if(
$special_price != "0.00"){
                    
if($todayDate $special_to_date)
                        $price 
$normal_price;
                    
}
                    else{ 
                        $price 
$special_price;
                    
}
                } else{
                    $price 
$normal_price;
                
}

                
                $product_data[
'price'"\t".'<price>'.$price.'</price>'."\r\n";
                
                
                
//manufacturer
                
$product_data['manufacturer'"\t".'<manufacturer>'.$product->getResource()->getAttribute('manufacturer')->getFrontend()->getValue($product).'</manufacturer>'."\r\n";
                
//description
                
$product_data['description'"\t".'<description><![CDATA['.$product->getDescription().']]></description>'."\r\n";
                
                
$product_data['end''</product>';
                
                foreach(
$product_data as $k=>$val){
                    $product_data[$k] 
$val;
                
}
            

            $feed_line 
implode("\t\t"$product_data)."\r\n";
            
fwrite($handle$feed_line);
            
fflush($handle);
        
}        

        $footer 
"\t".'</products>'."\r\n";
        
$footer .= '</websitename>';
        
$feed_line $footer;
        
fwrite($handle$feed_line);    
        
fclose($handle);
        
    
}
    
catch(Exception $e){
        
die($e->getMessage());
    
}

?>
 
Magento Community Magento Community
Magento Community
Magento Community
 
panagiotisGr
Jr. Member
 
Total Posts:  16
Joined:  2009-09-29
 

Απίστευτη η βοήθεια σου φίλε μου.

ευχαριστώ πάρα πολυ και το χρειαζόμουν.

Μόνο μια ερώτηση, τι εννοείς να ορίσουμε ενα cron job. Μήπως μπορείς να μου πεις την διαδικασία αν είναι εύκολο φυσικα.

ευχαριστώ και πάλι.

 
Magento Community Magento Community
Magento Community
Magento Community
 
oschellas
Jr. Member
 
Avatar
Total Posts:  10
Joined:  2008-12-07
Greece
 

WebIt: Magento XML product feed

Αυτό το extension μπορεί να λειτουργήσει on-the-fly και μπορεί να λειτουργήσει με cached XML feeds (με cronjobs).

 
Magento Community Magento Community
Magento Community
Magento Community
 
leeperik
Jr. Member
 
Total Posts:  11
Joined:  2014-01-20
 
ktsixit - 18 November 2011 02:34 AM

Τελικά κατάφερα να φτιάξω ένα αρχείο .php το οποίο τραβάει δεδομένα απο το magento και τα μεταφέρει σε ένα αρχείο xml συμβατό με τις απαιτήσεις του skroutz. Δεν είναι κάτι το ιδιαίτερο αλλά κάνει τη δουλειά του.

Για οποιοδήποτε λοιπόν χρειαστεί κάτι παρόμοιο, μπορεί να δημιουργήσει ένα .php αρχείο όπως το παρακάτω και να ορίσει ένα cron job ωστε να εκτελείται ανα τακτά χρονικά διαστήματα (τουλάχιστον μια φορά την ημέρα). Ο κώδικας δημιουργεί ένα xml αρχείο το οποίο τοποθετεί σε ένα φάκελο με όνομα “export”, οπότε θα πρέπει να δημιουργήσετε το φάκελο αυτό.

<?php

define('SAVE_FEED_LOCATION','export/products.xml');
    
set_time_limit(0);    

    require_once 
'app/Mage.php';
        
Mage::app('default');
        
    
try{
        $handle 
fopen(SAVE_FEED_LOCATION'w');

        
$heading '<?xml version="1.0" encoding="UTF-8"?>'."\r\n";
        
$heading .= '<websitename encoding="utf8" url="http://websitename.gr" name="Website Name">'."\r\n";
        
$heading .= "\t"."<created_at>".date('Y-m-d G:i')."</created_at>"."\r\n";
        
$heading .= "\t".'<products>'."\r\n";
        
        
$feed_line $heading;
        
fwrite($handle$feed_line);
        
        
//---------------------- GET THE PRODUCTS    
        
$products Mage::getModel('catalog/product')->getCollection();
        
$products->addAttributeToFilter('status'1);//enabled
        
$products->addAttributeToFilter('visibility'4);//catalog, search
         
        
$products->addAttributeToSelect('*');

        
$prodIds=$products->getAllIds();
        
        
$product Mage::getModel('catalog/product');
        
        foreach(
$prodIds as $productId{    
            $product
->load($productId);
                    
                
$product_data = array();    
                
                
$product_data['start'"\t\t".'<product>'."\r\n";
                
//id
                
$product_data['id'"\t".'<id>'.$product->getSku().'</id>'."\r\n";    
                
//name
                
$product_data['name'"\t".'<name>'.$product->getName().'</name>'."\r\n";
                
//url
                
$url_temp "http://www.websitename.gr/".$product->getUrlPath();
                
$url_fixed str_replace("THIS_FILE_NAME.php/"""$url_temp);
                
$product_data['url'"\t".'<url>'.$url_fixed.'</url>'."\r\n";
                
                
//image
                
$product_data['image'"\t".'<image>'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'catalog/product'.$product->getImage().'</image>'."\r\n";
                
                
//category
                
foreach($product->getCategoryIds() as $_categoryId){
                    $category 
Mage::getModel('catalog/category')->load($_categoryId);
                    
$product_data['category'].=$category->getName().', ';
                
}
                $product_data[
'category'"\t".'<category>'.rtrim($product_data['category'],'- ').'</category>'."\r\n";
                
                
//price                
                
$normal_price number_format($product->getPrice(), 2'.''');
                
$special_price number_format($product->getSpecialPrice(), 2'.''');
                
$price "";
                
$todayDate date('m/d/y');
                
$special_to_date $product->getSpecialToDate();
                
                
                if(
$special_price != "0.00"){
                    
if($todayDate $special_to_date)
                        $price 
$normal_price;
                    
}
                    else{ 
                        $price 
$special_price;
                    
}
                } else{
                    $price 
$normal_price;
                
}

                
                $product_data[
'price'"\t".'<price>'.$price.'</price>'."\r\n";
                
                
                
//manufacturer
                
$product_data['manufacturer'"\t".'<manufacturer>'.$product->getResource()->getAttribute('manufacturer')->getFrontend()->getValue($product).'</manufacturer>'."\r\n";
                
//description
                
$product_data['description'"\t".'<description><![CDATA['.$product->getDescription().']]></description>'."\r\n";
                
                
$product_data['end''</product>';
                
                foreach(
$product_data as $k=>$val){
                    $product_data[$k] 
$val;
                
}
            

            $feed_line 
implode("\t\t"$product_data)."\r\n";
            
fwrite($handle$feed_line);
            
fflush($handle);
        
}        

        $footer 
"\t".'</products>'."\r\n";
        
$footer .= '</websitename>';
        
$feed_line $footer;
        
fwrite($handle$feed_line);    
        
fclose($handle);
        
    
}
    
catch(Exception $e){
        
die($e->getMessage());
    
}

?>

Καλημέρα, θα ήθελα να ρωτήσω το αρχείο που φτιάχνουμε με τον παραπάνω κώδικα σε ποιό φάκελο θα το τοποθετήσουμε;

 
Magento Community Magento Community
Magento Community
Magento Community
 
ktsixit
Member
 
Total Posts:  68
Joined:  2008-08-20
 

Τοποθετείται στο root φακελο του site σου.

 
Magento Community Magento Community
Magento Community
Magento Community
 
leeperik
Jr. Member
 
Total Posts:  11
Joined:  2014-01-20
 

Πάρα πολύ ωραία και κάτι ακόμη που ξέχασα. Χρειάζεται να φτιάξω cron απο την αρχή για το συγκεκριμένο; γιατί διάβασα και απο ότι είδα το magento εκτελεί απο μόνο του crons.
Επίσης πρέπει να καθορήσουμε εμείς το όνομα του site ή το τραβάει απο μόνο του;
δηλαδή την γραμμή κώδικα
$heading .= ‘<websitename encoding="utf8" url=”http://websitename.gr” name="Website Name">’."\r\n";
θα πρέπει να βάλω τα στοιχεία της σελίδας μου;
Κάτι τελευταίο, το όνομα του αρχείου που περιέχει τον παραπάνω κώδικα πρέπει να είναι συγκεκριμένο ή βάζω οτι θέλω; πχ productsxml.php
ευχαριστώ εκ των προτέρων.

 
Magento Community Magento Community
Magento Community
Magento Community
 
ktsixit
Member
 
Total Posts:  68
Joined:  2008-08-20
 
leeperik - 29 May 2014 05:37 AM

Πάρα πολύ ωραία και κάτι ακόμη που ξέχασα. Χρειάζεται να φτιάξω cron απο την αρχή για το συγκεκριμένο; γιατί διάβασα και απο ότι είδα το magento εκτελεί απο μόνο του crons.
Επίσης πρέπει να καθορήσουμε εμείς το όνομα του site ή το τραβάει απο μόνο του;
δηλαδή την γραμμή κώδικα
$heading .= ‘<websitename encoding="utf8" url=”http://websitename.gr” name="Website Name">’."\r\n";
θα πρέπει να βάλω τα στοιχεία της σελίδας μου;
Κάτι τελευταίο, το όνομα του αρχείου που περιέχει τον παραπάνω κώδικα πρέπει να είναι συγκεκριμένο ή βάζω οτι θέλω; πχ productsxml.php
ευχαριστώ εκ των προτέρων.

1) εγω έφτιαξα δικο μου cron job, μεσα απο το cpanel.
2) στη γραμμη κωδικα που αναφερεις, ναι πρεπει να βάλεις τα στοιχεια του site σου.
3) το ονομα του αρχείου μπορει να ειναι οτι θελεις εσυ.

Βασικα εχει περάσει πολυς καιρός απο τοτε που εφτιαξα αυτο το αρχείο και το έχω αλλάξει αρκετα στην πορεία. Θα ποστάρω το πιο προσφατο που εχω κανει.

 
Magento Community Magento Community
Magento Community
Magento Community
 
leeperik
Jr. Member
 
Total Posts:  11
Joined:  2014-01-20
 

Σε ευχαριστώ πολύ για την άμεση απάντηση, βασικά το θέλω για να μπώ στο skroutz, έψαξα στο ιντερνετ αλλά εκτός απο εδώ δεν βρήκα κάποιο δωρεάν. Το θέμα μου δεν είναι τα χρήματα (γύρω στα 50€ κοστίζουν αυτά που βρήκα) το θέμα μου είναι να μην το αγοράσω και τελικά δεν παίζει σωστά, την είχα πατήσει με ενα module στη joomla.

 
Magento Community Magento Community
Magento Community
Magento Community
 
ktsixit
Member
 
Total Posts:  68
Joined:  2008-08-20
 

<?php 

define
('SAVE_FEED_LOCATION','export/products.xml');

set_time_limit(0);    

require_once 
'app/Mage.php';
    
Mage::app('default');
    
try{
    $handle 
fopen(SAVE_FEED_LOCATION'w');

    
    
$heading '<?xml version="1.0" encoding="UTF-8"?>'."\r\n";
    
$heading .= '<website_name encoding="utf8" url="http://website_name.gr" name="Website Name">'."\r\n";
    
$heading .= "\t"."<created_at>".date('Y-m-d G:i')."</created_at>"."\r\n";
    
$heading .= "\t".'<products>'."\r\n";
    
$feed_line $heading;
    
fwrite($handle$feed_line);
    
    
//---------------------- GET THE PRODUCTS    
    
$products Mage::getModel('catalog/product')->getCollection();
    
    
$products->addAttributeToFilter('status'1);
    
    
$products->addAttributeToSelect('*');
    echo 
$products->count().' PRODUCTS <br><br>'

    
$prodIds $products->getAllIds();
    
    
$i 0;
    foreach(
$prodIds as $productId{    
        $i
++; echo '$i = '.$i.'<br>';
        
$product Mage::getModel('catalog/product');
        
$product->load($productId);
                
         
            
$product_data = array();    
            
            
$product_manufacturer $product->getResource()->getAttribute('manufacturer')->getFrontend()->getValue($product);

            echo 
'ID = '.$productId."<br/>";
            echo 
'SKU = '.$product->getSku()."<br/>";
            
$product_data['start'"\t\t".'<product>'."\r\n";
            
//id
            
$product_data['id'"\t".'<id>'.$productId.'</id>'."\r\n";    
            
//name
            
$product_data['name'"\t".'<name>'.$product->getName().'</name>'."\r\n";
            
//url
            
$url_temp "http://www.website_name.gr/".$product->getUrlPath();
            
$url_fixed str_replace("skroutz_xml_generator.php/"""$url_temp);
            
$product_data['url'"\t".'<url>'.$url_fixed.'</url>'."\r\n";
            
            
//image
            
$product_data['image'"\t".'<image>'.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'catalog/product'.$product->getImage().'</image>'."\r\n";
            
            
//category
            
foreach($product->getCategoryIds() as $_categoryId){
                $category 
Mage::getModel('catalog/category')->load($_categoryId);
                
$product_data['category'].=$category->getName().', ';
            
}
            $product_data[
'category'"\t".'<category>'.rtrim($product_data['category'],'- ').'</category>'."\r\n";
            
            
//price            
            
$normal_price number_format($product->getPrice(), 2'.''');
            
$special_price number_format($product->getSpecialPrice(), 2'.''');
            
$price "";
            
$todayDate date('Y-m-d H:i:s');
            
$special_from_date Mage::getModel('catalog/product')->load($product->getId())->getSpecialFromDate();
            
$special_to_date Mage::getModel('catalog/product')->load($product->getId())->getSpecialToDate();
            echo 
'normal_price = '.$normal_price.'<br>';
            echo 
'special_price = '.$special_price.'<br>';
            echo 
'todayDate = '.$todayDate.'<br>';
            echo 
'special_from_date = '.$special_from_date.'<br>';
            echo 
'special_to_date = '.$special_to_date.'<br>';
            
            if(
$special_price != "0.00"){
                
if( ($todayDate >= $special_from_date && $todayDate <= $special_to_date) || 
                    (
$todayDate >= $special_from_date && is_null($special_to_date)) ){
                    $price 
$special_price; echo 'A';
                
}
                else{ 
                    $price 
$normal_price; echo 'C';
                
}
            } else{
                $price 
$normal_price;
            
}
            
echo 'price = '.$price.'<br>';
            
            
            
            
            
$product_data['price'"\t".'<price>'.$price.'</price>'."\r\n";
            
            
            
            
            
            
//manufacturer
            
$product_data['manufacturer'"\t".'<manufacturer>'.$product->getResource()->getAttribute('manufacturer')->getFrontend()->getValue($product).'</manufacturer>'."\r\n";
            
            
//availability
            
$stocklevel = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($product)->getQty();
            
$availability;
            if(
$stocklevel != 0):
                
$availability 'Σε Î±Ï€ÏŒÎ¸ÎµÎ¼Î±';
            else:
                
$availability 'Κατόπιν Î Î±ÏÎ±Î³Î³ÎµÎ»Î¯Î±Ï‚';
            endif;
            
$product_data['availability'"\t".'<availability>'.$availability.'</availability>'."\r\n";
            
            
//description
            
$product_data['description'"\t".'<description><![CDATA['.$product->getDescription().']]></description>'."\r\n";
            
            
$product_data['end''</product>';
            echo 
'<hr>';            
                        
            
            
//sanitize data    
            
foreach($product_data as $k=>$val){
                $product_data[$k] 
$val;
            
}
        

        $feed_line 
implode("\t\t"$product_data)."\r\n";
        
fwrite($handle$feed_line);
        
fflush($handle);
    
//}
}        

    $footer 
"\t".'</products>'."\r\n";
    
$footer .= '</website_name>';
    
$feed_line $footer;
    
fwrite($handle$feed_line);
        
    
//---------------------- WRITE THE FEED    
    
fclose($handle);
    
}
catch(Exception $e){
    
die($e->getMessage());
}

* όπου ‘website_name’ αντικαθιστούμε με το ονομα του site μας
* όπου ‘skroutz_xml_generator.php’ αντικαθιστούμε με το ονομα του αρχείου στο οποίο θα τοποθετησουμε τον κωδικα
* στο Mage::app(’default’); αντικαθιστούμε το default με τον κωδικό του store απο το οποίο θελουμε να τραβαμε τα προϊόντα, στη συγκεκριμενη περιπτωση εχω ενα μονο store το οποίο εχει κωδικό ‘default’
* το αρχείο που παραγεται απο αυτον τον κωδικα ειναι συμφωνο με τις τρέχουσες προδιαγραφές του skroutz.

 
Magento Community Magento Community
Magento Community
Magento Community
 
leeperik
Jr. Member
 
Total Posts:  11
Joined:  2014-01-20
 

Να σαι καλά σε ευχαριστώ πολύ,

 
Magento Community Magento Community
Magento Community
Magento Community
 
leeperik
Jr. Member
 
Total Posts:  11
Joined:  2014-01-20
 

Καλησπέρα και πάλι, έφτιαξα ενα αρχείο που με βάση το κώδικα που μου έστειλες έχουμε τα παρακάτω, το εβαλα χύμα στο root και επίσης δημιούρησα στο root ενα φάκελο με την ονομασία export.

<?php

define(\'SAVE_FEED_LOCATION\',\'export/skroutz.xml\');

set_time_limit(0);

require_once \'app/Mage.php\';
Mage::app(\'default\'); το άφησα έτσι γιατί δεν μου έχουν δώσει ακόμη κωδικό

try{
$handle = fopen(SAVE_FEED_LOCATION, \'w\');

$heading = \'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\’.\"\\r\\n\";
$heading .= \’<http://catalog.pmrepair.gr/ encoding=\"utf8\" url=\"http://catalog.pmrepair.gr/\" name=\"PM Repair\">\’.\"\\r\\n\";
$heading .= \"\\t\”.\"<created_at>\".date(\’Y-m-d G:i\’).\"</created_at>\”.\"\\r\\n\";
$heading .= \"\\t\”.\’<products>\’.\"\\r\\n\";
$feed_line = $heading;
fwrite($handle, $feed_line);

//---------------------- GET THE PRODUCTS
$products = Mage::getModel(\’catalog/product\’)->getCollection();

$products->addAttributeToFilter(\’status\’, 1);

$products->addAttributeToSelect(\’*\’);
echo $products->count().\’ PRODUCTS <br><br>\’;

$prodIds = $products->getAllIds();

$i = 0;
foreach($prodIds as $productId) {
$i++; echo \’$i = \’.$i.\’<br>\’;
$product = Mage::getModel(\’catalog/product\’);
$product->load($productId);


$product_data = array();

$product_manufacturer = $product->getResource()->getAttribute(\’manufacturer\’)->getFrontend()->getValue($product);

echo \’ID = \’.$productId.\"<br/>\";
echo \’SKU = \’.$product->getSku().\"<br/>\";
$product_data[\’start\’] = \"\\t\\t\”.\’<product>\’.\"\\r\\n\";
//id
$product_data[\’id\’] = \"\\t\”.\’<id>\’.$productId.\’</id>\’.\"\\r\\n\";
//name
$product_data[\’name\’] = \"\\t\”.\’<name>\’.$product->getName().\’</name>\’.\"\\r\\n\";
//url
$url_temp = \"http://catalog.pmrepair.gr/\".$product->getUrlPath();
$url_fixed = str_replace(\"catalogxml.php/\", \"\", $url_temp);
$product_data[\’url\’] = \"\\t\”.\’<url>\’.$url_fixed.\’</url>\’.\"\\r\\n\";

//image
$product_data[\’image\’] = \"\\t\”.\’<image>\’.Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).\’catalog/product\’.$product->getImage().\’</image>\’.\"\\r\\n\";

//category
foreach($product->getCategoryIds() as $_categoryId){
$category = Mage::getModel(\’catalog/category\’)->load($_categoryId);
$product_data[\’category\’].=$category->getName().\’, \’;
}
$product_data[\’category\’] = \"\\t\".\’<category>\’.rtrim($product_data[\’category\’],\’- \’).\’</category>\’.\"\\r\\n\";

//price
$normal_price = number_format($product->getPrice(), 2, \’.\’, \’\’);
$special_price = number_format($product->getSpecialPrice(), 2, \’.\’, \’\’);
$price = \"\";
$todayDate = date(\’Y-m-d H:i:s\’);
$special_from_date = Mage::getModel(\’catalog/product\’)->load($product->getId())->getSpecialFromDate();
$special_to_date = Mage::getModel(\’catalog/product\’)->load($product->getId())->getSpecialToDate();
echo \’normal_price = \’.$normal_price.\’<br>\’;
echo \’special_price = \’.$special_price.\’<br>\’;
echo \’todayDate = \’.$todayDate.\’<br>\’;
echo \’special_from_date = \’.$special_from_date.\’<br>\’;
echo \’special_to_date = \’.$special_to_date.\’<br>\’;

if($special_price != \"0.00\"){
if( ($todayDate >= $special_from_date && $todayDate <= $special_to_date) ||
($todayDate >= $special_from_date && is_null($special_to_date)) ){
$price = $special_price; echo \’A\’;
}
else{
$price = $normal_price; echo \’C\’;
}
} else{
$price = $normal_price;
}
echo \’price = \’.$price.\’<br>\’;




$product_data[\’price\’] = \"\\t\”.\’<price>\’.$price.\’</price>\’.\"\\r\\n\";





//manufacturer
$product_data[\’manufacturer\’] = \"\\t\”.\’<manufacturer>\’.$product->getResource()->getAttribute(\’manufacturer\’)->getFrontend()->getValue($product).\’</manufacturer>\’.\"\\r\\n\";

//availability
$stocklevel = (int)Mage::getModel(\’cataloginventory/stock_item\’)->loadByProduct($product)->getQty();
$availability;
if($stocklevel != 0):
$availability = \’Σε απόθεμα\’;
else:
$availability = \’Κατόπιν Παραγγελίας\’;
endif;
$product_data[\’availability\’] = \"\\t\”.\’<availability>\’.$availability.\’</availability>\’.\"\\r\\n\";

//description
$product_data[\’description\’] = \"\\t\”.\’<description><![CDATA[\’.$product->getDescription().\’]]></description>\’.\"\\r\\n\";

$product_data[\’end\’] = \’</product>\’;
echo \’<hr>\’;


//sanitize data
foreach($product_data as $k=>$val){
$product_data[$k] = $val;
}

$feed_line = implode(\"\\t\\t\", $product_data).\"\\r\\n\";
fwrite($handle, $feed_line);
fflush($handle);
//}
}

$footer = \"\\t\”.\’</products>\’.\"\\r\\n\";
$footer .= \’</http://catalog.pmrepair.gr/>\’;
$feed_line = $footer;
fwrite($handle, $feed_line);

//---------------------- WRITE THE FEED
fclose($handle);

}
catch(Exception $e){
die($e->getMessage());
}

Το πρόβλημα που αντιμετωπίζω είναι πώς να δημιουργήσω ενα cron για να εκτελεί το παραπάνω αρχείο.

Ακόμη πιστέυω οτι κάπου έχω κάνει λάθος αλλά δεν είμαι σίγουρος καθώς δεν μπόρεσα να το τρέξω απο το magento

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