[ОТВЕТИТЬ]
20.08.2014 11:37
aldemko
 
Доброго времени суток
Столкнулся с проблемой (казалось бы)
Есть
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 21 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.

у него есть базовая стоимость.
ниже идет доп модуль (на скидки под заказ и тд и тп) реализованный через справочники. (с этим проблем нет)

есть базовая цена (берется из 1с)
через модуль Скидки пытаюсь изменить базовую стоимость у конкретной группы товаров (скажем по ширине гусеницы)
в указанном выше примере я поставил скидку 300р
и тут пошли вопросы.
как видим он цену не исправил, старая и новая цена идентичны
и еще надпись ваша экономия 300р
Почему не изменяет цену ? в каталоге тоже показывает прежнюю цену
ну и убрать упоминания о старой цене и вашей экономии желательно
помогите реализовать. Спасибо
20.08.2014 15:24
KirillHome
 
Сначала в этой картинке вообще ничего не понял
Вижу:
Цитата:
Цена: 270000 руб.
Цена: 270000 руб.
Под заказ, цена со скидкой 5%: 256500 руб.
(Экономия в цене - 300 рублей)
На сколько я понимаю, выглядеть должно хотя бы так:
Цитата:
Цена: 270000 руб.
Цена: 269700 руб.
(Экономия в цене - 300 рублей)
Под заказ, цена со скидкой 5%: 256215 руб.
Ладно, для начала - настройки скидок нужны
По аналогии с данной картинкой


Ну, и почитать на профильном форуме (вторая ссылка в Google по запросу 1с-битрикс не действует скидка)
Советы оттуда:

Цитата:
В системе установлен один сайт?
Проверьте к тому ли сайту привязана скидка, у меня менеджеры очень часто привязывают не к тому сайту.
Цитата:
В настройках модуля каталога попробуйте прегенерировать скидки.
Цитата:
Может кому поможет...Есть такой замечательный файлик /bitrix/modules/catalog/discount_cpn_data.php. В нем хранятся данные о купонах в сериализованном виде, как раз этот файл и перезаписывается кнопкой под надписью "Перегенерация скидок". Посмотрите есть ли права на запись для этого файла.
Блин, час убил на поиски ошибок... Вот только не пойму почему Битрикс рапортует об успешной перезаписи, когда это не так?
Ну и т.д.
21.08.2014 02:23
aldemko
 
Доброго времени суток
Настройка в скидках такая же, только не в процентах а в конкретной сумме
Вопрос в том почему он не выводит изображение новой цены
21.08.2014 02:46
aldemko
 
Вот настройка
скидки:


А вот результат. Который должен быть не
таким:


как лечить не понятно (
может есть еще какие догадки, соображения и д и тп
спасибо
21.08.2014 07:02
aldemko
 
да и, прегенерировать скидки - у меня нет такого. говорят что после 12 ой версии оно пропало )
и файла /bitrix/modules/catalog/discount_cpn_data.php у меня не наблюдается
21.08.2014 07:25
aldemko
 
Нашел направление
Используется не стандартный каталогитем
а переделанный
вот его
КОД:
<?
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 />";
}


}

}

?>


но в чем проблема пока не смекну


PS
echo '<div class="item_current_price" id="">Цена: '.$osn_price.' руб.</div><br />'; вот оно цену выводит. но почму скидку не применяет, или переменная заменена
21.08.2014 08:45
aldemko
 
Сделал восстановление из резервной копии
прописываю скидку. опять же 300 р
теперь старая цена 318 600 рублей
а цена как была 270 000 так и есть
откуда он взял 318 тыс не понятно
а внизу по прежнему пишет экономия 300р


