[ОТВЕТИТЬ]
Опции темы
25.08.2014 09:29  
aldemko
не, я ж написал не то что бы в упрек, я сам не особо (((((
просто чтоб для общего рассуждения, может на мысль кого натолкнет )
скидка уже оч надо ( а она не работаеть (((((((((((
 
25.08.2014 09:29  
KirillHome
Да, в данном случае ошибочный вызов IncludeComponent.

Читаем описание на Bitrix-е

[php]mixed
IncludeComponent(
string componentName,
string componentTemplate,
array arParams=array(),
object parentComponent=null,
array arFunctionParams=array()
);
[/php]

Т.е, скорее всего надо вызывать так

[php]<div class="item_price">
<?
$boolDiscountShow = (0 < $arResult['MIN_PRICE']['DISCOUNT_DIFF']);
?>
<div class="item_old_price" id="<? echo $arItemIDs['OLD_PRICE']; ?>" style="display: <? echo ($boolDiscountShow ? '' : 'none'); ?>"><? echo ($boolDiscountShow ? $arResult['MIN_PRICE']['PRINT_VALUE'] : ''); ?></div>
<div class="item_current_price" id="<?// echo $arItemIDs['PRICE']; ?>">
</div>

<div>
<?
$disc = $arResult['MIN_PRICE']['PRINT_DISCOUNT_DIFF'];
?>
<?//тут будет компонет pricegd
$APPLICATION->IncludeComponent("hard:pricegd", "catalogitem1", Array(
"ELEMENT_ID" => $arResult["ID"]
),
false,
array(
"ACTIVE_COMPONENT" => "Y",
"BASE_DISC" = $disc
),
);
?>
</div>

<div class="item_economy_price" id="<? echo $arItemIDs['DISCOUNT_PRICE']; ?>" style="display: <? echo ($boolDiscountShow ? '' : 'none'); ?>"><? echo ($boolDiscountShow ? GetMessage('ECONOMY_INFO', array('#ECONOMY#' => $arResult['MIN_PRICE']['PRINT_DISCOUNT_DIFF'])) : ''); ?></div>
</div>[/php]
 
25.08.2014 09:37  
aldemko
ругается на строку с
[php]"BASE_DISC" = $disc[/php]

на
[php]<?
$disc = $arResult['MIN_PRICE']['PRINT_DISCOUNT_DIFF'];
?>[/php] не ругается
 
25.08.2014 09:40  
aldemko
если переделать на
[php] "BASE_DISC" => $disc
),
);[/php]
то ругается на закрывающуюся скобку );
 
25.08.2014 09:41  
KirillHome
Запятая лишняя :)

[php] "BASE_DISC" => $disc
)
);
[/php]
 
25.08.2014 09:44  
aldemko
так не ругается
[php]<?//тут будет компонет pricegd
$APPLICATION->IncludeComponent("hard:pricegd", "catalogitem1", Array(
"ELEMENT_ID" => $arResult["ID"]
),
false,
array(
"ACTIVE_COMPONENT" => "Y",
"BASE_DISC" = >$disc
)
);
?>[/php]

ток теперь цена вниз уползла )) ну то мелочь
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 21 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.



провал цены вниз поправил.
 
25.08.2014 09:49  
KirillHome
И - опять же неправильно...
Внимательно читая описание IncludeComponent, видим что первый массив - это Массив входных параметров компонента, а второй - это Массив, содержащий дополнительные параметры отображения компонента: "HIDE_ICONS"=>"Y" - не показывать панель настройки компонента в режиме редактировани/разработки; "ACTIVE_COMPONENT"=>"N" - отключить компонент (код компонента не подключается).

Т.к. надо передать входной параметр, а не параметр отображения, строку "BASE_DISC" => $disc надо перенести в первый массив.

В результате получаем

[php]<?//тут будет компонет pricegd
$APPLICATION->IncludeComponent("hard:pricegd", "catalogitem1", Array(
"ELEMENT_ID" => $arResult["ID"],
"BASE_DISC" => $disc
),
false,
array(
"ACTIVE_COMPONENT" => "Y"
)
);
[/php]
 
25.08.2014 09:52  
aldemko
кстати
[php]<?//тут будет компонет pricegd
$APPLICATION->IncludeComponent("hard:pricegd", "catalogitem",
array(
"ELEMENT_ID" => $arResult['ID']
),
false,
array(
"ACTIVE_COMPONENT" => "Y",

),
$disc
);
?>[/php] тоже сработало, я еще раз посмотрел на то что мы с вами переделывали, и заметил что пропустил запятую

но вопрос как лучше будет как выше или

[php]
<?//тут будет компонет pricegd
$APPLICATION->IncludeComponent("hard:pricegd", "catalogitem1", Array(
"ELEMENT_ID" => $arResult["ID"],
"BASE_DISC" => $disc
),
false,
array(
"ACTIVE_COMPONENT" => "Y"
)
);[/php]

ну в смысле сам формат подачи первый или второй лучшим будет и правильнее


Оставил пока так
[php]<div>
<?
$disc = $arResult['MIN_PRICE']['PRINT_DISCOUNT_DIFF'];
?>
<?//тут будет компонет pricegd
$APPLICATION->IncludeComponent("hard:pricegd", "catalogitem",
array(
"ELEMENT_ID" => $arResult['ID'],
"BASE_DISC" => $disc
),
false,
array(
"ACTIVE_COMPONENT" => "Y"
)
);
?>
</div>[/php]
страничка вроде ровно выходит и цена не падает.
 
25.08.2014 10:00  
KirillHome
На всякий случай скажу, что у меня сейчас цена (зачёркнутая) отображается как 318 600 рублей, а не как 270 000 рублей (опять НДС?).
 
25.08.2014 10:01  
aldemko
Да это с НДС.
сейчас поправится цена, выгружается уже с 1с
уже поправилась зачеркнутая цена
осталось вроде не так уже и много ( но наверное самое сложное
как цену сделать со скидкой (

вписал в pricegd
[php]echo '<div class="item_current_price" id="">Скидка (тест): '.$disc.' руб.</div><br />'; [/php]
и над ценой появилась надпись
Скидка (тест): руб.

сумму скидки не показало. если я правильно понял этот pricegd не совсем в курсе про $disc

попробовал так вот
[php]
$disc = $arResult['MIN_PRICE']['PRINT_DISCOUNT_DIFF'];

echo '<div class="item_current_price" id="">Скидка (тест): '.$disc.' руб.</div><br />'; [/php]
все равно про сумму скидки ему не ведомо
 
 


Опции темы



Часовой пояс GMT +3, время: 19:29.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.