рдЦрд░реАрдж "рдЖрдпрд╛рдд-рдирд┐рд░реНрдпрд╛рдд"

рд╕рднреА рд╣реИрдмреНрд░реЗрдЬрд┐рдЯреЗрд▓ рдХреЛ рдЕрдЪреНрдЫрд╛ рд╕реНрд╡рд╛рд╕реНрдереНрдп!


MODx рдХреНрд░рд╛рдВрддрд┐ рдХрдИ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЕрдЧрд░ рд╕рдм рдХреБрдЫ MODx рдЗрд╡реЛрд▓реНрдпреВрд╢рди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдм рдХреБрдЫ MODx рдХреНрд░рд╛рдВрддрд┐ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрд▓реНрдкрдирд╛ рдФрд░ рдзреИрд░реНрдп рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреНрд░рд╛рдВрддрд┐ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рдж, рдХрдИ рдХрд╛ рд╕рд╡рд╛рд▓ рдерд╛: рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рдЗрдВрдЬрди рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рдЦреАрдВрдЪреЗрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рджрд░реНрдЬрди рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ рддреЛ рдпрд╣ рдПрдХ рдмрд╛рдд рд╣реИред рдпрд╣рд╛рдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред рдПрдХ рдФрд░ рдмрд╛рдд рд╕рд╛рдордЧреНрд░реА, рдХреИрдЯрд▓реЙрдЧ рдФрд░ рдкрд╕рдВрдж рдХрд╛ рд╕рдВрдЧреНрд░рд╣ рд╣реИред


рдкреНрд░рд╛рдЧрд┐рддрд┐рд╣рд╛рд╕

рдореЗрд░реЗ рджреЛ рд╕рдВрдЧреНрд░рд╣ рдереЗ - рдПрдХ рдХрд┐рд╕реНрд╕рд╛ рдФрд░ рдорд╣рд╛рдХрд╛рд╡реНрдпред рдкрд╣рд▓реЗ рдореЗрдВ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдЪреБрдЯрдХреБрд▓реЗ рдПрдХрддреНрд░ рдХрд┐рдП, рджреВрд╕рд░реЗ рдореЗрдВ - рдпрдорд▓рдХ, рдЗрдардкреНрдкреЗрдиреНрд╕ рдФрд░ рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк рдкреЛрд░реНрдЯрд▓реЛрдВ рдХреА рдХрд╣рд╛рдирд┐рдпрд╛рдВред рдпрд╣ рд╕рдм рдЗрд╡реЛрд▓реНрдпреВрд╢рди 1.0.5 рдкрд░ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХ рджрд┐рди рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкреВрд░реЗ рдорд▓реНрдЯреА-рдбреЛрдореЗрди рд╕рд╛рдЗрдЯ рдХреЛ рдПрдХ рдЗрдВрдЬрди рдФрд░ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдХреНрд░рд╛рдВрддрд┐ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╕рд╛рдордЧреНрд░реА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдкрд░ рд╕рд╡рд╛рд▓ рдЙрдареЗред "рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ" рдЕрдиреБрднрд╛рдЧ рдФрд░ рд╕рдВрдЧреАрдд рдЕрдиреБрднрд╛рдЧ рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдерд╛ - рдХреЙрдкреА-рдкреЗрд╕реНрдЯред рдореИрдВрдиреЗ рдордВрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рднрд╛рдк рд╕реНрдирд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ - рдпрд╣ рдЕрднреА рднреА phpBB рдкрд░ рд╣реИред рд▓реЗрдХрд┐рди рдЙрдкрд╛рдЦреНрдпрд╛рди рдФрд░ рдорд╣рд╛рдХрд╛рд╡реНрдп рдХреЗ рд╕рд╛рде, рдкреНрд░рд╢реНрди рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬреЛ рд╕рдмреНрд░ рдЬрдорд╛ рд╣реБрдЖ рдерд╛, рдЙрд╕рдХреА рдирдХрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛ ...

