@EVAL $parent = $_GET; switch(end($parent)){ case 'web': $parent_c = 130; break; case 'ua': $parent_c = 131; break; case 'en': $parent_c = 132; break; } $output = $modx->runSnippet('pdoResources',array( 'parents'=> $parent_c, 'tpl'=>'@CODE:[[+pagetitle]]==<li><a href="[[++site_url]][[+url]]">[[+pagetitle]]</a></li>', 'sortdir'=>'ASC', 'sortby'=>'menuindex', 'outputSeparator'=>'||')); return $output;
$q = $modx->newQuery('modResource'); $alias = $q->getAlias(); $q->innerJoin('modTemplateVarResource', "tv", "tv.tmplvarid = 22 AND tv.contentid = {$alias}.id"); $q->innerJoin('modResource', 'brand', "brand.id = tv.value"); $q->innerJoin('modResource', 'Parent'); $q->where(array( "Parent.template" => 2, )); $q->select(array( "brand.pagetitle as brand", "{$alias}.*", )); $q->sortby("{$alias}.id"); foreach($modx->getIterator('modResource', $q) as $doc){ $data = array( "parent" => $doc->parent, "pagetitle" => $doc->brand, "template" => 23, ); // Пытаемся получить раздел-производитель, если уже есть if(!$parent = $modx->getObject('modResource', $data)){ // Если раздел не был получен, создаем новый $data = array_merge($data, array( "alias" => $doc->brand, "isfolder" => 1, "published" => 1, "publishedon" => time(), "publishedby" => $modx->user->id, "createdby" => $modx->user->id, "createdon" => time(), )); $parent = $modx->newObject('modResource', $data); // Устанавливаем id не null, чтобы не ловить нотис $parent->set('id', 0); } // Устанавливаем родителя для текущего документа $doc->Parent = $parent; $doc->save(); // print_r($doc-> toArray()); // print_r($doc->Parent-> toArray()); }
'aggregates' => array ( 'Parent' => array ( 'class' => 'modResource', 'local' => 'parent', 'foreign' => 'id', 'cardinality' => 'one', 'owner' => 'foreign', ),
Один, тот что я прикреплял, еще есть файл с остатками (Но его скорее всего не нужно будет выгружать).
Правильно я понял, что за 10000 настроите импорт этого файла, и соответственно чтобы он обновлялся по расписанию?
И еще нужно будет чтобы картинки прицепить, они так же находятся на ftp компании предоставляющей файл. Названия файлов в папках соответствуют уникальному идентификационному коду товаров. Это за дополнительную стоимость или уже включено?
По крону замечательно будет. Единственно только сайт находится пока в разработке, как только до делается будет перенесен на отдельный сервер.