22.08.2014 11:37
Ведь кто-то этот шаблон visual разрабатывал, ставил?
Вот и обратится к автору (установщику) со словами - "Как же так?"

Или - разбираться самому, что написано (что происходит) в данном шаблоне, из-за чего пропадает нужный функционал.

Ну, или взывать к коллективному разуму....
22.08.2014 13:15
Да, совершенно верно, кто-то писал.
Это было давно. связи с писальщиком нет.
Сам вот пробую, но не хватает знаний обработчиков различных.
Взывать к коллективному разуму, пытаюсь, но я понимаю что у коллективного разума и свои заботы есть, но все же надеюсь что кто то сможет помочь.
Мне здесь не однократно помогали, по см+
но это не значит что все бросились и давай мне помогать, вот сам пытаюсь ковырять, ну и конечно надеюсь на помощь в решении от местных гуру и не гуру
22.08.2014 13:38
Ну вот какая история - изменение "стандарта" происходит в данном шаблоне - Visual.

Значит - или надо опубликовать этот шаблон, что бы кто-то мог на него посмотреть разбирающимся взглядом, или - самому вырабатывать этот разбирающийся взгляд.

А сейчас что... Что-то похожее на "чёрный ящик" - т.е. происходит вызов некой неизвестной штуковины, после чего не работают стандартные функции.... И что здесь можно сказать/посоветовать???
22.08.2014 14:43
согласен
вот, если я правильно понял папка
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 21 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.
22.08.2014 15:20
Что делать - не скажу, но, IMHO - проблема в этом куске

SQL код:
<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>

<?//тут будет компонет pricegd
$APPLICATION->IncludeComponent("hard:pricegd", "catalogitem1", Array(
    "ELEMENT_ID" => $arResult["ID"]
    ),
    false,
    array(
    "ACTIVE_COMPONENT" => "Y"
    )
);
?>
</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>
в модуле bitrix\catalog.element\visual\template.php

Возможно - надо смотреть, что такое (что происходит в) hard:pricegd?

Ну да, есть ещё один вызов этого pricegd

SQL код:
<div class="bx_catalog_item_price"><div id="<? echo $arItemIDs['PRICE']; ?>" class="bx_price"><?
    
    //компонент цен и скидок сюда

    $APPLICATION->IncludeComponent("hard:pricegd", "catalogspisok", 
    array(
    "ELEMENT_ID" => $arItem['ID']
    ),
    false,
    array(
    "ACTIVE_COMPONENT" => "Y"
    )
);

    ?></div>

    <div class="dalee"><a class="dalee_a" href="<? echo $arItem['DETAIL_PAGE_URL']; ?>">Подробнее>></a></div>

</div>
в модуле bitrix\catalog.section\visual\template.php, который, как мне показалось, отвечает за просмотр списка
22.08.2014 16:49
Я не такой спец как вы. надеюсь когда то стану.
про hard:pricegd я писал выше
и как вы правильно заметили, хотя я не такой спец как вы (к сожалению, возможно стану) я тоже подумал что загвоздка в нем

а вот и сам

pricegd:
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

//echo $arResult['DISCOUNTS']['col'];
/*echo "<pre>";
print_r ($arResult['DISCOUNTS']);
echo "</pre>";*/

$osn_price = $arResult['DISCOUNTS']['price_osn'][''] + 0;//это ноль прибавлен доля того, чтобы из 5000.00 стало 5000 (убрали .00)

if ($arResult['DISCOUNTS']['price_osn'][''] != "")
{
echo '<div class="item_current_price" id="">Цена: '.$osn_price.' руб.</div><br>';
}
else
{
echo '<div class="item_current_price" id="">Цена: по запросу</div><br>';
}