в общем я так понял мне нужно содержимое заменить $osn_price = $arResult['DISCOUNTS']['price_osn'][''] + 0;
но на что (
а может и не правильно я понял (
21.08.2014 09:54
aldemko
 
Цитата:
aldemko Сделал восстановление из резервной копии
прописываю скидку. опять же 300 р
теперь старая цена 318 600 рублей
а цена как была 270 000 так и есть
откуда он взял 318 тыс не понятно
а внизу по прежнему пишет экономия 300р


в общем я так понял мне нужно содержимое заменить $osn_price = $arResult['DISCOUNTS']['price_osn'][''] + 0;
но на что (
а может и не правильно я понял (

PS откуда взялась старая цена 318 600 я уже понял
Дело в том что когда я отбекапился назад, там еще были цены без НДС а в каталоге было указано что товар имее НДС он прибавлял к 270 000 еще 18% и выходило 318600
меня больше беспокоит почему 270 000 не уменьшается под действием скидки (
21.08.2014 10:07
KirillHome
 
А настройка "скидки под заказ" какая?
Там, по случаю, не стоит флаг "Прекратить дальнейшее применение"?
21.08.2014 10:11
aldemko
 
Настроек скидки под заказ нет
эти скидки реализованы через справочники. функции Прекратить или не прекратить дальнейшее применение они не имеют
Вот:


пробовал скидку под заказ деактивировать
результат плачевный, он отсутствует (((
21.08.2014 11:38
KirillHome
 
Честно говоря - отсутствуют знания и по PHP, и по Bitrix-у.

То, чего я не увидел - это, собственно, вычисление скидки.

Что-то есть об использовании скидок в HELP-е - это не оно?

И вот пример использования
SQL код:
foreach($arResult["ITEMS"] as $key => $arElement

if(
$arElement["PRICES"]["BASE"]["DISCOUNT_VALUE"] != $arElement["PRICES"]["BASE"]["VALUE"])
   {
      
$discount CCatalogDiscount::GetDiscountByProduct($arElement["ID"], $USER->GetUserGroupArray());
      
$discount $discount[0];
      
$arElement["DISCOUNT"] = array("VALUE" => $arElement["PRICES"]["BASE"]["DISCOUNT_VALUE"],
                      
"TYPE" => $discount["VALUE_TYPE"]);
      if(
"P" == $discount["VALUE_TYPE"])
         
$arElement["DISCOUNT"]["PRINT_VALUE"] = intval($discount["VALUE"]).'%';
      else
         
$arElement["DISCOUNT"]["PRINT_VALUE"] = intval($discount). ' Р';
   }
   
$arResult["ITEMS"][$key] = $arElement;
 } 
Правда, по-моему, ошибочный - кажется что должно быть не
SQL код:
      if("P" == $discount["VALUE_TYPE"])
         
$arElement["DISCOUNT"]["PRINT_VALUE"] = intval($discount["VALUE"]).'%';
      else
         
$arElement["DISCOUNT"]["PRINT_VALUE"] = intval($discount). ' Р'
, а
SQL код:
      if("P" == $discount["VALUE_TYPE"])
         
$arElement["DISCOUNT"]["PRINT_VALUE"] = intval($discount["VALUE"]).'%';
      else
         
$arElement["DISCOUNT"]["PRINT_VALUE"] = intval($discount["VALUE"]). ' Р'
discount["VALUE_TYPE"] - тип скидки, для процентной - P (что для фиксированной цены, а что для абсолютной скидки - я не нашёл).
discount["VALUE"] - собственно, скидка.

Но - повторюсь - всё это совсем "по наитию".
21.08.2014 11:54
aldemko
 
у меня к сожалению тоже не такие уже и большие познания.
куда этот код вставлять ?)
21.08.2014 13:17
aldemko
 
я попробовал и первый и второй вариант ввставить
ошибку выдает (
21.08.2014 14:56
KirillHome
 
В каком модуле используется указанный в этом посту код?
Что такое $arResult['DISCOUNTS']['price_osn'][''] ?
Чем оно отличается от $arResult['DISCOUNTS']['dnk_s'][$i] ?
А от $arResult['DISCOUNTS']['dnk_out'][$i] ?

А если совсем уж честно - я бы пошёл с такими вопросами на сайт Битрикса.
А сюда бы транслировал найденные пути решения проблем.
21.08.2014 15:33
aldemko
 
я и туда пошел! пока жду ответа (((
будет результат, конечно же поделюсь
21.08.2014 17:15
aldemko
 
ответ ТП
Вот:
Добрый день.

После применения к компоненту bitrix.catalog стандартного шаблона ".default(Встроенный шаблон)" проблема не наблюдается.
Проблема у вас в шаблоне компонента.
Вам нужно обратиться к разработчикам сайта, чтобы они нашли проблему в не стандартном шаблоне компонента.


кто может помочь решить проблему возможно за небольшое вознаграждение.
если надо будет, тему перенесу в соответствующий раздел.
оч нужно.
спасибо
22.08.2014 03:53
aldemko
 
Еще раз всем доброго времени суток
В общем при установке стандартного шаблона компонента .default скидка (стандартная) и правда работает. (правда пропадает весь остальной функционал доработанного шаблона)
в измененном работает новый функционал но нет старого (

Шаблон
default:
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?$ElementID = $APPLICATION->IncludeComponent(
"bitrix:catalog.element",
"",
array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"PROPERTY_CODE" => $arParams["DETAIL_PROPERTY_CODE"],
"META_KEYWORDS" => $arParams["DETAIL_META_KEYWORDS"],
"META_DESCRIPTION" => $arParams["DETAIL_META_DESCRIPTION"],
"BROWSER_TITLE" => $arParams["DETAIL_BROWSER_TITLE"],
"BASKET_URL" => $arParams["BASKET_URL"],
"ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"],
"PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"],
"SECTION_ID_VARIABLE" => $arParams["SECTION_ID_VARIABLE"],
"PRODUCT_QUANTITY_VARIABLE" => $arParams["PRODUCT_QUANTITY_VARIABLE"],
"PRODUCT_PROPS_VARIABLE" => $arParams["PRODUCT_PROPS_VARIABLE"],
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
"SET_TITLE" => $arParams["SET_TITLE"],
"SET_STATUS_404" => $arParams["SET_STATUS_404"],
"PRICE_CODE" => $arParams["PRICE_CODE"],
"USE_PRICE_COUNT" => $arParams["USE_PRICE_COUNT"],
"SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"],
"PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"],
"PRICE_VAT_SHOW_VALUE" => $arParams["PRICE_VAT_SHOW_VALUE"],
"USE_PRODUCT_QUANTITY" => $arParams['USE_PRODUCT_QUANTITY'],
"PRODUCT_PROPERTIES" => $arParams["PRODUCT_PROPERTIES"],
"LINK_IBLOCK_TYPE" => $arParams["LINK_IBLOCK_TYPE"],
"LINK_IBLOCK_ID" => $arParams["LINK_IBLOCK_ID"],
"LINK_PROPERTY_SID" => $arParams["LINK_PROPERTY_SID"],
"LINK_ELEMENTS_URL" => $arParams["LINK_ELEMENTS_URL"],

"OFFERS_CART_PROPERTIES" => $arParams["OFFERS_CART_PROPERTIES"],
"OFFERS_FIELD_CODE" => $arParams["DETAIL_OFFERS_FIELD_CODE"],
"OFFERS_PROPERTY_CODE" => $arParams["DETAIL_OFFERS_PROPERTY_CODE"],
"OFFERS_SORT_FIELD" => $arParams["OFFERS_SORT_FIELD"],
"OFFERS_SORT_ORDER" => $arParams["OFFERS_SORT_ORDER"],
"OFFERS_SORT_FIELD2" => $arParams["OFFERS_SORT_FIELD2"],
"OFFERS_SORT_ORDER2" => $arParams["OFFERS_SORT_ORDER2"],

"ELEMENT_ID" => $arResult["VARIABLES"]["ELEMENT_ID"],
"ELEMENT_CODE" => $arResult["VARIABLES"]["ELEMENT_CODE"],
"SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"],
"SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"],
"SECTION_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["section"],
"DETAIL_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["element"],
'CONVERT_CURRENCY' => $arParams['CONVERT_CURRENCY'],
'CURRENCY_ID' => $arParams['CURRENCY_ID'],
'HIDE_NOT_AVAILABLE' => $arParams["HIDE_NOT_AVAILABLE"],
'USE_ELEMENT_COUNTER' => $arParams['USE_ELEMENT_COUNTER'],

'ADD_PICT_PROP' => $arParams['ADD_PICT_PROP'],
'LABEL_PROP' => $arParams['LABEL_PROP'],
'OFFER_ADD_PICT_PROP' => $arParams['OFFER_ADD_PICT_PROP'],
'OFFER_TREE_PROPS' => $arParams['OFFER_TREE_PROPS'],
'PRODUCT_SUBSCRIPTION' => $arParams['PRODUCT_SUBSCRIPTION'],
'SHOW_DISCOUNT_PERCENT' => $arParams['SHOW_DISCOUNT_PERCENT'],
'SHOW_OLD_PRICE' => $arParams['SHOW_OLD_PRICE'],
'SHOW_MAX_QUANTITY' => $arParams['DETAIL_SHOW_MAX_QUANTITY'],
'MESS_BTN_BUY' => $arParams['MESS_BTN_BUY'],
'MESS_BTN_ADD_TO_BASKET' => $arParams['MESS_BTN_ADD_TO_BASKET'],
'MESS_BTN_SUBSCRIBE' => $arParams['MESS_BTN_SUBSCRIBE'],
'MESS_BTN_COMPARE' => $arParams['MESS_BTN_COMPARE'],
'MESS_NOT_AVAILABLE' => $arParams['MESS_NOT_AVAILABLE'],
'USE_VOTE_RATING' => $arParams['DETAIL_USE_VOTE_RATING'],
'VOTE_DISPLAY_AS_RATING' => (isset($arParams['DETAIL_VOTE_DISPLAY_AS_RATING']) ? $arParams['DETAIL_VOTE_DISPLAY_AS_RATING'] : ''),
'USE_COMMENTS' => $arParams['DETAIL_USE_COMMENTS'],
'BLOG_USE' => (isset($arParams['DETAIL_BLOG_USE']) ? $arParams['DETAIL_BLOG_USE'] : ''),
'VK_USE' => (isset($arParams['DETAIL_VK_USE']) ? $arParams['DETAIL_VK_USE'] : ''),
'VK_API_ID' => (isset($arParams['DETAIL_VK_API_ID']) ? $arParams['DETAIL_VK_API_ID'] : 'API_ID'),
'FB_USE' => (isset($arParams['DETAIL_FB_USE']) ? $arParams['DETAIL_FB_USE'] : ''),
'FB_APP_ID' => (isset($arParams['DETAIL_FB_APP_ID']) ? $arParams['DETAIL_FB_APP_ID'] : ''),
'BRAND_USE' => (isset($arParams['DETAIL_BRAND_USE']) ? $arParams['DETAIL_BRAND_USE'] : 'N'),
'BRAND_PROP_CODE' => (isset($arParams['DETAIL_BRAND_PROP_CODE']) ? $arParams['DETAIL_BRAND_PROP_CODE'] : ''),
'TEMPLATE_THEME' => (isset($arParams['TEMPLATE_THEME']) ? $arParams['TEMPLATE_THEME'] : ''),
),
$component
);?>
<?
if (0 < $ElementID)
{
if($arParams["USE_ALSO_BUY"] == "Y" && IsModuleInstalled("sale"))
{?>
<?$APPLICATION->IncludeComponent("bitrix:sale.recommended.products", ".default", array(
"ID" => $ElementID,
"MIN_BUYES" => $arParams["ALSO_BUY_MIN_BUYES"],
"ELEMENT_COUNT" => $arParams["ALSO_BUY_ELEMENT_COUNT"],
"LINE_ELEMENT_COUNT" => $arParams["ALSO_BUY_ELEMENT_COUNT"],
"DETAIL_URL" => $arParams["DETAIL_URL"],
"BASKET_URL" => $arParams["BASKET_URL"],
"ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"],
"PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"],
"SECTION_ID_VARIABLE" => $arParams["SECTION_ID_VARIABLE"],
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"PRICE_CODE" => $arParams["PRICE_CODE"],
"USE_PRICE_COUNT" => $arParams["USE_PRICE_COUNT"],
"SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"],
"PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"],
'CONVERT_CURRENCY' => $arParams['CONVERT_CURRENCY'],
'CURRENCY_ID' => $arParams['CURRENCY_ID'],
'HIDE_NOT_AVAILABLE' => $arParams["HIDE_NOT_AVAILABLE"],
),
$component
);
?>
<?
}
if($arParams["USE_STORE"] == "Y" && IsModuleInstalled("catalog"))
{?>
<?$APPLICATION->IncludeComponent("bitrix:catalog.store.amount", ".default", array(
"PER_PAGE" => "10",
"USE_STORE_PHONE" => $arParams["USE_STORE_PHONE"],
"SCHEDULE" => $arParams["USE_STORE_SCHEDULE"],
"USE_MIN_AMOUNT" => $arParams["USE_MIN_AMOUNT"],
"MIN_AMOUNT" => $arParams["MIN_AMOUNT"],
"ELEMENT_ID" => $ElementID,
"STORE_PATH" => $arParams["STORE_PATH"],
"MAIN_TITLE" => $arParams["MAIN_TITLE"],
),
$component
);?>
<?
}
}?>



а вот измененный


шаблон:
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<?
$ElementID = $APPLICATION->IncludeComponent(
"bitrix:catalog.element",
"visual",
array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"PROPERTY_CODE" => $arParams["DETAIL_PROPERTY_CODE"],
"META_KEYWORDS" => $arParams["DETAIL_META_KEYWORDS"],
"META_DESCRIPTION" => $arParams["DETAIL_META_DESCRIPTION"],
"BROWSER_TITLE" => "-",
"BASKET_URL" => $arParams["BASKET_URL"],
"ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"],
"PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"],
"SECTION_ID_VARIABLE" => $arParams["SECTION_ID_VARIABLE"],
"PRODUCT_QUANTITY_VARIABLE" => $arParams["PRODUCT_QUANTITY_VARIABLE"],
"PRODUCT_PROPS_VARIABLE" => $arParams["PRODUCT_PROPS_VARIABLE"],
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
"SET_TITLE" => $arParams["SET_TITLE"],
"SET_STATUS_404" => $arParams["SET_STATUS_404"],
"PRICE_CODE" => $arParams["PRICE_CODE"],
"USE_PRICE_COUNT" => $arParams["USE_PRICE_COUNT"],
"SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"],
"PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"],
"PRICE_VAT_SHOW_VALUE" => $arParams["PRICE_VAT_SHOW_VALUE"],
"USE_PRODUCT_QUANTITY" => $arParams['USE_PRODUCT_QUANTITY'],
"PRODUCT_PROPERTIES" => $arParams["PRODUCT_PROPERTIES"],
"LINK_IBLOCK_TYPE" => $arParams["LINK_IBLOCK_TYPE"],
"LINK_IBLOCK_ID" => $arParams["LINK_IBLOCK_ID"],
"LINK_PROPERTY_SID" => $arParams["LINK_PROPERTY_SID"],
"LINK_ELEMENTS_URL" => $arParams["LINK_ELEMENTS_URL"],