рдирд┐рд░реНрдпрд╛рдд

рдкреБрд░рд╛рдиреА рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдЪреБрдЯрдХреБрд▓реЗ рд╕реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдордЬрд╛рдХ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЯреБрдХрдбрд╝рд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрдкрд╛рдЦреНрдпрд╛рди рдбреЗрдЯрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреГрд╖реНрда рдмрдирд╛рдпрд╛, рдЬреЛ рд╕рд╛рдЗрдЯ рдХреА рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдХреЛ JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдпрд╛ред рдЬрдм рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХреЛ рд▓реЗрдХрд░ рд╕рд╡рд╛рд▓ рдЙрдареЗ, рддреЛ рдореБрдЭреЗ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛рдж рдЖрдпрд╛ред

рдХреНрдпреЛрдВ рдЬрд╕рди? рд╣рд╛рдВ, рд╢рд╛рдпрдж, рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдореИрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдПрдХреНрд╕рдПрдордПрд▓ рдкрд╛рд░реНрд╕рд░реНрд╕ рдХреЗ рдирд░рдХ рд╕реЗ рдердХ рдЧрдпрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ JSON рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдХрд╛рд░реНрдп рд╣реИрдВ - json_encode рдФрд░ json_decode ред рдпрд╣ рдЕрддреНрдпрдВрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкрд░рд┐рд╕реНрдерд┐рддрд┐ JSON рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рддреА рд╣реИред

JSON рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рд╕рд░рд▓ рд╣реИред рддреЛ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрда рдХреА рд╕рд╛рдордЧреНрд░реА (_blank рдЯреЗрдореНрдкрд▓реЗрдЯ):
{"items":[ [[Ditto? &startID=`162` &tpl=`cat` &tplLast=`catLast`]] ]} 

рдмрд┐рд▓реНрд▓реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╕рд╛рдордЧреНрд░реА:
  { "name":"[+pagetitle+]", "alias":"[+alias+]", "template":"[+template+]", "hidemenu":"[+hidemenu+]", "content":[ [!Ditto? &startID=`[+id+]` &tpl=`item` &tplLast=`itemLast`!] ] }, 

рдХреИрдЯрд▓рд╛рд╕реНрдЯ рдПрдХ рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдХреЗ рдмрд┐рдирд╛ред рд╕рд╛рдордЧреНрд░реА рд╣рд┐рд╕реНрд╕рд╛:
  { "name":"[+pagetitle+]", "alias":"[+alias+]", "template":"[+template+]", "hidemenu":"[+hidemenu+]", "content":"[+content:strip:noquotes+]" }, 

рдЖрдЗрдЯрдорд▓реИрд╕реНрдЯ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдХреЗ рдмрд┐рдирд╛ред

рд╕реНрдирд┐рдкреЗрдЯ phx: noquotes:
 <?php // Remove r & n return str_replace('"','& quot ;',$output); //     ! * ?> 

* рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ рдХрд┐ рдПрдЪрдЯреАрдПрдордПрд▓ рдЗрдХрд╛рдИ рд╣рдмреНрд░рд╛рд╣реНрд░рдм рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреИрд╕реЗ рдХрд░рддреА рд╣реИред

рдкрд░рд┐рдгрд╛рдо рдПрдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдРрд╕реА рдлрд╛рдЗрд▓ рд╣реИред рд╣рд╛рдВ, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рд░реНрдпрд╛рдд рдкреГрд╖реНрда рдкрд░ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдкрд╛рда / рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ ред рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдореИрдХреНрд░реЛ рдХреЗ рд╕рд╛рде, рдЖрдк рддреБрд░рдВрдд Ditto рдбреЗрдЯрд╛ рдХреЛ JSON рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдерд╛ред

рдЖрдпрд╛рдд

