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

Maks
05 октября 2022, 10:25
0
Да но только не одной опцией все ограничивается. Есть и другие опции. Может кто подскажет как опции сюда прикрутить?
Aleksandr Huz
05 октября 2022, 09:41
+5
Добрый день!
В ТП вижу ваше сообщение в 21:02 (04.10). Когда мне нужно было отвечать, ночью?
Или может вы еще где-то писали в ТП и я не заметил. В любом случаи ответил вам в ТП.
Роман
05 октября 2022, 08:57
0
Версию php поменяйте на 7.4, скорее всего из-за этого.
Роман
05 октября 2022, 08:56
0
Вряд ли доступ был получен. Хотя лучше поменять все равно пароли. Можно поставить ограничения на создание пользователя по IP и времени, скажем с одного IP в 5-10 минут, ну или капчу повесить.
Сергей Чернышев
05 октября 2022, 08:55
0
Привет, ошибок по этому поводу нет, я даже подключил отдельную библиотеку, проблема не изменилась. Мне кажется не адаптирована под версию 2.8.4 MODX
Роман
05 октября 2022, 08:49
0
Зависимости от библиотек: jQuery, посмотрите в консоле браузера, возможны ошибки или еще что-то.
vectorserver
05 октября 2022, 07:40
+1
Я использовал для наличия товара menuindex, или оставляй в TV как есть.
Все опции товара можно посмотреть через var_dump($product->toArray()) (скрин)


<?php
$parent = 8;
$debug = 1;

/* @var modX $modx*/
$array_ids = $modx->getChildIds($parent,6,array('context' => 'web'));

foreach ($array_ids as $doc_ID){
    /* @var msProduct $product */
    $product = $modx->getObject('msProduct',$doc_ID);
    if($product){
        //FILTERS
        //$dataOpt = $product->getOne('Data');
        //$optionKeys = $dataOpt->getOptionKeys();
        //var_dump($optionKeys);



        //tv price
        $tv_price = $product->getTVValue('price');

        //tv available
        $tv_available = $product->getTVValue('available');

        //msProduct price
        $product->set('price',$tv_price);

        //msProduct available to menuindex
        $product->set('menuindex',$tv_available);

        //Save
        $product->save();

        //debug
        if($debug) var_dump($product->toArray()); break;

    }

}
Димыч
05 октября 2022, 06:16
0
Техподдержка пока молчит. Буду признателен за любую помощь. PHP 8.4.

Запуск через ssh под пользователем запустил скрипт, завершилось с ошибкой.
============================
[14:38:36 / 1s / 6Mb] Запускаем парсинг GiftsRu
[14:42:48 / 253s / 7Mb] Скачали базу поставщика размером 75 Mb
PHP Fatal error: Uncaught Error: Call to a member function get() on null in /home/gamma/web/***/public_html/core/components/allgifts/processors/mgr/object/download.class.php:71
Stack trace:
#0 /home/gamma/web/***/public_html/core/model/modx/modprocessor.class.php(185): agObjectDownloadProcessor->process()
#1 /home/gamma/web/***/public_html/core/model/modx/modx.class.php(1770): modProcessor->run()
#2 /home/gamma/web/***/public_html/core/components/allgifts/handlers/tools/agtools.class.php(150): modX->runProcessor()
#3 /home/gamma/web/***/public_html/core/components/allgifts/cron/import/run.php(90): agTools->runProcessor()
#4 /home/gamma/web/***/public_html/core/components/allgifts/cron/import/run.php(32): agCronParser->process()
#5 /home/gamma/web/***/public_html/core/components/allgifts/cron/import/run.php(240): agCronParser->run()
#6 {main}
thrown in /home/gamma/web/***/public_html/core/components/allgifts/processors/mgr/object/download.class.php on line 71
Pavel
05 октября 2022, 01:29
0
Здравствуйте. Помогите, пожалуйста. Не могу понять в чем затык?

$modtelegram = $modx->getService('modtelegram');
$modtelegram->telegramSendMessage(array(
'chat_id' => '******',
'text' => 'Новый заказ',
));

Запускаю из консоли все работает.
Создал плагин с событием msOnCreateOrder
при новом заказе ничего не происходит
Maks
04 октября 2022, 22:53
0
Спасибо. Работает. Не подскажете еще как перенести из тв в опцию товара. К примеру создал опцию available в нее перенести из тв Наличие товара.
Константин Ильин
04 октября 2022, 22:37
+1
В этой строке указано имя ТВ — price, можете туда id поставить

$tv_price = $resource->getTVValue('price');
на ночь глядя ошибся
$query = $modx->newQuery('msProduct');
msProduct надо указывать везде
Maks
04 октября 2022, 22:22
0
//$resource->save(); эту строку я раскомментировал. результат тот же.
Maks
04 октября 2022, 22:18
0
Или что то недопонял, объясните пожалуйста.
Maks
04 октября 2022, 22:16
0
Так ваш код и взял его и использовал.
Константин Ильин
04 октября 2022, 22:12
0
Вам дали готовый код, Вы код смотрите вообще?
я специально закомментировал строчку кода.
Maks
04 октября 2022, 22:00
0
И ничего не изменилось при этом.
Maks
04 октября 2022, 21:58
0
Получил в ответ
SQL time: 0,0001 s
SQL queries: 1
PHP time: 0,0009 s
Total time: 0,0010 s
Memory: 0 MB
Константин Ильин
04 октября 2022, 21:53
0
ну надо сначала получить все товары, и в цикле обработать

$query = $modx->newQuery('modResource');
$query->select(['msProduct.*']);
$query->where(['class_key' => 'msProduct']);
$query->limit(0);
$resources = $modx->getIterator('modResource',$query);
foreach ($resources as $resource) {
      $tv_price = $resource->getTVValue('price');
        $resource->set('price',$tv_price);
        //$resource->save();
}
Maks
04 октября 2022, 21:31
0
Так мне надо все товары а не конкретный товар.
Константин Ильин
04 октября 2022, 21:29
0
$prod_ID указали верный?