Всего 123 797 комментариев

Vladimir
17 января 2023, 14:08
0
Получилось лишь с помощью автоматизации браузера сделать, что тоже был геморой, но проще, кому надо могу скинуть, делал через Automa. Но так и не решил нормальным способом.
Максим
17 января 2023, 13:28
0
А чем не устраивают магазины на ultron.pro? Правда нет поддержки версии 3 и выше, но хз проблема эта или нет.
Владимир Ребров
17 января 2023, 11:39
0
Получилось решить проблему?
Николай Савин
17 января 2023, 11:22
0
Тот код, что я вам написал — был всегда. Он не поменялся и является более корректным.
А вот старый код более не работает, начиная с 4 да. По идее его вообще не нужно было использовать в компоненте, так как мой вариант проще, быстрее в написании и до сих пор работает.
Александр
17 января 2023, 11:07
0
Спасибо, в 4 минишопе поменялось. Сам не разобрался
Константин Ильин
17 января 2023, 10:29
0
странно, чудеса можно сказать, ну как вариант если поменять очерёдность переменных, посмотреть что будет.
<?
$updateOrderFromArray = array(
               'defval2' => $defval2,
               'defval' => $defval
            );
А как вы расширили модель заказа?
в логах сервака и модх ничего нет?
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
Ни у кого нет идей, как такое может быть?