рдлрд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реБрдИред рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ? рдФрд░ рдлрд┐рд░ рдореИрдВ MODx рдкрд░ рдПрдХ рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рдЖрдпрд╛ рдФрд░ рджреЗрдЦрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ MODx рдХреНрд░рд╛рдВрддрд┐ рдореЗрдВ рдирдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреИрд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВред рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЬрдиреНрдо рд╣реБрдЖ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдЭрд▓рдХреА:

 <?php //   JSON- //      function addItem($ctx,$pagetitle,$template,$isfolder,$hidemenu,$parent,$alias,$content,$td){ global $modx; $newResource = $modx->newObject('modResource'); $newResource->fromArray(array( 'pagetitle'=>$pagetitle, 'longtitle'=>$pagetitle, 'content'=>$content, 'template'=>$template, 'isfolder'=>$isfolder, 'hidemenu'=>$hidemenu, 'parent'=>$parent, 'published'=>'1', 'alias'=>$alias, 'context_key'=>$ctx )); if ($newResource->save()) { $id = $newResource->get('id'); $modx->cacheManager->refresh(); $modx->reloadConfig(); if (is_array($td)) { foreach($td as $key=>$val) { $tvar = $modx->newObject('modTemplateVarResource'); $tvar->set('contentid',$id); $tvar->set('tmplvarid',$key); $tvar->set('value',$val); $tvar->save(); } } return $id; } else { return false; } } // ,        function handleItem($ctx,$item,$parent,$tpls,$tvs,$handleChildren=false){ $hidm = isset($item['hidemenu'])?$item['hidemenu']:'0'; $isf = is_array($item['content'])?'1':'0'; $content = is_array($item['content'])?'':$item['content']; $tpl = array_key_exists('tpl'.$item['template'],$tpls)?$tpls['tpl'.$item['template']]:'0'; $td = array(); foreach($tvs as $tvn=>$tvv) if (array_key_exists($tvn,$item)) $td[$tvv] = $item[$tvn]; $ret = ''; if ($id = addItem($ctx,$item['name'],$tpl,$isf,$hidm,$parent,$item['alias'],$content,$td)) { $ret = 'Resource ┬л<b>'.$item['name'].'</b>┬╗ imported successfully! ' . 'New ID: <b>'.$id.'</b><br />'; if (is_array($item['content']) && $handleChildren) foreach ($item['content'] as $i) $ret.= handleItem($ctx,$i,$id,$tpls,$tvs,$handleChildren); return $ret; } else { return 'Resource ┬л<b>'.$item['name'].'</b>┬╗ not imported!<br />'; } } //   $cons = '<h1>Import item log</h1>'; //       (    ) $item_count = isset($itemCount)?$itemCount:4; // ,    if (!isset($curContext)) $curContext = 'web'; // ""     (    ) $next_items = isset($_GET['jsonimportnext'])?intval($_GET['jsonimportnext']):0; //   $tpls = array(); if (isset($templates)) { $tmp = explode(',',$templates); foreach($tmp as $val) { $tpls_d = explode('=>',$val); $tpls['tpl'.$tpls_d[0]] = $tpls_d[1]; } } //  TV- $tvs = array(); if (isset($tvParams)) { $tmp = explode(',',$tvParams); foreach($tmp as $val) { $tvs_d = explode('=>',$val); $tvs[$tvs_d[0]] = $tvs_d[1]; } } //   if (isset($source) && isset($rootID)) { if ($import_content = @file_get_contents($source)) { $import_data = json_decode($import_content,true); $import_count = count($import_data['items']); if ($item_count != 0) { for($c = 0; $c < $item_count; $c++) { $n = $item_count*$next_items+$c; if (isset($import_data['items'][$n])) $cons.= handleItem($curContext,$import_data['items'][$n],$rootID,$tpls,$tvs); } $this_res = $modx->resource->get('alias'); $this_res.= '.html'; if (($item_count*$next_items+$item_count-1)<$import_count) { $cons.= '<br /><a href="'.$this_res.'?jsonimportnext=' . ($next_items+1).'">' . 'Import next items</a><br />'; } else { $cons.= '<br /><a href="'.$this_res.'">Start</a>'; } } else { foreach ($import_data['items'] as $item) $cons.= handleItem($curContext,$item,$rootID,$tpls,$tvs,true); } } else { $cons.= 'Cannot get source!<br />'; } } else { $cons.= 'Invalid execution parameters!<br />'; } return $cons; 


рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП: рдпрд╣ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреЛрдб рд▓рдЧрднрдЧ рдЕрдзреВрд░рд╛ рд╣реИ, рдЕрдлрд╕реЛрд╕ред рдЬрд░реВрд░рдд рдореЗрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЬрд▓реНрджреА рдореЗрдВред рдпрджрд┐ рд╕рдорд╛рдзрд╛рди рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдХрд╛рдо рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ рдФрд░ рд╕рдВрднрд╡рдд: MODx рдкрд░ рдкреВрд░реНрдг-рд╡рд┐рдХрд╕рд┐рдд рдРрдб-рдЗрди рдмрдирд╛рдКрдВрдЧрд╛ред

рдЗрдирдкреБрдЯ рд╕реНрдирд┐рдкреЗрдЯ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ:


рдкреНрд░рджрд░реНрд╢рди рдХреА рдмрд╛рдд рдХреНрдпреЛрдВ? рд▓реЗрдХрд┐рди рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдореИрдВрдиреЗ рд╕реНрдирд┐рдкреЗрдЯ рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдерд╛, рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛, рддреЛ рд╕рд░реНрд╡рд░ рдиреЗ рдореБрдЭреЗ 502 рд╡реАрдВ рддреНрд░реБрдЯрд┐ рджреАред рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рддреЛ рд╣реЛрд╕реНрдЯрд░ рдиреЗ рдПрдХ рдЙрдЪреНрдЪ рднрд╛рд░ рдХрд╛рдЯ рджрд┐рдпрд╛ред рдЕрдЪреНрдЫрд╛ - рдмрд╣реБрдд рд╕рд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдереЗред

рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓рд┐рдЦреЗрдВ:
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru"><head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <base href="/" /> <title>[[*pagetitle]]</title> <style type="text/css"> body { font: 12px monospace; } </style> </head><body><div align="center"><div style="text-align: left; width: 800px;"> [[!importJSON? &source=`[[*sourceURL]]` &itemCount=`6` &templates=`[[*templatesReplace]]` &tvParams=`[[*tvsReplace]]` &curContext=`[[*currentContext]]` &rootID=`[[*importDestination]]`]] </div></div></body></html> 

