Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Как вывести itemprop="position" content="" в XSLT?

Автор makarov2979Раздел Шаблоны XSLT

Ответов: 0
Просмотров: 1015
Последний ответ 15 Ноября 2018, 09:30:06
от makarov2979
Как вывести для разных доменов разных адресатов

Автор SumrakrndРаздел Шаблоны XSLT

Ответов: 14
Просмотров: 2978
Последний ответ 17 Февраля 2017, 20:20:12
от Sumrakrnd
Вывести цену для группы "элитных" пользователей

Автор SeweryssРаздел Настройка системы и модулей

Ответов: 3
Просмотров: 2651
Последний ответ 12 Ноября 2013, 23:27:00
от Seweryss
Вывести сумму заказа на странице "Заказ поступил в обработку"

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 3030
Последний ответ 07 Ноября 2014, 23:46:49
от Axiomateria
Динамическое изменение цены при выборе опционального свойства.

Автор denis_savinРаздел Шаблоны TPL

Ответов: 7
Просмотров: 7148
Последний ответ 18 Марта 2014, 18:45:34
от ilyar

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

*

nitoiti

  • *
  • 3
  • +1/-0
    • Просмотр профиля
    • Grey-cat
Здравствуйте. Моя первая тема, не пинайте слишком строго если что-то неправильно напишу, подскажите, как правильно описать проблему - обязательно учту и исправлюсь!

Вопрос следующий: Нужно было вывести три типа цен "отсрочка", "предоплата", "розница". Вывел по мотивам вот этой статьи: http://wiki.umisoft.ru/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D1%85_%D0%A6%D0%B5%D0%BD_%D0%B4%D0%BB%D1%8F_%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0

Чуть-чуть переделал, под свои нужды. Код в конечном счете выглядит вот так: (файл classes/modules/emarket/__custom.php)
 public function OnPriceValue($e) { 
// Объект для которого запрашивается значение из поля типа "Цена"
       $object_id = $e->getParam('object_id');
       // Значение цены
       $value = &$e->getRef('price');
       // Текущий id пользователя
       $user_id = permissionsCollection::getInstance()->getUserId();
       // Id Гостя.
       $guest_id = permissionsCollection::getInstance()->getGuestId();

       if($user_id != $guest_id && cmsController::getInstance()->getCurrentMode() != "admin"){
         $user = umiObjectsCollection::getInstance()->getObject($user_id);
         if( $user->tip_dogovora == '3552' ){
$object = umiObjectsCollection::getInstance()->getObject($object_id);
if($object instanceof umiObject) {
if ($object->getValue('cena2')!= 0 ){
$new_price = $object->getValue('cena3');
$value = $new_price;
}
else return false;
}
else return false;
}
if( $user->tip_dogovora == '3553' ){
$object = umiObjectsCollection::getInstance()->getObject($object_id);
if($object instanceof umiObject) {
if ($object->getValue('cena3')!= 0 ){
$new_price = $object->getValue('cena2');
$value = $new_price;
}
else return false;
}else return false;
}

else return false;



       }    
    }

Все работает, цены меняются в зависимости от типа договора. Теперь необходимо рядом с ценой в шаблоне товара и в шаблоне категории вывести подсказку (если цена предоплата - писать "предоплата") например вот тут http://velo-deti.grey-cat.biz/katalog/shlemy/srazy-safety-chesirecat/ подскажите, пожалуйста, как правильно это сделать.

Пробовал добавить переменную $myPriceLabel в этом же файле, но не могу понять, как ее вывести в нужном месте в шаблон.

*

nitoiti

  • *
  • 3
  • +1/-0
    • Просмотр профиля
    • Grey-cat
Сделал. Видимо надо было просто чуток передохнуть, а то совсем мозг не работал.
В файле __custom.php модуля каталог вот такой код
$user_id = permissionsCollection::getInstance()->getUserId();
$guest_id = permissionsCollection::getInstance()->getGuestId();
$block_arr['myPriceLabel'] = '<p class="myRrcLabel">Рекомендованная розничная цена, что бы увидеть оптовые цены, <a href="http://velo-deti.grey-cat.biz/users/registrate/">зарегистрируйтесь</a></p>';
if($user_id != $guest_id){
$user = umiObjectsCollection::getInstance()->getObject($user_id);
if( $user->tip_dogovora == '3552' ){
$block_arr['myPriceLabel'] = '<p class="myOtsrochkaLabel">Оптовая цена при договоре поставки с отсрочкой. Изменить тип договора поставки можно <a href="http://velo-deti.grey-cat.biz/users/settings/">в настройках</a><p>';
}
if( $user->tip_dogovora == '3553' ){
$block_arr['myPriceLabel'] = '<p class="myPredoplataLabel">Оптовая цена при договоре поставки по предоплате. Изменить тип договора поставки можно <a href="http://velo-deti.grey-cat.biz/users/settings/">в настройках</a><p>';
}
}