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

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - iankolotov

Страницы: [1]
1
Шаблоны XSLT / saveInfo и бонусный счёт
« : 07 Июля 2015, 10:14:13 »
Всем привет! Подскажите пожалуйста - как при оформлении заказа в один шаг при помощи saveInfo передать сумму бонусов, которые покупатель хочет потратить?
В стандартном пошаговом режиме - нормально все списывается!
Заранее благодарен!

2
Методом "тыка" удалось получить следующее:

public function noprice(iUmiEventPoint $oEventPoint) {
            $price = &$oEventPoint->getRef('price');
            $object_id = $oEventPoint->getParam('object_id');
$arr_helements = umiHierarchy::getInstance()->getObjectInstances($object_id,true);
$line_arr = array();
$line_arr['attribute:object-id'] = $object_id;
if(isset($arr_helements[0])) {
$element_id = $arr_helements[0];
$line_arr['attribute:id'] = $element_id;
$element = umiHierarchy::getInstance()->getElement($element_id, true);
if($price == 0){
$line_arr['attribute:IsActive'] = $element->setIsActive(0);
}
}
        }

Вроде работает, но почему-то не все объекты с ценой = 0 сразу скрываются. Потестирую еще. Может что-то тут не верно?

3
Да, при отлавливании изменении цены в админке - все ок, работает. Хотел сделать тоже самое, только автоматически - то есть чтобы при загрузке обновленного прайс листа с новыми ценами - выключались страницы с ценой = 0.

public function noprice(iUmiEventPoint $oEventPoint) {
   $price = &$oEventPoint->getRef('price');
   $object_id = $oEventPoint->getParam('object_id');
   $element_id = umiHierarchy::getInstance()->getObjectInstances($object_id,true);

if($price == 0){
$element_id -> setIsActive(0);
}
        }

Ура, теперь ID страницы видно, а как ей передать setIsActive(0) ?
Просто так
$element_id -> setIsActive(0);
не работает(

4
Такая же проблема встала.
Добавил обработку события umiObjectProperty_loadPriceValue, для поиска объектов с ценой = 0.
Далее, по логике, нужно как-то получить ID страницы с найденым объектом и передать ей setIsActive(0) - но как это сделать ума не приложу)
public function noprice(iUmiEventPoint $oEventPoint) {
   $price = &$oEventPoint->getRef('price');
   $object_id = $oEventPoint->getParam('object_id');
   if($price == 0){
         ??? -> setIsActive(0);
   }
}
Подскажите - как получить ID страницы с объектом?

5
Вакансии / Фильтр по каталогу товаров на XSLT
« : 10 Сентября 2014, 10:53:38 »
Всем привет!
Нужно реализовать фильтрацию каталога товаров с использованием чекбоксов. Решение нужно на XSLT. Кому интересно - вышлю небольшое ТЗ, где всё подробно описано. Присылайте ваши предложения и вопросы на ian@kolotov.ru. По цене договоримся ;)

6
Мытарства мои таки закончились :D наверное...
Нашел в файле .htaccsess вот такую строку:
RewriteRule ^(.*)$ index.php?path=$1&%{QUERY_STRING}&umi_authorization=%{HTTP:Authorization} [L]
ну и соответственно выкинул, нахрен, часть строки с umi_authorization - заработало всё как надо.

Но всё равно, хочется понять, зачем это всё нужно. Копание в гугле привело к какому-то контроллеру разавторизации пользователя. Дальше ничего немогу найти :(

7
Да, не должно, но есть >:( У меня, в частности при обращении к udata, вот так http://сайт.ру/udata/catalog/search/айди_раздела
выдает в @unfilter_link="?scheme=udata" :o
Я уже начинаю думать, что как-то тут замешан .htaccess

8
Ауу, ну кто-нибудь... подскажите как избавиться от ?umi_authorization=& в параметре @filter_link? Всю башку сломал ???

9
Доброго дня всем!

Никак не могу добиться корректного вывода значений выпадающего списка в виде ссылок в фильтрах по объектам каталога.
Что я делаю:
<xsl:template match="field[@data-type = 'relation']">
<xsl:value-of select="@title" />
<xsl:apply-templates select="values/item" />
</xsl:template>

<xsl:template match="field/values/item">
<a href="{@filter_link}"><xsl:value-of select="." /></a>
</xsl:template>
в итоге у значения формируется ссылка вида: ?umi_authorization=&amp;fields_filter%5Bproizvoditel%5D=382, но она не работает. При этом, при переходе по ней, она снова и снова добавляется к адресу.
Что делать - не знаю. Где копать? И еще хотелось бы понять что такое umi_authorization=&amp; и откуда это вылазит?!

Извиняюсь заранее, что не по теме xslt, но, в tpl шаблонизаторе, в свое время эту проблему я решил вот так:
$FORMS['search_block_line_relation'] = <<<END
%title%
%items%
END;

$FORMS['search_block_line_item_relation'] = <<<END
<a href="%content get_page_url(%category_id%)%%filter_link%" class="fitem%selected%">%object_name%</a>
END;

10
О, точно! Это был id объектного типа. Спасибо огромное, теперь буду знать!

11
Добрый день, всем!
Столкнулся с такой проблемой - нужно осуществлять поиск исключительно по объектам каталога. В частности, стандартное решение добавить в форму поиска <input type="hidden" name="search_types" value="86" />, где 86 - type_id объектов каталога не работает.
Да и ко всему прочему статья с wiki http://wiki.umisoft.ru/%D0%9A%D0%B0%D0%BA_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA_%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_%D0%BF%D0%BE_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0%D0%BC_%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0 по этой теме удалена.

Помогите разобраться

<form class="search" action="/search/search_do/" method="get">
<input type="text" value="{$search_string}" name="search_string" class="textinputs"/>
<input type="hidden" name="search_types" value="86" />
<input type="submit" class="button" value="search" />
</form>

Страницы: [1]