"OFFERS_CART_PROPERTIES" => $arParams["OFFERS_CART_PROPERTIES"],
"OFFERS_FIELD_CODE" => $arParams["DETAIL_OFFERS_FIELD_CODE"],
"OFFERS_PROPERTY_CODE" => $arParams["DETAIL_OFFERS_PROPERTY_CODE"],
"OFFERS_SORT_FIELD" => $arParams["OFFERS_SORT_FIELD"],
"OFFERS_SORT_ORDER" => $arParams["OFFERS_SORT_ORDER"],
"OFFERS_SORT_FIELD2" => $arParams["OFFERS_SORT_FIELD2"],
"OFFERS_SORT_ORDER2" => $arParams["OFFERS_SORT_ORDER2"],

"ELEMENT_ID" => $arResult["VARIABLES"]["ELEMENT_ID"],
"ELEMENT_CODE" => $arResult["VARIABLES"]["ELEMENT_CODE"],
"SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"],
"SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"],
"SECTION_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["section"],
"DETAIL_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["element"],
'CONVERT_CURRENCY' => $arParams['CONVERT_CURRENCY'],
'CURRENCY_ID' => $arParams['CURRENCY_ID'],
'HIDE_NOT_AVAILABLE' => $arParams["HIDE_NOT_AVAILABLE"],
'USE_ELEMENT_COUNTER' => $arParams['USE_ELEMENT_COUNTER'],

