Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

HardHardy

  • **
  • 74
  • +1/-0
    • Просмотр профиля
    • Фортис
Опции товара
« : 15 Ноября 2011, 14:22:58 »
Здравствуйте! еще раз  :D
Пытаюсь сделать у товара выбор цвета и выбор размера упаковки.
Вначале наткнулся http://help.umi-cms.ru/index.html?value_optioned.htm
потом http://wiki.umisoft.ru/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_%D0%BE%D0%BF%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8_%D1%81%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8_(umi_2.8,_tpl_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B)
Но ни как не могу создать справочник. :( Вернее создаю, но он не работает.
Что нужно указывать в назначении типа?
« Последнее редактирование: 15 Ноября 2011, 15:26:40 от HardHardy »

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:Опции товара
« Ответ #1 : 15 Ноября 2011, 17:18:45 »
HardHardy, зачастую если ты сформулируешь проблему, попытавшись описать её, предвосхищая все наши вопросы, ты сам найдешь ответ, но это в идеале, а так хотелось бы узнать что конкретно скрывается под фразой
Цитировать
Но ни как не могу создать справочник. Грустный Вернее создаю, но он не работает.

*

HardHardy

  • **
  • 74
  • +1/-0
    • Просмотр профиля
    • Фортис
Re:Опции товара
« Ответ #2 : 12 Января 2012, 09:52:30 »
Млин моск сломаешь с этими справочниками.    :-\
Делаю справочник выбора цвета как описано здесь http://help.umi-cms.ru/index.html?value_drop_down.htm
Далее как описано здесь http://wiki.umisoft.ru/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_%D0%BE%D0%BF%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8_%D1%81%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8_(umi_2.8,_tpl_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D1%8B)

При редактировании объекта каталога все норм, выбираю какие могут быть цвета -> цена -> плюсую -> сохранить и посматреть
Но ничего не выводится.   :(

Что я могу делать не так???

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:Опции товара
« Ответ #3 : 14 Января 2012, 17:22:10 »
то давай по порядку, проверяй:

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


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

*

HardHardy

  • **
  • 74
  • +1/-0
    • Просмотр профиля
    • Фортис
Re:Опции товара
« Ответ #4 : 14 Января 2012, 20:09:06 »
Тип поля составное
все сохраняется, в админке все видно
В шаблоне в блоке ['view_block'] вывожу макросом %data getPropertyGroup. все названия верны.
шаблон оформления блока как в мануале
<?php
$FORMS = array();


$FORMS['group'] = <<<END
<form action="%pre_lang%/emarket/basket/put/element/%id%/" method="get">
<span>
%lines%
</span>
<p>
<input type="submit" value="Положить в корзину" />
</p>
</form>
END;

$FORMS['group_line'] = <<<END
%prop%  
END;

$FORMS['optioned_block'] = <<<END
<strong>%title%:</strong>
<select name="options[%field_name%]" style="color:black; width:100px; height: 18px;">
%items%
</select>
END;

$FORMS['optioned_block_empty'] = <<<END
<strong>%title%</strong> - Нет опций
END;

$FORMS['optioned_item'] = <<<END
<option value="%object-id%">
%object-name% (%emarket applyPriceCurrency(%float%, 'short')%)
</option>
END;

?>
« Последнее редактирование: 14 Января 2012, 23:04:34 от HardHardy »

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:Опции товара
« Ответ #5 : 14 Января 2012, 22:27:22 »
a теги
<form action="%pre_lang%/emarket/basket/put/element/%id%/" method="get">
<span>
...
</span>
<p>
<input type="submit" value="Положить в корзину" />
</p>
</form>

выводятся?

*

HardHardy

  • **
  • 74
  • +1/-0
    • Просмотр профиля
    • Фортис
Re:Опции товара
« Ответ #6 : 14 Января 2012, 22:38:03 »
нет, вообще ничего.

*

HardHardy

  • **
  • 74
  • +1/-0
    • Просмотр профиля
    • Фортис
Re:Опции товара
« Ответ #7 : 14 Января 2012, 23:00:44 »
все я разобрался :) нашел ошибку
в шаблоне данных идентификатор повторялся.
спасибо!
« Последнее редактирование: 14 Января 2012, 23:02:42 от HardHardy »

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:Опции товара
« Ответ #8 : 14 Января 2012, 23:10:40 »
не за что :)

*

john

  • ***
  • 202
  • +6/-0
    • Просмотр профиля
Re:Опции товара
« Ответ #9 : 25 Июля 2014, 20:41:53 »
Добрый вечер.

А как сделать чтобы цена опционных свойств не плюсовалась, а заменялась? По типу как цена1 или цена 2 или цена 3 записывалась при добавлении в корзину.

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:Опции товара
« Ответ #10 : 25 Июля 2014, 21:08:03 »
сделать основную цену равной 0 и при помощи косметики в каталоге выводить первую опционную цену (чтобы 0 не светился везде в списке товаров) или поправить файл ядра (эти изменения перезатрутся при обновлении) чтобы при добавлении в корзину, при наличии опционной цены основная цена игнорировалась

*

john

  • ***
  • 202
  • +6/-0
    • Просмотр профиля
Re:Опции товара
« Ответ #11 : 26 Июля 2014, 13:09:20 »
Вопрос, если там несложно, то какой именно файл ядра править?

*

admin

  • *****
  • 2416
  • +171/-1
    • Просмотр профиля
Re:Опции товара
« Ответ #12 : 26 Июля 2014, 13:15:49 »
строчка отвечающая за складывания опционной и основной цены:
Файл /classes/modules/emarket/classes/orders/items/optioned.php
функция getItemPrice
строчка $price += (float) $optionPrice;

P.S. Еще раз напоминаю, что это не самый лучший путь, так как при обновлении эта конструкция перезатрется. Если,  вы  все таки решите править ядро, то советую для себя же сделать об этом пометки (или  не для себя). Например, создать файл /classes/modules/readme.txt с описанием что конкретно и где менялось. 

*

john

  • ***
  • 202
  • +6/-0
    • Просмотр профиля
Re:Опции товара
« Ответ #13 : 26 Июля 2014, 13:32:15 »
Спасибо

*

john

  • ***
  • 202
  • +6/-0
    • Просмотр профиля
Re:Опции товара
« Ответ #14 : 26 Июля 2014, 14:12:51 »
Не понимаю, что значит "при обновлении эта конструкция перезатрется".
Я сделал так - $price = 0;
		public function getItemPrice() {
$price = parent::getItemPrice();
$options = $this->getOptions();
foreach($options as $optionInfo) {
$optionPrice = getArrayKey($optionInfo, 'price');
if($optionPrice) {
$price = 0;
$price += (float) $optionPrice;
}
}
return $price;
}

При добавлении в корзину, все получается так как надо, если имеется ввиду обновить страницу F5 и добавить в корзину, то у меня все сохраняется. Блин у меня шаблон XSLT, в TPL будут проблемы?