Создание категории и seo tv параметров программно из Console в modx revo

getObject('modCategory', array('category'=>'SEO'))) {
	$category = $modx->newObject('modCategory', array('parent'=>0, 'category'=>'SEO'));	
	$category->save();
}

$tempID = '1,2,3,4,5,6,7,8,9';

$name = 'metaTitle';
if (!$tv = $modx->getObject('modTemplateVar', array('name' => $name))) {
    $tv = $modx->newObject('modTemplateVar');
    $tv->fromArray(array(
	    'name'         => $name,
	    'type'         => 'text',
	    'caption'      => 'Заголовок страницы',
	    'description'  => 'metaTitle',
	    'category'     => $category->get('id'),
	    'rank'		   => 0,
	));
	$tv->save();
}
$tvs[] = $tv->get('id').'-'.$tempID; 

$name = 'metaDescription';
if (!$tv = $modx->getObject('modTemplateVar', array('name' => $name))) {
    $tv = $modx->newObject('modTemplateVar');
    $tv->fromArray(array(
	    'name'         => $name,
	    'type'         => 'textarea',
	    'caption'      => 'Описание страницы',
	    'description'  => 'metaDescription',
	    'category'     => $category->get('id'),
	    'rank'		   => 1,
	));
	$tv->save();
}
$tvs[] = $tv->get('id').'-'.$tempID; 

$name = 'metaKeywords';
if (!$tv = $modx->getObject('modTemplateVar', array('name' => $name))) {
    $tv = $modx->newObject('modTemplateVar');
    $tv->fromArray(array(
	    'name'         => $name,
	    'type'         => 'text',
	    'caption'      => 'Ключевые слова',
	    'description'  => 'metaKeywords',
	    'category'     => $category->get('id'),
	    'rank'		   => 2,
	));
	$tv->save();
}
$tvs[] = $tv->get('id').'-'.$tempID; 



foreach ($modx->getCollection('modTemplate') as $template) 
{
    $templateId = $template->id;
    foreach ($tvs as $k => $tv) {
        $tvOpt = explode("-", $tv);
        $tvid = $tvOpt[0];
        $tvTemps = explode(",",$tvOpt[1]);
        
        foreach ($tvTemps as $tvTemp){
            if($templateId == $tvTemp){
                if (!$tvt = $modx->getObject('modTemplateVarTemplate', array('tmplvarid' => $tvid, 'templateid' => $templateId))) {
                    $tvt = $modx->newObject('modTemplateVarTemplate');
					$tvt->set('tmplvarid', $tvid);
					$tvt->set('templateid', $templateId);
					$tvt->set('rank', $k);
					$tvt->save();
                }
            }
        }
    }
}
07 августа 2018, 00:57    Администратор по умолчанию CMS 0    0 0

Комментарии (0)

    Вы должны авторизоваться, чтобы оставлять комментарии.