'LABEL_PROP' => $arParams['LABEL_PROP'],
'OFFER_ADD_PICT_PROP' => $arParams['OFFER_ADD_PICT_PROP'],
'OFFER_TREE_PROPS' => $arParams['OFFER_TREE_PROPS'],
'PRODUCT_SUBSCRIPTION' => $arParams['PRODUCT_SUBSCRIPTION'],
'SHOW_DISCOUNT_PERCENT' => $arParams['SHOW_DISCOUNT_PERCENT'],
'SHOW_OLD_PRICE' => $arParams['SHOW_OLD_PRICE'],
'SHOW_MAX_QUANTITY' => $arParams['DETAIL_SHOW_MAX_QUANTITY'],
'MESS_BTN_BUY' => $arParams['MESS_BTN_BUY'],
'MESS_BTN_ADD_TO_BASKET' => $arParams['MESS_BTN_ADD_TO_BASKET'],
'MESS_BTN_SUBSCRIBE' => $arParams['MESS_BTN_SUBSCRIBE'],
'MESS_BTN_COMPARE' => $arParams['MESS_BTN_COMPARE'],
'MESS_NOT_AVAILABLE' => $arParams['MESS_NOT_AVAILABLE'],
'USE_VOTE_RATING' => $arParams['DETAIL_USE_VOTE_RATING'],
'VOTE_DISPLAY_AS_RATING' => (isset($arParams['DETAIL_VOTE_DISPLAY_AS_RATING']) ? $arParams['DETAIL_VOTE_DISPLAY_AS_RATING'] : ''),
'USE_COMMENTS' => $arParams['DETAIL_USE_COMMENTS'],
'BLOG_USE' => (isset($arParams['DETAIL_BLOG_USE']) ? $arParams['DETAIL_BLOG_USE'] : ''),
'VK_USE' => (isset($arParams['DETAIL_VK_USE']) ? $arParams['DETAIL_VK_USE'] : ''),
'VK_API_ID' => (isset($arParams['DETAIL_VK_API_ID']) ? $arParams['DETAIL_VK_API_ID'] : 'API_ID'),
'FB_USE' => (isset($arParams['DETAIL_FB_USE']) ? $arParams['DETAIL_FB_USE'] : ''),
'FB_APP_ID' => (isset($arParams['DETAIL_FB_APP_ID']) ? $arParams['DETAIL_FB_APP_ID'] : ''),
),
$component
);?>
<?

