Всего 125 660 комментариев

Игорь Терентьев
10 марта 2021, 12:16
0
Может у тебя другие плагины перезаписывают (например на. msOnGetProductPrice)?
Антонио
10 марта 2021, 11:59
0
Всем привет!
Подскажите, пожалуйста, как правильно работать с событием «msOnGetProductFields»? Почему-то на странице не выводятся обработанные старая и новая цены.
Создал плагин, навесил событие «msOnGetProductFields», в логи пишет корректно, а на странице исходные цены отображаются…
<?php
switch($modx->event->name) { 
    case 'msOnGetProductFields':
        $returned_values = & $modx->event->returnedValues;
        $values =  $modx->event->params['data'];
          
        $returned_values['price'] = $values['price'] * 2;
        $returned_values['old_price'] = $values['old_price'] * 2;
        
        $modx->log(1,'returned_price - ' . $returned_values['price'] ); //30
        $modx->log(1,'returned_old_price - ' . $returned_values['old_price'] ); //60
        $modx->log(1,'values_price - ' . $values['price'] ); //15
        $modx->log(1,'values_old_price - ' . $values['old_price'] ); //30
 
    	break;
}
Антонио
10 марта 2021, 11:47
0
Игорь, подскажи, пожалуйста, как правильно работать с этим событием? Почему-то на странице не выводятся обработанные старая и новая цены.
Создал плагин, навесил событие «msOnGetProductFields», в логи пишет корректно, а на странице исходные цены отображаются…
<?php
switch($modx->event->name) { 
    case 'msOnGetProductFields':
        $returned_values = & $modx->event->returnedValues;
        $values =  $modx->event->params['data'];
          
        $returned_values['price'] = $values['price'] * 2;
        $returned_values['old_price'] = $values['old_price'] * 2;
        
        $modx->log(1,'returned_price - ' . $returned_values['price'] ); //30
        $modx->log(1,'returned_old_price - ' . $returned_values['old_price'] ); //60
        $modx->log(1,'values_price - ' . $values['price'] ); //15
        $modx->log(1,'values_old_price - ' . $values['old_price'] ); //30
 
    	break;
}
Роман
10 марта 2021, 10:47
+1
ID в запросе нужно еще указать
@SELECT `pagetitle` AS `name`,`id`
Сергей
10 марта 2021, 10:30
0
Я уже задолбил звонками старшего специалиста. Получается у них сейчас другие разработчики и они не могут почему-то предоставить информацию. Аргументированного ответа я так и не получил. Видимо просто не хотят.
Павел Гвоздь
10 марта 2021, 10:28
0
А по какой причине не могут предоставить?
Сергей
10 марта 2021, 10:25
0
Написал тут, так-как возможно кто то и не заметил, что у них не работает выгрузка. Возможно кто-то найдет решение самостоятельно и поделится им. К сожалению компания не может и не предоставит информацию по изменениям. Необходимо самостоятельно разбираться. На данный момент почему-то видит аксессуары только.
Денис
10 марта 2021, 10:24
0
Та же проблема. Решение не нашли?
Павел Гвоздь
10 марта 2021, 06:25
0
У меня работает. Проблема у вас. Остальные вопросы в ТП на Модстор.
Саня
09 марта 2021, 20:51
0
отлично, работает. вызов текста помещаем вместо штатного в шаблон. А список ссылок вызывается как из шаблона, так и из поля ресурса.
Евгений
09 марта 2021, 16:23
0
спасибо
Антонио
09 марта 2021, 15:43
0
Andre, подскажи, пожалуйста, почему на странице могут не выводится обработанные старая и новая цены?
Создал плагин, навесил событие «msOnGetProductFields», в логи пишет корректно, а на странице исходные цены почему-то…
<?php
switch($modx->event->name) { 
    case 'msOnGetProductFields':
        $returned_values = & $modx->event->returnedValues;
        $values =  $modx->event->params['data'];
          
        $returned_values['price'] = $values['price'] * 2;
        $returned_values['old_price'] = $values['old_price'] * 2;
        
        $modx->log(1,'returned_price - ' . $returned_values['price'] ); //30
        $modx->log(1,'returned_old_price - ' . $returned_values['old_price'] ); //60
        $modx->log(1,'values_price - ' . $values['price'] ); //15
        $modx->log(1,'values_old_price - ' . $values['old_price'] ); //30
 
    	break;
}
Антон Тарасов
09 марта 2021, 15:30
0
Работая с документацией последние дни и памятуя про желаемую кейсоориентированность, было бы здорово иметь некий промежуточный «котел», куда на первом этапе закидывались бы какие-то пользовательские сценарии (например, в ТГ MODX на днях вопрошали про особенности инсталляции MODX на отечественных хостингах, а на community.modx.com кто-то страдал с установкой IIS под Windows Server...), а вторым — отражались в документации, а-ля «готовые решения» и/или на docs.modx.com.

Тут акцент именно на формировании хорошей привычки такой сценарий увидеть — и в котел положить)) Добавить/дописать куда надо уже проще, была бы фактура.
Владимир Тельнов
09 марта 2021, 14:41
0
Внезапно пропала возможность редактировать бонусы.
Кнопка редактировать есть, но по ее нажатию ничего не происходит.
Роман
09 марта 2021, 12:03
0
if($fake_price != 0)
Вот это лишнее, или нужно
$modx->setPlaceholder('fake', $fake);
убрать под IF
Евгений Ц.
09 марта 2021, 01:48
+1
Так как url более не доступен, то приведу код Руслана с небольшим дополнением: товары, добавленные в корзину до входа, добавляются в сохранённую корзину.
switch ($modx->event->name) {
    case 'msOnAddToCart':
    case 'msOnChangeInCart':
    case 'msOnEmptyCart':
    case 'msOnRemoveFromCart':
        if ($user = $modx->getAuthenticatedUser('web') and $ms2 = $modx->getService('minishop2')) {
            $ms2->initialize($modx->context->key);
            $profile = $user->getOne('Profile');
            $extended = $profile->get('extended');
            $extended['ms2cart'] = $ms2->cart->get();
            $profile->set('extended', $extended);
            $profile->save();
        }
        break;
        
    case 'OnWebPageInit':
    case 'OnWebLogin':
        if ( $user = $modx->getAuthenticatedUser('web') and  $ms2 = $modx->getService('minishop2')) {
            $ms2->initialize($modx->context->key);
            $profile = $user->getOne('Profile');
            $extended = $profile->get('extended');
            if ( isset($extended['ms2cart']) && !empty($extended['ms2cart']) ) {
                $mycart = array_merge($extended['ms2cart'], $ms2->cart->get());
                $ms2->cart->set($mycart);
            }
        }
        break;
}