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

Vladimir
17 января 2023, 07:11
0
Не получается. Всё так же сохраняется лишь крайне созданное поле
<?php
switch ($modx->event->name) {
    case 'msOnBeforeCreateOrder':
        
        $userId = $order->get('user_id');
        $user = $modx->getObject('modUser', array('id' => $userId));
        
        $isRegularCustomerField = 0;
        
        // $modx->log(1, 'ORRRRRRRRRRRRRRRRRRRR');
        if (is_object($msOrder) && is_object($user)) {
            $profile = $user->getOne('Profile');
            
            try {
                $qtOfFinishedOrders = $profile->get('finishedorders');
                if($qtOfFinishedOrders){
                    $qtOfFinishedOrders = (int) $qtOfFinishedOrders;
                    
                    // $modx->log(1, $qtOfFinishedOrders);
                    
                    if($qtOfFinishedOrders >= 5){
                        
                        $isRegularCustomer = $msOrder->get('regular_customer');
                        
                        if(!$isRegularCustomer){
                            $isRegularCustomerField = 1;
                        }
                    }                    
                }
                    
            }
            catch(Exception $e) {
                $modx->log(1, $e->getMessage());
            }
            
            $defval = 'test1';
            $defval2 = 'test2';
            
            
            
            $updateOrderFromArray = array(
               'defval' => $defval,
               'defval2' => $defval2
            );
            
            if($isRegularCustomerField){
                array_push($updateOrderFromArray, 'regular_customer', 1);
            }

            $msOrder->fromArray($updateOrderFromArray);
            $msOrder->save();            
            
        }
        break;
}
Антон
17 января 2023, 02:13
0
И еще заметил, что после установки Babel какая-то мистика с кэшем происходит…
Чищу и из админки и руками через ftp — все равно изменения css никак не проявляются
Alexander V
16 января 2023, 21:51
0
Демо-сайт еле шевелится.
vectorserver
16 января 2023, 12:05
1
+1
Сорян нужное указывать
{var $count_pub+=1}
)))
{var $count_pub = 0}
{var $plus = [
    ["published" => 1,"name"=>"dsdsds"],
    ["published" => 1,"name"=>"xdsdsds"],
]}

{if $plus}
    {foreach $plus as $idx => $item}
       {if $item.published ==1}
            {var $count_pub+=1}
            {$item.name}
        {/if}
    {/foreach}
    RETURN COUNT: {$count_pub}
 {/if}
Роман
16 января 2023, 11:47
0
{var $count_pub++} вызывает ошибку fenom вообще, белый лист.
Любовь
16 января 2023, 10:34
0
Удалось решить вопрос в итоге?
Роман
16 января 2023, 02:42
0
А не подскажете, в вашем примере увеличение счетчика так {$count_pub++} это работает, но эта переменная выводиться цифрой на сайте, как сделать что-бы она не выводилась? Пробовал так прописать {include $count_pub++} и так пробовал
{include ++$count_pub} так не выводиться но в обоих случаях ошибка в логах, php ругается на это :( как правильно прописать увеличение переменной что бы она не выводилась на сайте?
Константин Ильин
15 января 2023, 19:20
0
1. попробовать на msOnBeforeCreateOrder
2. попробовать так:
$msOrder->fromArray([
   'def_data' => $dfaultData,
   'def_data1' => $dfaultData1,
]);
$msOrder->save();
Vladimir
15 января 2023, 17:55
0
Ни у кого нет идей, как такое может быть?
Артур Шевченко
14 января 2023, 23:23
0
Надо каждой кнопке задать уникальный идентификатор. В тест вставлять [[buttonId]]. Потом написать плагин на OnWebPagePrerender, который из общего места получит список всех кнопок и заменит [[buttonId]] на значение соответствующей кнопки.
Антон
14 января 2023, 22:26
0
Артур, изучил MIGX более-менее, но у меня, допустим 150 страниц, на каждой странице по тексту разбросаны уникальные кнопки (штук по 10), получается, что мне надо к каждой странице свой шаблон?

Напомню, что управление всеми кнопками должно быть в одном месте (как на картинке выше, которую крепил к вопросу)
Николай Савин
14 января 2023, 20:30
+1
Корректнее было бы перевести как сущности, но штуковины как то по-русски больше звучит ))
Константин Ильин
14 января 2023, 20:13
0
Получается в документации не дописали про msOrder?
docs.modx.pro/komponentyi/minishop2/razrabotka/sluzhbyi/zakaz

Это к слову про эти msOnBeforeValidateOrderValue и msOnValidateOrderValue, как с ними работать, там тоже ничего не написано
Николай Савин
14 января 2023, 19:49
0
Вот вызов плагина
$response = $this->ms2->invokeEvent('msOnCreateOrder', array(
                'msOrder' => $msOrder,
                'order' => $this,
            ));
Как можно заметить в плагине есть обе переменные. msOrder это объект заказа, order — это сам класс обработчик заказа