<?
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/php_interface/include/resizer.php');
CModule::IncludeModule('iblock');
CModule::IncludeModule('catalog');
if (array_key_exists('mPDF', $_POST))
{
ini_set('memory_limit', '2048M');
$arFilter = Array('IBLOCK_ID'=>4, 'GLOBAL_ACTIVE'=>'Y',
array('LOGIC' => "OR",
'UF_COLLECTION' => true,
'UF_SALE' => true,
),
'DEPTH_LEVEL' => 2);
$db_list = CIBlockSection::GetList(Array("left_margin"=>"ASC", "SORT"=>"ASC", "NAME"=>"ASC"), $arFilter, false);
while($ar_result = $db_list->GetNext())
{
// if($ar_result['DEPTH_LEVEL'] == 1) {
$sec[$ar_result['ID']] = $ar_result;
// } else {
// $sec[$ar_result['ID']] = $sec[$ar_result['IBLOCK_SECTION_ID']];
// }
}
$arFilter = Array("IBLOCK_ID"=>4, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y");
if(is_array($_REQUEST['sec']) && count($_REQUEST['sec']) > 0) {
$arFilter['SECTION_ID'] = $_REQUEST['sec'];
$arFilter['INCLUDE_SUBSECTIONS'] = 'Y';
}
if(is_array($_REQUEST['type']) && count($_REQUEST['type']) > 0) {
$arFilter['PROPERTY_type'] = $_REQUEST['type'];
}
if(is_array($_REQUEST['article']) && count($_REQUEST['article']) > 0) {
$arFilter['ID'] = $_REQUEST['article'];
}
if($_REQUEST['new']) {
$arFilter['!PROPERTY_NEWPRODUCT'] = false;
}
if($_REQUEST['spec']) {
$arFilter['!PROPERTY_SPECIALOFFER'] = false;
}
if($_REQUEST['lider']) {
$arFilter['!PROPERTY_SALELEADER'] = false;
}
if($_REQUEST['soon']) {
$arFilter['!PROPERTY_SOON'] = false;
}
$res = CIBlockElement::GetList(Array("property_collection_sort"=>"ASC"), $arFilter, false, false);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
$arFields['PROPERTIES'] = $ob->GetProperties();
$price = GetCatalogProductPriceList($arFields['ID']);
foreach($price as $pr) {
$arFields['PRICE'][$pr['CATALOG_GROUP_ID']] = $pr['PRICE'];
}
if($_REQUEST['group1a'] == 'section')
$group1 = $sec[$arFields['IBLOCK_SECTION_ID']]['NAME'];
elseif($_REQUEST['group1a'] == 'type')
$group1 = $arFields['PROPERTIES']['type']['VALUE'];
elseif($_REQUEST['group1a'] == 'spec') {
if($arFields['PROPERTIES']['SPECIALOFFER']['VALUE'])
$group1 = 'Специальное предложение';
else $group1 = 'Остальные товары';
} elseif($_REQUEST['group1a'] == 'soon') {
if($arFields['PROPERTIES']['SOON']['VALUE'])
$group1 = 'Ожидается поступление';
else $group1 = 'Остальные товары';
}
elseif($_REQUEST['group1a'] == 'new') {
if($arFields['PROPERTIES']['NEWPRODUCT']['VALUE'])
$group1 = 'Новинка';
else $group1 = 'Остальные товары';
}
elseif($_REQUEST['group1a'] == 'lider') {
if($arFields['PROPERTIES']['SALELEADER']['VALUE'])
$group1 = 'Лидер продаж';
else $group1 = 'Остальные товары';
}
elseif($_REQUEST['group1a'] == 'material')
$group1 = $arFields['PROPERTIES']['PROP4']['VALUE'];
elseif($_REQUEST['group1a'] == 'sostav')
$group1 = $arFields['PROPERTIES']['PROP3']['VALUE'];
if($_REQUEST['group2a'] == 'section')
$group2 = $sec[$arFields['IBLOCK_SECTION_ID']]['NAME'];
elseif($_REQUEST['group2a'] == 'type')
$group2 = $arFields['PROPERTIES']['type']['VALUE'];
elseif($_REQUEST['group2a'] == 'spec') {
if($arFields['PROPERTIES']['SPECIALOFFER']['VALUE'])
$group2 = 'Специальное предложение';
else $group2 = 'Остальные товары';
}
elseif($_REQUEST['group2a'] == 'soon') {
if($arFields['PROPERTIES']['SOON']['VALUE'])
$group1 = 'Ожидается поступление';
else $group1 = 'Остальные товары';
}
elseif($_REQUEST['group2a'] == 'new') {
if($arFields['PROPERTIES']['NEWPRODUCT']['VALUE'])
$group2 = 'Новинка';
else $group2 = 'Остальные товары';
}
elseif($_REQUEST['group2a'] == 'lider') {
if($arFields['PROPERTIES']['SALELEADER']['VALUE'])
$group2 = 'Лидер продаж';
else $group2 = 'Остальные товары';
}
elseif($_REQUEST['group2a'] == 'material')
$group2 = $arFields['PROPERTIES']['PROP4']['VALUE'];
elseif($_REQUEST['group2a'] == 'sostav')
$group2 = $arFields['PROPERTIES']['PROP3']['VALUE'];
$prod[$group1][$group2][] = $arFields;
}
$html = '
<st yle>
.price-table {
border:1px solid #d8d8da;
border-collapse:collapse;
margin-top:10px;
margin-bottom:12px;
}
.price-table th {
background:#eeeeee;
font-weight:normal;
font-size:10px;
padding:5px;
}
.price-table td, .price-table th {
border:1px solid #d8d8da;
}
.price-table td {
color:#848484;
text-align:center;
padding:5px;
}
.bgcolor {
background:#eeeeee;
}
.info-table {
font-size:11px;
}
.info-table td {
vertical-align:top;
}
.size {
background:#eeeeee;
padding:5px;
}
</style>
<img src="http://www.remixline.ru/images/pdf-header.jpg" />
<br />
';
$i = 0;
foreach($prod as $key=>$arKol) {
$html.='
<h2 align="center" style="font-family:Tahoma;">'.$key.'</h2>';
foreach($arKol as $key2=>$type) {
$html.='<div style="width:100%; background-color:#7d7d7d; color:#FFFFFF; text-align:center;">
'.$key2.'
</div>';
foreach($type as $val) {
$i++;
if($i > 3) {
//$html.=' <pagebreak /> ';
$i = 0;
}
$prop = $val['PROPERTIES'];
$html.='<table width="100%" style="margin-top:20px; border-bottom:1px solid black; padding:0; margin-left:0; margin-right:0;" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="165">';
if($val['PROPERTIES']['SALELEADER']['VALUE'])
$arWaterMarkBig = array('path_to_watermark'=>'/images/best_list.png','margin_x'=>0, 'margin_y'=>0);
elseif($val['PROPERTIES']['SPECIALOFFER']['VALUE'])
$arWaterMarkBig = array('path_to_watermark'=>'/images/super_list.png','margin_x'=>0, 'margin_y'=>0);
elseif($val['PROPERTIES']['NEWPRODUCT']['VALUE'])
$arWaterMarkBig = array('path_to_watermark'=>'/images/new_list.png','margin_x'=>0, 'margin_y'=>0);
else $arWaterMarkBig = false;
$html.='<div style="width:147px;height:220px; ">';
// $file = MyImageResizer::ResizeImageGet($val['DETAIL_PICTURE'], array('width'=>147, 'height'=>900), BX_RESIZE_IMAGE_PROPORTIONAL, true, false, $arWaterMarkBig);
$file = CMyImageResizer::ResizeImageGet($val['DETAIL_PICTURE'], array('width'=>147, 'height'=>900), BX_RESIZE_IMAGE_PROPORTIONAL, true, false, $arWaterMarkBig);
$html.='<img width="147" style="border:1px solid #d8d8da;" src="http://www.remixline.ru'.$file['src'].'">
</div>
<br /><br />
</td>
<td valign="top">
<h3>'.$val['NAME'].'</h3>
<table class="price-table" width="100%">
<tr>
<th>Минимальный заказ<br />
от 10000 до 19999 руб.</th>
<th>Малый заказ<br />
от 20000 до 49999 руб.</th>
<th>Базовый заказ<br />
от 50000 до 99999 руб.</th>
<th>Оптовый заказ<br />
от 100000 до 149999 руб.</th>
<th>Крупнооптовый заказ<br />
от 150000 руб.</th>
</tr>
<tr>
<td>'.number_format($val['PRICE'][7], 0, '.', ' ').' руб.</td>
<td>'.number_format($val['PRICE'][2], 0, '.', ' ').' руб.</td>
<td>'.number_format($val['PRICE'][1], 0, '.', ' ').' руб.</td>
<td>'.number_format($val['PRICE'][3], 0, '.', ' ').' руб.</td>
<td>'.number_format($val['PRICE'][4], 0, '.', ' ').' руб.</td>
</tr>
</table>
<table class="info-table" width="100%" >
<tr>
<td width="136">
<b>КОЛЛЕКЦИЯ</b>
<table>
<tr>
<td class="size">'.$sec[$val['IBLOCK_SECTION_ID']]['NAME'].'</td>
</tr>
</table>
<br />
<b>РАЗМЕРЫ</b>
<table>
<tr>';
//PROP2
$i = 0;
foreach($val['PROPERTIES']['PROP2']['VALUE'] as $size) {
$i++;
if($i > 4) {
$html.='</tr><tr>';
$i = 1;
}
$html.='<td class="size">'.$size.'</td>';
}
$html.='
</tr>
</table>
<img src="http://www.remixline.ru/images/blank.gif" width="136" >
</td>
<td width="126">';
if(strlen($prop['PROP1']['VALUE']) > 0) {
$html.='<b>РАСЦВЕТКА</b>
<div>'.$prop['PROP1']['VALUE'].'</div> <br />';
}
$html.='<b>КОД ИЗДЕЛИЯ</b>
<div>'.$val['ID'].'</div>';
$html.='
<img src="http://www.remixline.ru/images/blank.gif" width="126" height="1">
</td>
<td width="206">';
if(strlen($prop['PROP4']['VALUE']) > 0) {
$html.='<b>МАТЕРИАЛ</b>
<div>'.$prop['PROP4']['VALUE'].'</div><br />';
}
if(strlen($prop['PROP3']['VALUE']) > 0) {
$html.='<b>СОСТАВ</b>
<div>'.$prop['PROP3']['VALUE'].'</div>';
}
$html.='<img src="http://www.remixline.ru/images/blank.gif" width="206" height="1"></td>
<td align="right" valign="bottom">
<a href="http://www.remixline.ru'.$val['DETAIL_PAGE_URL'].'"><img src="http://remixline.ru/images/pdford.gif" width="106"></a>
</td>
</tr>
</table>
<br /><br />
</td>
</tr>
</table>';
}
}
}
//echo $html; die();
//==============================================================
include($_SERVER['DOCUMENT_ROOT']."/include/mpdf/mpdf.php");
$mpdf=new mPDF('','', 0, '', 10, 10, 11, 11, 9, 9);
$mpdf->shrink_tables_to_fit=0;
$mpdf->WriteHTML($html);
$mpdf->Output();
exit;
//==============================================================
} else {
// Collections
$arFilter = Array('IBLOCK_ID'=>4, 'GLOBAL_ACTIVE'=>'Y','UF_COLLECTION' => true, 'DEPTH_LEVEL' => 2);
$db_list = CIBlockSection::GetList(Array("SORT"=>"ASC", "NAME"=>"ASC"), $arFilter, false);
while($ar_result = $db_list->GetNext())
{
$arCol[] = $ar_result;
}
// Sales
$arFilter = Array('IBLOCK_ID'=>4, 'GLOBAL_ACTIVE'=>'Y','UF_SALE' => true, 'DEPTH_LEVEL' => 2);
$db_list = CIBlockSection::GetList(Array("SORT"=>"ASC", "NAME"=>"ASC"), $arFilter, false);
while($ar_result = $db_list->GetNext())
{
$arLeft[] = $ar_result;
}
//type
$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>4, "CODE"=>"type"));
while($enum_fields = $property_enums->GetNext())
{
$arType[] = $enum_fields;
}
$arSelect = Array("ID", "NAME");
$arFilter = Array("IBLOCK_ID"=>4, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array("NAME"=>"ASC"), $arFilter, false, false, $arSelect);
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
$arArticle[] = $arFields;
}
$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>4, "CODE"=>"SPECIALOFFER"));
while($enum_fields = $property_enums->GetNext())
{
$arSpecial = $enum_fields;
}
$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>4, "CODE"=>"NEWPRODUCT"));
while($enum_fields = $property_enums->GetNext())
{
$arNewprod = $enum_fields;
}
$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>4, "CODE"=>"SALELEADER"));
while($enum_fields = $property_enums->GetNext())
{
$arSale = $enum_fields;
}
}
?><?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");?>
<st yle>
label, select, h1, h2, h3 {
font-family: 'Arial';
}
</style>
<h1>Генерация прайс-листа</h1>
<sc ript src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"></sc ript>
<fo rm method="post">
<input type="hidden" name="group1a" value="section">
<input type="hidden" name="group2a" value="type">
<h2>Фильтр по акции:</h2>
<input type="checkbox" name="new" value="<?=$arNewprod['ID']?>" id="<?=$arNewprod['ID']?>" />
<label for="new"><?=$arNewprod['PROPERTY_NAME']?></label><br />
<input type="checkbox" name="<?=$arSpecial['PROPERTY_NAME']?>" value="<?=$arSpecial['ID']?>" id="<?=$arSpecial['ID']?>" />
<label for="spec"><?=$arSpecial['PROPERTY_NAME']?></label><br />
<input type="checkbox" name="lider" value="Y" id="lider" />
<label for="lider">Лидеры продаж</label><br />
<input type="checkbox" name="soon" value="Y" id="soon" />
<label for="soon">Ожидается поступление</label><br />
<h2>Фильтр по коллекции:</h2>
<?foreach($arCol as $sec) { ?>
<input type="checkbox" name="sec[]" value="<?=$sec['ID']?>" id="sec<?=$sec['ID']?>" />
<label for="sec<?=$sec['ID']?>"><?=$sec['NAME']?></label><br />
<? } ?>
<? foreach($arLeft as $sec) { ?>
<input type="checkbox" name="sec[]" value="<?=$sec['ID']?>" id="sec<?=$sec['ID']?>" />
<label for="sec<?=$sec['ID']?>"><?=$sec['NAME']?></label><br />
<? } ?>
<h2>Фильтр по типу:</h2>
<?foreach($arType as $type) { ?>
<input type="checkbox" name="type[]" value="<?=$type['ID']?>" id="type<?=$type['ID']?>" />
<label for="type<?=$type['ID']?>"><?=$type['VALUE']?></label><br />
<? } ?>
<h2><a href="#" id="article-filter">Фильтр по артикулу (развернуть)</a></h2>
<div class="article" style="display:none;" >
<?foreach($arArticle as $article) { ?>
<input type="checkbox" name="article[]" value="<?=$article['ID']?>" id="article<?=$article['ID']?>" />
<label for="article<?=$article['ID']?>"><?=$article['NAME']?></label>
<br />
<? } ?>
</div>
<br /><br />
<input type="submit" name="mPDF" value="Сгенерировать PDF" />
</form>
<sc ript>
$("#article-filter").click(function(){
$(".article").slideToggle();
return false;
});
</sc ript>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
|