У меня есть магазин magento, и я использую сервисы www.retailtower.com для создания каналов.Однако есть один пользовательский атрибут, который мне нужен для того, чтобы можно было отфильтровать их сайт.Пользовательский код атрибута называется «is_imported»
Я разговаривал с ребятами из retailtower, но они говорят, что они не видят этот атрибут в моих продуктах.
Я проверил несколько писем за несколько месяцев назади я заметил, что для того, чтобы они могли видеть мои продукты, мне нужно было установить PHP-файл, а затем использовать его для импорта продуктов.
Это код, который я нашел, как я могу изменить его, чтобы добавить пользовательский атрибут?
<?php
set_time_limit(300);
ini_set('memory_limit', '-1');
include_once 'app/Mage.php';
umask(0);
Mage::app();
$products = Mage::getModel('catalog/product')->getCollection();
$products->addAttributeToSelect('*');
$products->addAttributeToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED));
$visibility = array(
Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,
Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG
);
$products->addAttributeToFilter('visibility', $visibility);
$products->load();
$baseUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
//echo "Total Count =: ".count($products);
//echo "<pre>";
//print_r($products);
$collection = Mage::getResourceModel('catalog/product_collection');
$output = '<?xml version="1.0" encoding="utf-8"?>
<products>';
if (count($collection)){
//echo "<pre>";
foreach ($products as $product){
//var_dump($product->getdata());die;
$output .= '<product>';
foreach ($product->getdata() as $key=>$value) {
if ($key!=='stock_item') {
//my code start
$url = $product->getProductUrl();
if (($key == 'url_path') || ($key =='url_key')){
$value = $url;
$value = str_replace('/productapi.php','',$value);
$value = trim ($value);
}
if ($key == 'image'){
$value = $baseUrl."media/catalog/product".$value;
//$value = str_replace('/productapi.php','',$value);
//$value = trim ($value);
}
if ($key == 'manufacturer'){
//$value = $baseUrl."media/catalog/product".$value;
$value = Mage::getModel('catalog/product')->load(PRODUCT_ID);
$value = $value->getAttributeText('manufacturer');
//$value = "kofi";
//$value = str_replace('/productapi.php','',$value);
//$value = trim ($value);
}
//$search = array('&','<','>','"','\'','-','—',"'",'(',')','™','®','©');
//$replace = array('&','<','>','"',''','-','―',''','(',')','&trade','®','©');
//$value = str_replace($search,$replace,$value);
/* $value = str_replace('&','',$value);
$value = str_replace('</br>','',$value);
$value = str_replace('<br/>','',$value);
$value = str_replace('>','',$value);
$value = str_replace('<','',$value);*/
$value = "<![CDATA[$value]]>";
$key = str_replace('"','',$key);
//my code end
$output .= '<'.$key.'>'.$value.'</'.$key.'>';
}
}
$categories = $product->getCategoryIds();
$output .= '<categories>';
foreach($categories as $k => $_category_id):
$_category = Mage::getModel('catalog/category')->load($_category_id);
$cat_name = $_category->getName();
$cat_url = $_category->getUrl();
$cat_name = "<![CDATA[$cat_name]]>";
$cat_url = "<![CDATA[$cat_url]]>";
$output .= '<category>';
$output .= '<name>'.$cat_name.'</name>';
$output .= '<url>'.$cat_url.'</url>';
$output .= '</category>';
endforeach;
$output .= '</categories>';
$output .= '</product>';
$url = $product->getProductUrl();
//$url = str_replace('/productapi.php','',$url);
// $url = trim ($url);
}//endforeach;
$output .= '
</products>';
}//endif;
header ("Content-Type: text/xml; charset=ISO-8859-1");
print $output;
?>