if (0 < $ElementID)
{
if($arParams["USE_ALSO_BUY"] == "Y" && IsModuleInstalled("sale"))
{?>
<?$APPLICATION->IncludeComponent("bitrix:sale.recommended.products", ".default", array(
"ID" => $ElementID,
"MIN_BUYES" => $arParams["ALSO_BUY_MIN_BUYES"],
"ELEMENT_COUNT" => $arParams["ALSO_BUY_ELEMENT_COUNT"],
"LINE_ELEMENT_COUNT" => $arParams["ALSO_BUY_ELEMENT_COUNT"],
"DETAIL_URL" => $arParams["DETAIL_URL"],
"BASKET_URL" => $arParams["BASKET_URL"],
"ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"],
"PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"],
"SECTION_ID_VARIABLE" => $arParams["SECTION_ID_VARIABLE"],
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"PRICE_CODE" => $arParams["PRICE_CODE"],
"USE_PRICE_COUNT" => $arParams["USE_PRICE_COUNT"],
"SHOW_PRICE_COUNT" => $arParams["SHOW_PRICE_COUNT"],
"PRICE_VAT_INCLUDE" => $arParams["PRICE_VAT_INCLUDE"],
'CONVERT_CURRENCY' => $arParams['CONVERT_CURRENCY'],
'CURRENCY_ID' => $arParams['CURRENCY_ID'],
'HIDE_NOT_AVAILABLE' => $arParams["HIDE_NOT_AVAILABLE"],
),
$component
);
?>
<?
}
if($arParams["USE_STORE"] == "Y" && IsModuleInstalled("catalog"))
{?>
<?/*$APPLICATION->IncludeComponent("bitrix:catalog.store.amount", ".default", array(
"ELEMENT_ID" => $ElementID,
),
$component
);*/?>
<?
}
}?>




