<?php
mb_internal_encoding("UTF-8");
define('NAME', 'OOO '); // название организации (не должно превышать 20 символов)
define('DESC', 'Компания '); // описание организации
define('CURRENCY', 'RUB'); // валюта магазина (RUB, USD, EUR, UAH, KZT)
define('EXCLUDE_CAT', '0'); // id категорий которые нужно исключить из выгрузки, перечислить через запятую, например define('EXCLUDE_CAT', '2,8,54,5')
define('EXCLUDE_PROD', '0'); // id товаров которые нужно исключить из выгрузки, перечислить через запятую, например define('EXCLUDE_PROD', '2,8,54,5')
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
define('JPATH_BASE', str_replace('market', '', dirname(__FILE__)));
require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
$app = JFactory::getApplication('site');
$app->initialise();
require(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_virtuemart'.DS.'helpers'.DS.'config.php');
VmConfig::loadConfig();
$db = JFactory::getDBO();
$live_site = str_replace(array('market/', 'http://'), '', JURI::base());
$lang = VmConfig::get('vmlang', 'ru_ru');
header('Content-Type: text/html; charset=UTF-8');
$excel = '
<!DOCTYPE html>
<head>
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css" type="text/css" />
</head>
<body>';
$excel .= '<div width="90%"> <table class="table table-bordered table-striped table-hover table-condensed"><thead><tr>';
$excel .= '<th> # </th>';
$excel .= '<th>Артикул</th>';
$excel .= '<th>Наименование</th>';
$excel .= '<th>Категория</th>';
$excel .= '<th>Цена </th>';
//$excel .= '<th>Скидка </th>';
//$excel .= '<th>Производитель</th>';
$excel .= '<th>Краткое описание</th>';
$excel .= '<th>Детали</th>';
$excel .= '</tr></thead><tr>';
$query = 'SELECT a.virtuemart_product_id, a.product_sku, b.product_name, b.slug, c.file_url, b.product_desc, d.product_price, #__virtuemart_categories_'.$lang.'.category_name , d.product_override_price, d.product_currency, e.mf_name, f.virtuemart_manufacturer_id, g.virtuemart_category_id, k.currency_code_3 FROM (#__virtuemart_product_categories g LEFT JOIN (#__virtuemart_product_prices d RIGHT JOIN ((#__virtuemart_product_manufacturers f RIGHT JOIN #__virtuemart_products a ON f.virtuemart_product_id = a.virtuemart_product_id) LEFT JOIN #__virtuemart_manufacturers_'.$lang.' e ON f.virtuemart_manufacturer_id = e.virtuemart_manufacturer_id LEFT JOIN #__virtuemart_products_'.$lang.' b ON b.virtuemart_product_id = a.virtuemart_product_id LEFT JOIN #__virtuemart_product_medias h ON h.virtuemart_product_id = a.virtuemart_product_id LEFT JOIN #__virtuemart_medias c ON c.virtuemart_media_id = h.virtuemart_media_id) ON d.virtuemart_product_id = a.virtuemart_product_id) ON g.virtuemart_product_id = a.virtuemart_product_id) RIGHT JOIN #__virtuemart_currencies k ON k.virtuemart_currency_id = d.product_currency, #__virtuemart_categories_'.$lang.' WHERE g.virtuemart_category_id = #__virtuemart_categories_'.$lang.'.virtuemart_category_id AND a.published = 1 AND d.product_price > 0 AND b.product_name <> \'\' AND g.virtuemart_category_id NOT IN ('.EXCLUDE_CAT.') AND a.virtuemart_product_id NOT IN ('.EXCLUDE_PROD.')';
$db->setQuery($query);
$rows = $db->loadObjectList();
$product_log = array();
foreach ($rows as $row) {
if (!in_array($row->virtuemart_product_id, $product_log)) {
$product_name = htmlspecialchars(trim(strip_tags($row->product_name)));
if ($product_name == '')
continue;
$product_log[] = $product_id = $row->virtuemart_product_id;
$product_cat_id = $row->virtuemart_category_id;
$product_sku = $row->product_sku;
$product_category = $row->category_name;
$override_price = $row->product_override_price;
$mf_name = $row->mf_name;
$product_price = sprintf('%.2f', $row->product_price);
$type = $row->mf_name ? ' type="vendor.model"' : '';
$url = 'http://'.str_replace(array('/market/', '//'), array('', '/'), $live_site.JRoute::_('index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id='.$product_id.'&virtuemart_category_id='.$product_cat_id));
$excel .= '<td style = "vertical-align: middle;">'.$product_id.'</td>';
$excel .= '<td width = "80px" style = "vertical-align: middle;">'.$product_sku.'</td>';
$excel .= '<td width = "160px" style = "vertical-align: middle;"><a href ="'.$url.'" title ="'.$product_name.'" target="_parent">'.$product_name.'</a></td>';
$excel .= '<td width = "auto" style = "vertical-align: middle;white-space:nowrap;">'.$product_category.'</td>';
$excel .= '<td width = "100px" style = "vertical-align: middle;"><span class="label label-success">'.$product_price.' '.CURRENCY.'</span></td>';
//$excel .= '<td width = "auto" style = "vertical-align: middle;white-space:nowrap;">'.$override_price.'</td>';
//$excel .= '<td width = "auto" style = "vertical-align: middle;white-space:nowrap;">'.$mf_name.'</td>';
//$excel .= '<td style = "vertical-align: middle;"><a href ="'.$url.'" title ="'.$product_name.'" target="_parent"><img src="http://'.$live_site.str_replace(' ', '%20', $row->file_url).'" width="40" class="img-polaroid"/></a></td>';
$excel .= '<td><small>'.mb_substr(htmlspecialchars(strip_tags($row->product_desc)), 0, 50).'…</small></td>';
$excel .= '<td width = "80px" style = "vertical-align: middle;"><a href ="'.$url.'" title ="'.$product_name.'" target="_parent" class="btn btn-mini">Подробнее</a></td>';
$excel .= '</tr>';
}
}
$excel .= '<td></td></table></div></body></html>';
echo $excel;
?>
ps Делал под свой сайт -поэтому врятли буду поддерживать. скрипт простой разобраться не сложно, скрипт можно распространять , переделывать, и вообще все что угодно