рдлрд┐рд░ рд╣рдо рдЯреАрд╡реА рдкреИрд░рд╛рдореАрдЯрд░ sourceURL, рдЯреЗрдореНрдкреНрд▓реЗрдЯReplace, tvsReplace, currentContext, importDestination рдХреЛ рдЯреЗрдВрдкрд░реЗрдЪрд░ рдмрдирд╛рддреЗ рдФрд░ рдмрд╛рдВрдзрддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдкрд░ рдХрд╕рдо рдЦрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдореБрдЭреЗ reference_key рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдПрдХ рдкреГрд╖реНрда рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдм рдХреБрдЫред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдХрд╣реВрдБрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ред рдореИрдВ рддреБрд░рдВрдд рдПрдХ рдиреЛрдЯ рдмрдирд╛рдКрдВрдЧрд╛ рдЬреЛ рдореИрдВрдиреЗ рдирд┐рд░реНрдпрд╛рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдерд╛, рдЬреЛ рд╣рд░ рдмрд╛рд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рд▓реЛрдб рд╕реАрдорд╛рдУрдВ рдХреЗ рдХрд╛рд░рдгред рдореЗрд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдХреНрд░рдоред
  1. рдкреБрд░рд╛рдиреА рд╕рд╛рдЗрдЯ рдкрд░, рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдпрд╛рдд рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред рд╣рдордиреЗ рдЖрдЧреЗ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдкрд░ "рдЬрд╛рд░реА" рд░рдЦрд╛ред
  2. рдирдИ рд╕рд╛рдЗрдЯ рдкрд░, рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдЬрд╣рд╛рдВ рд╣рдо рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЗрд╕рдХреЗ рдмрд╛рдж рдЖрдпрд╛рдд рдлрд╝рд╛рдЗрд▓)ред рд╣рдо рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ JSON рд╕реЗ рдЖрдпрд╛рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд╕рд╣реЗрдЬреЗрдВред
  3. рдЖрдпрд╛рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ, рд╡рд░реНрддрдорд╛рди рд╕рдВрджрд░реНрдн, рдирд┐рд░реНрдпрд╛рдд рдлрд╝рд╛рдЗрд▓ рдХрд╛ URL, рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдФрд░ рдЯреАрд╡реА рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдорд╛рдирдЪрд┐рддреНрд░рдг рд╕реЗрдЯ рдХрд░реЗрдВред рд╕рд╣реЗрдЬреЗрдВред
  4. рдирд┐рд░реНрдпрд╛рдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдкреЗрд░реЗрдВрдЯ рд░рд┐рд╕реЛрд░реНрд╕ рдХреА рдЖрдИрдбреА рд╕реЗ startID рдореЗрдВ рд╡реИрд▓реНрдпреВ рдмрджрд▓реЗрдВ, рдЬрд╣рд╛рдБ рд╕реЗ рд╣рдо рдХрдВрдЯреЗрдВрдЯ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗред рд╕рд╣реЗрдЬреЗрдВред
  5. рдЖрдпрд╛рдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рд╕рдВрд╕рд╛рдзрди рдЖрдИрдбреА рд╕реЗрдЯ рдХрд░реЗрдВ рдЬрд╣рд╛рдБ рд╣рдо рдЖрдпрд╛рдд рдХрд░реЗрдВрдЧреЗред рд╕рд╣реЗрдЬреЗрдВред
  6. рд╣рдо рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛рдд рдлрд╝рд╛рдЗрд▓ рдХрд╣рддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛, рд╢рд┐рд▓рд╛рд▓реЗрдЦ "рдкреНрд░рд╛рд░рдВрдн" рдХреЗ рд╕рд╛рде рдПрдХ рд▓рд┐рдВрдХ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рддрдХ рдЕрдВрдд рдореЗрдВ рджреЛрд╣рд░рд╛рдПрдВ:
    1. рд╣рдо рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
    2. "рдЕрдЧрд▓реЗ рдЖрдЗрдЯрдо рдЖрдпрд╛рдд рдХрд░реЗрдВ" рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  7. рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрд╕рд╛рдзрди рд╕реЗ рд╕рдм рдХреБрдЫ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЪрд░рдг 4 рдореЗрдВ рд▓реМрдЯрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдХреБрдЫ рдФрд░ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рд╣рд╛рдБ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпрдХреНрд╖ рдкреНрд░рд╢реНрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдм рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХреЗрд╡рд▓, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рддрдереНрдп рд╕реЗ рдирд╣реАрдВ рдХрд┐ рдпрд╣ 502 рд╡реАрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд╣реА рдХрд░реЗрдЧрд╛ред рджреВрд╕рд░реА рдмрд╛рдд, рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯ_рдХрдВрдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдерд╛ред рддреАрд╕рд░рд╛, рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд▓рд┐рдЦреВрдВрдЧрд╛, рд╡реЗ рддреБрд░рдВрдд рдореБрдЭреЗ "рдПрдХ-рдПрдХ-рд╕рдорд╛рди-рдПрдХреНрд╕рдкреАрдбреАрдУ" рд╢рдмреНрдж рдХреЗ рд╕рд╛рде рдареЛрдХрд░ рдорд╛рд░реЗрдВрдЧреЗред

рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╕реМрджрд╛ рд╣реИред рдореЗрд░реА рдЕрдЧрд▓реА рдмрд╛рдЗрдХ рдкрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/In157483/


All Articles