причем если в
"bitrix:catalog.element",
"visual",

убрать visual и оставить просто ""
то функционал опять же пропадает новый а старый возвращается
и я понимаю что нужно копать в сторону того что находится в кавычках
"bitrix:catalog.element",
"visual", но, для примера и сравнения нужно найти
"bitrix:catalog.element",
"", - что за пустота в скобках, и где ее искать ?)
22.08.2014 06:59
aldemko
 
Уже не знаю куда писать. в тп битрикс сказали модуль не стандартный - проблемы ваши
я уже все файлы излазил (мне так кажется по крайней мере)
в итоге я все равно вернулся к

Вот этому:
<?
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 />";
}


}

}

?>



основная загвоздка, как я понимаю

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


сначала думал пойти от обратного
сделал так

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


от цены в итоге на выводе отняло 1000р
думал если вместо 1000 подставить параметр скидки (переменную я пока не нашел, думал заняться после опытов), но не тут то было.

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

как видим под ценой есть еще модификатор мол скидка под заказ 5%, так вот она вычисляет значение с какой-то другой переменной, хоть я выведу в цену сумму 100тыс, с 5ти% скидкой цена будет 256500 руб.
и пока решил от идеи "перехитрить систему" отказаться, хотя думаю выкрутиться тоже можно как-то.



