猿问

无法创建新资源。在 null 上调用成员函数 newObject()

我需要以编程方式创建资源,但发生错误。我有一个父 Uki(4),我可以手动创建资源。当我运行使用 $data 数组的函数来创建资源时 - 它在$modx->newObject('modResouce');


我试过使用$modx->runProcessor('resource/create', $createresource);- 它也给出了空错误。


require_once '/opt/lampp/htdocs/modx/config.core.php';

require_once( MODX_CORE_PATH . 'model/modx/modx.class.php');

$modx = new modX();

$modx->initialize('web');

//Подгрузка сервисов модекса


define('MODX_API_MODE', true);

$modx->getService('error','error.modError');

$modx->lexicon->load('minishop2:default');

$modx->lexicon->load('minishop2:manager');

$miniShop2 = $modx->getService('minishop2','miniShop2',

$modx->getOption('minishop2.core_path',null,

$modx->getOption('core_path').'components/minishop2/').'model/minishop2/', array());



function productAddItemBD($data)

{     



$doc = $modx->newObject('modResouce');    //81 line =====

    $doc->set('parent', '0');

    $doc->set('pagetitle', $data['pagetitle']);

    $doc->set('alias', $data['alias']);

    $doc->save();




    $modifications = $modx->call('msopModification', 'saveProductModification', array(&$modx, $doc->id, $data['modprices']));

    $response = 

            $modx->runProcessor('gallery/upload', array('id' => $doc->id, 

                'name' => $data['title'], 'file' => $data['img']), 

                array('processors_path' => MODX_CORE_PATH . 'components/minishop2/processors/mgr/'));

    if ($response->isError()) {

        throw new Exception(get_error_string($response,' Site: create modification or gallery item'));

    }

$item_created++;

  return true;


}

呼唤远方
浏览 151回答 2
2回答

开心每一天1111

函数中不存在变量“$modx”。在函数内声明变量,或使用“global $modx;”

Smart猫小萌

$modx->newObject('modResouce'); 这里缺少“modResource”中的“r”。对于正在运行的进程,您的用户组必须具有正确的访问权限。我将附上截图 modx 管理面板
随时随地看视频慕课网APP
我要回答