for($i = 0; $i < $arResult['DISCOUNTS']['col']; $i++)//погнали скидки выводить
{
if ($arResult['DISCOUNTS']['dnk_s'][$i] == $arResult['DISCOUNTS']['dnk_out'][$i] && $arResult['DISCOUNTS']['price_osn'][''] != "")
{
$type_s_out = "";
if ($arResult['DISCOUNTS']['type_s'][$i] == "Процент")
{
$type_s_out = $arResult['DISCOUNTS']['val_s'][$i]."%";
}

if ($arResult['DISCOUNTS']['sklad_s'][$i] == "Под заказ")
{
echo "<span style='font-weight:bold; color:#00A80D; font-size: 15px;'>&nbsp;&nbsp;Под заказ, цена со скидкой <span style='font-size: 16px;' >".$type_s_out."</span>: <span style='font-weight:bold; font-size: 16px; color: #FA8C00;'>".$arResult['DISCOUNTS']['skid'][$i]." руб.</span></span><br>";
}

if ($arResult['DISCOUNTS']['sklad_s'][$i] == "Владивосток")
{
echo "<span style='font-weight:bold; color:#00A80D; font-size: 15px;'>&nbsp;&nbsp;Цена со скидкой <span style='font-size: 16px;' >".$type_s_out."</span> во Владивостоке: <span style='font-weight:bold; font-size: 16px; color: #FA8C00;'>".$arResult['DISCOUNTS']['skid'][$i]." руб.</span></span><br>";
}

if ($arResult['DISCOUNTS']['sklad_s'][$i] == "Москва")
{
echo "<span style='font-weight:bold; color:#00A80D; font-size: 15px;'>&nbsp;&nbsp;Цена со скидкой <span style='font-size: 16px;' >".$type_s_out."</span> в Москве: <span style='font-weight:bold; font-size: 16px; color: #FA8C00;'>".$arResult['DISCOUNTS']['skid'][$i]." руб.</span></span><br>";
}

if ($arResult['DISCOUNTS']['sklad_s'][$i] == "")
{
echo "<span style='font-weight:bold; color:#00A80D; font-size: 15px;'>&nbsp;&nbsp;Цена со скидкой: <span style='font-size: 16px;' >".$type_s_out."</span> <span style='font-weight:bold; font-size: 16px; color: #FA8C00;'>".$arResult['DISCOUNTS']['skid'][$i]." руб.</span></span><br>";
}

if ($arResult['DISCOUNTS']['comment'][$i] != "")
{
echo "<span style='font-style: italic; color:#000; font-size: 12px;'>&nbsp;&nbsp;&nbsp;".$arResult['DISCOUNTS']['comment'][$i]."</span><br>";
}


}

}

?>

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

о котором я писал выше, но как подменить цену так и не понял(
22.08.2014 17:10
По-моему - это уже пошло по второму кругу.
Лично я - сдался (PHP вижу второй раз в жизни, Bitrix-а не видел "изнутри" никогда).
22.08.2014 17:31
да, наверное даже по 5 ому кругу.
но проблема есть, и мне по прежнему нужна помощь
22.08.2014 18:08
Последняя попытка :)

В pricegd\catalogitem1\result_modifier.php есть такой div

SQL код:
<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']; ?>"><? echo $arResult['MIN_PRICE']['PRINT_DISCOUNT_VALUE']; ?></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>
В первой строке (зачеркнутая "270 000 рублей") показывает arResult['MIN_PRICE']['PRINT_VALUE']
Во второй (выделенная "Цена: 270000 руб.") $arResult['MIN_PRICE']['PRINT_DISCOUNT_VALUE']
В третьей (серая "(Экономия в цене - 300 рублей)") $arResult['MIN_PRICE']['PRINT_DISCOUNT_DIFF']

Если "поиграться" и сделать так:
SQL код:
<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']; ?>"><? echo $arResult['MIN_PRICE']['PRINT_DISCOUNT_VALUE']+$arResult['MIN_PRICE']['PRINT_DISCOUNT_DIFF']; ?></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>
Т.е. во второй строке вывести цену со скидкой.
(не знаю, можно ли складывать или надо каким-то переменным присвоить значения, и складывать в них, а выводить уже результат)
(не понял, там всё же минус или плюс должен стоять)

На этом точно идеи кончились.....
22.08.2014 18:12
Или подобного плана "фокус" проделать на коде, указанном ранее
Часовой пояс GMT +3, время: 15:03.

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