В общем проблемным остался вот этот кусок

кусок:
$osn_price = $arResult['DISCOUNTS']['price_osn'][''] + 0;


думаю если туда написать (по правельному) что то вроде


этого:
$osn_price = цена со скидкой;
то было бы мне счастье
22.08.2014 10:42
KirillHome
 
На сколько я понимаю из описания IncludeComponent - проблема в шаблоне visual, который и надо копать
22.08.2014 10:57
aldemko
 
Да, скорее всего. так как меняю шаблон на default и все ок.
но я уже устал глаза мусолить в текстовых документах, пытаясь найти что-то схожее или разницу между ними. к тому же в visuale намного больше компонентов подключается, и кода который указал выше в defaulte и рядом нет(
и не только этого, там папок уйма в visuale а .default пустой почти (
22.08.2014 11:37
KirillHome
 
Ведь кто-то этот шаблон visual разрабатывал, ставил?
Вот и обратится к автору (установщику) со словами - "Как же так?"

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

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

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

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

SQL код:
<div class="item_price">
<?
$boolDiscountShow 
= ($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
aldemko
 
Я не такой спец как вы. надеюсь когда то стану.
про 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
KirillHome
 
По-моему - это уже пошло по второму кругу.
Лично я - сдался (PHP вижу второй раз в жизни, Bitrix-а не видел "изнутри" никогда).
22.08.2014 17:31
aldemko
 
да, наверное даже по 5 ому кругу.
но проблема есть, и мне по прежнему нужна помощь
22.08.2014 18:08
KirillHome
 
Последняя попытка :)

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

SQL код:
<div class="item_price">
<?
$boolDiscountShow 
= ($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 
= ($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
KirillHome
 
Или подобного плана "фокус" проделать на коде, указанном ранее


Опции темы


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

 

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