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

Дмитрий
19 апреля 2022, 13:23
0
Дак может мы все скинемся в итоге? Сергей, мы, плюс кому еще нужно выгружать стан, чтобы уже скорректировали. Описание файла выгрузки как и сам файл есть. Выгружают теперь просто формированием файла по ссылке в формате xml и csv.
Все описание и файлы открыты здесь
Сергей Карпович
19 апреля 2022, 08:57
0
Как деактивировать значение опции, если оно закончилось?
Опции в товаре выводу так (в чанке):
{'msOptions' | snippet: [
                'product' => $id,
                'options' => 'option_size',
                'tpl' => 'tpl-msOptions'
            ]}
И чанк tpl-msOptions:
{foreach $options as $name => $values}
    <div class="options-title"><b>{('ms2_product_' ~ $name) | lexicon}</b></div>
    {foreach $values as $value index=$index}
        <label class="options-label">
            
        <input type="radio" value="{$values[$index]}" name="options[{$name}]" {if $index == 0}checked="checked"{/if}/>
            <span>{$values[$index]}</span>
        </label>
    {/foreach}
{/foreach}
Сергей Карпович
19 апреля 2022, 08:50
0
Что то догнать не могу, как настроить скрытие значения опции, если по нему остаток = 0?
Сергей Шлоков
19 апреля 2022, 06:35
0
В базовой логике так. Но её можно изменить — снимаешь чекбокс «Очищать кэш» и в плагине на OnDocFormSave пишешь нужную логику. Очень гибко.
vectorserver
19 апреля 2022, 06:26
0
&cache        0    	Кэширование результатов работы сниппета.
&cacheTime    3600	Время актуальности кэша, в секундах.
&cache_user    1	Принудительно устанавливает ID посетителя, по-умолчанию кеширование производится с учетом ID посетителя
Павел Бигель
19 апреля 2022, 03:16
0
Твой компонент классный, но я все еще жду когда я смогу опробовать.
А вообще кеширование в MODX это настолько холиварная тема.
С одной стороны кеш сделали классным, а с другой стороны сохранение любого modResource дропает кеш половины сайта… что есть не клево
Павел Бигель
19 апреля 2022, 03:03
0
Данный способ актуален только для двойки.
DI который прикрутили в тройке совсем другой
Иван
18 апреля 2022, 21:31
0
Спасибо за помощь! Проблема решена!
Николай Савин
18 апреля 2022, 18:51
+2
А неплохо вы тут сам с собой общаетесь
fred Oushen
18 апреля 2022, 16:23
0
добавил памяти, ничего не изменилась толи рекурсия какая то, толи хз что…

[Mon Apr 18 16:04:30.345433 2022] [cgi:error] [pid 26432] [client 176.115.155.243:52018] AH01215: PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 16384 bytes) in /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php on line 223, referer: https://orange43.ru/manager/?a=system/event
[Mon Apr 18 16:06:59.528308 2022] [cgi:error] [pid 26632] [client 176.115.155.243:52040] AH01215: PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 16384 bytes) in /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php on line 223, referer: https://orange43.ru/manager/?a=system/event
[Mon Apr 18 16:18:38.130300 2022] [cgi:error] [pid 27484] [client 176.115.155.243:52094] AH01215: PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php on line 2075, referer: https://orange43.ru/manager/?a=system/event
[Mon Apr 18 16:18:55.597210 2022] [cgi:error] [pid 27507] [client 176.115.155.243:52102] AH01215: PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php on line 2075, referer: https://orange43.ru/manager/?a=system/event
[Mon Apr 18 16:21:49.066552 2022] [cgi:error] [pid 27787] [client 176.115.155.243:52134] AH01215: PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php on line 2075, referer: https://orange43.ru/manager/?a=system/event
fred Oushen
18 апреля 2022, 16:08
0
Сменил версию PHP на 8.1
Посыпались такие логи.
[2022-04-18 16:04:16] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/xPDO.php : 666) Could not load class: FormIt from formit
[2022-04-18 16:04:16] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/xPDO.php : 1267) Problem getting service formit, instance of class FormIt, from path /var/www/orange43/data/www/orange43.ru/core/components/formit/model/formit/
[2022-04-18 16:04:30] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 1443) Error HY000 executing statement:
UPDATE `modx_deprecated_call` SET `call_count` = 747 WHERE `id` = 253
Array
(
    [0] => HY000
    [1] => 2014
    [2] => Cannot execute queries while other unbuffered queries are active.  Consider using PDOStatement::fetchAll().  Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)

