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

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

[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
 
И - опять же неправильно...
Внимательно читая описание , видим что первый массив - это Массив входных параметров компонента, а второй - это Массив, содержащий дополнительные параметры отображения компонента: "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, время: 07:33.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.