[2022-04-18 16:04:30] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 1443) Error HY000 executing statement:
UPDATE `modx_deprecated_call` SET `call_count` = 747 WHERE `id` = 253
Array
(
    [0] => HY000
    [1] => 2014
    [2] => Cannot execute queries while other unbuffered queries are active.  Consider using PDOStatement::fetchAll().  Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)

[2022-04-18 16:04:30] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 227) Error HY000 executing statement: 
Array
(
    [0] => HY000
    [1] => 2014
    [2] => Cannot execute queries while other unbuffered queries are active.  Consider using PDOStatement::fetchAll().  Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)

[2022-04-18 16:04:30] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 1443) Error HY000 executing statement:
INSERT INTO `modx_session` (`id`, `access`, `data`) VALUES ('d55f6e33fef8be17f63de2b8eedcb95e', 1650287070, 'modx.user.contextTokens|a:1:{s:3:\"mgr\";i:1;}manager_language|s:2:\"en\";modx.user.0.resourceGroups|a:1:{s:3:\"mgr\";a:0:{}}modx.user.0.attributes|a:1:{s:3:\"mgr\";a:5:{s:32:\"MODX\\Revolution\\modAccessContext\";a:1:{s:3:\"web\";a:1:{i:0;a:3:{s:9:\"principal\";i:0;s:9:\"authority\";s:1:\"0\";s:6:\"policy\";a:1:{s:4:\"load\";b:1;}}}}s:38:\"MODX\\Revolution\\modAccessResourceGroup\";a:0:{}s:33:\"MODX\\Revolution\\modAccessCategory\";a:0:{}s:44:\"MODX\\Revolution\\Sources\\modAccessMediaSource\";a:0:{}s:34:\"MODX\\Revolution\\modAccessNamespace\";a:0:{}}}modx.mgr.user.token|s:52:\"modx625d30ab065401.22295830_1625d31db243da1.38310567\";modx.mgr.session.cookie.lifetime|i:0;modx.mgr.user.config|a:0:{}mobiledetect|a:1:{s:6:\"device\";s:8:\"standard\";}newResourceTokens|a:6:{i:0;s:23:\"625d45916ea0d1.85330396\";i:1;s:23:\"625d45a4a89fe4.48295787\";i:2;s:23:\"625d45b60e9680.02054450\";i:3;s:23:\"625d46c4d969c0.92288517\";i:4;s:23:\"625d46d2a19290.81738466\";i:5;s:23:\"625d46e476e4d4.49392677\";}')
Array
(
    [0] => HY000
    [1] => 2014
    [2] => Cannot execute queries while other unbuffered queries are active.  Consider using PDOStatement::fetchAll().  Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)

[2022-04-18 16:04:30] (ERROR @ Unknown0) PHP warning: Unknown: Failed to write session data using user defined save handler. (session.save_path: /var/www/orange43/data/bin-tmp/)
[2022-04-18 16:06:59] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 1443) Error HY000 executing statement:
UPDATE `modx_deprecated_call` SET `call_count` = 749 WHERE `id` = 253
Array
(
    [0] => HY000
    [1] => 2014
    [2] => Cannot execute queries while other unbuffered queries are active.  Consider using PDOStatement::fetchAll().  Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)

[2022-04-18 16:06:59] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 1443) Error HY000 executing statement:
UPDATE `modx_deprecated_call` SET `call_count` = 749 WHERE `id` = 253
Array
(
    [0] => HY000
    [1] => 2014
    [2] => Cannot execute queries while other unbuffered queries are active.  Consider using PDOStatement::fetchAll().  Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)

[2022-04-18 16:06:59] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 227) Error HY000 executing statement: 
Array
(
    [0] => HY000
    [1] => 2014
    [2] => Cannot execute queries while other unbuffered queries are active.  Consider using PDOStatement::fetchAll().  Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)

[2022-04-18 16:06:59] (ERROR @ /var/www/orange43/data/www/orange43.ru/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php : 1443) Error HY000 executing statement:
INSERT INTO `modx_session` (`id`, `access`, `data`) VALUES ('d55f6e33fef8be17f63de2b8eedcb95e', 1650287219, 'modx.user.contextTokens|a:1:{s:3:\"mgr\";i:1;}manager_language|s:2:\"en\";modx.user.0.resourceGroups|a:1:{s:3:\"mgr\";a:0:{}}modx.user.0.attributes|a:1:{s:3:\"mgr\";a:5:{s:32:\"MODX\\Revolution\\modAccessContext\";a:1:{s:3:\"web\";a:1:{i:0;a:3:{s:9:\"principal\";i:0;s:9:\"authority\";s:1:\"0\";s:6:\"policy\";a:1:{s:4:\"load\";b:1;}}}}s:38:\"MODX\\Revolution\\modAccessResourceGroup\";a:0:{}s:33:\"MODX\\Revolution\\modAccessCategory\";a:0:{}s:44:\"MODX\\Revolution\\Sources\\modAccessMediaSource\";a:0:{}s:34:\"MODX\\Revolution\\modAccessNamespace\";a:0:{}}}modx.mgr.user.token|s:52:\"modx625d30ab065401.22295830_1625d31db243da1.38310567\";modx.mgr.session.cookie.lifetime|i:0;modx.mgr.user.config|a:0:{}mobiledetect|a:1:{s:6:\"device\";s:8:\"standard\";}newResourceTokens|a:6:{i:0;s:23:\"625d45916ea0d1.85330396\";i:1;s:23:\"625d45a4a89fe4.48295787\";i:2;s:23:\"625d45b60e9680.02054450\";i:3;s:23:\"625d46c4d969c0.92288517\";i:4;s:23:\"625d46d2a19290.81738466\";i:5;s:23:\"625d46e476e4d4.49392677\";}')
Array
(
    [0] => HY000
    [1] => 2014
    [2] => Cannot execute queries while other unbuffered queries are active.  Consider using PDOStatement::fetchAll().  Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
)

[2022-04-18 16:06:59] (ERROR @ Unknown0) PHP warning: Unknown: Failed to write session data using user defined save handler. (session.save_path: /var/www/orange43/data/bin-tmp/)
Если я отключу от шаблона все TV тогда все работает, но стоит добавить хоть одно TV выходит ошибка и на сайте 500 error.
fred Oushen
18 апреля 2022, 15:48
0
Если поле пустое, все работает, если нет, даже параметр @INLINE ведет к ошибке.
fred Oushen
18 апреля 2022, 15:38
0
Да, в pdoTools есть какая то проблема с параметром tplWrapper.
{'!pdoPage' | snippet:[
            'parents' => $id,
            'depth' => 0,
            'element' => 'pdoResources',
            'limit' => 10,
            'tpl' => '@FILE chuncks/reviews/reviewPages.tpl',
            'tplWrapper' => '@INLINE <div class="Our_Work_Service">{$output}</div>',
            'tplPageWrapper' =>	'@INLINE <ul class="pagination pagination-sm">{$first}{$pages}{$last}</ul>',
            'sortby' => 'menuindex',
            'sortdir' => 'ASC',
            'includeTVs' => 'main_img',
            'tvPrefix' => '',
            'where' => ['published' => 1],
            'includeContent' => 1,
            'conetnt' => 1
        ]}
Удаляю данный параметр, тогда работае.
'tplWrapper' => '@INLINE <div class="Our_Work_Service">{$output}</div>'
vectorserver
18 апреля 2022, 12:23
0
Создай свой сниппет и вызови его в шаблоне
<?php
/* @global $modx */

//Date now
$datenow = time();

//Date start  - end
$date_enable = $modx->getOption('date_enable', '', '22-04-18');
$date_disable = $modx->getOption('date_disable', '', '22-04-19');
//time on - off
$time_enable = $date_enable . " " . $modx->getOption('time_enable', '', '08:00 am');
$time_disable = $date_disable . " " . $modx->getOption('time_disable', '', '10:00 pm');


//days
if ($datenow >= strtotime($date_enable) && $datenow <= strtotime($date_disable)) {

    //times
    if ($datenow >= strtotime($time_enable) && $datenow <= strtotime($time_disable)) {
        //Show CART
        return $modx->runSnippet('msMiniCart', array('tpl' => 'cart_mini'));
    }
}
fred Oushen
18 апреля 2022, 12:18
0
$pdoFetch->config['fastMode']
это как раз строка с ошибкой. Пробовал включить параметр, тоже самое.
Николай Савин
18 апреля 2022, 11:37
0
@Сергей Шлоков Обрати, пожалуйста, внимание на проблему.
@fred Oushen По-правильному вам нужно создать issue в репозитории компонента на github, в котором описать проблему с пошаговой инструкцией для воспроизведения проблемы.
fred Oushen
18 апреля 2022, 11:26
0
Новый создал, тоже не работает…