MODx рдореЗрдВ рдЙрдк-рдбреЛрдореЗрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ

рдлрд┐рд░ рдПрдХ рдорд┐рддреНрд░ рд╕реЗ рдПрдХ рдкреНрд░рд╢реНрди рдЖрдпрд╛:
рдЖрдкрдХрд╛ рджрд┐рди рд╢реБрдн рд╣реЛ!

рдореИрдВрдиреЗ ModX рдФрд░ LS рдХреА рджреЛрд╕реНрддреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рдкрдврд╝рд╛, рдФрд░ рдПрдХ рд╕рд╡рд╛рд▓ рдкреВрдЫрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдЦреБрдж ModX рдореЗрдВ рд╣рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ - рдореБрдЦреНрдп рд╕рд╛рдЗрдЯ рдХреЗ рд╡рд░реНрддрдорд╛рди рдЙрдкрдбреЛрдореЗрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд░реЗрд╡реЛ рдХреЗ рдХрд╛рдо рдХреЗ рддрд░реНрдХ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП?

рдореИрдВ pro-cent.ru рдкрд░ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рд╢рд╣рд░ рдХрд╛ рдирд╛рдо рдЙрдкрдбреЛрдореЗрди (http://kaliningrad.pro-cent.ru/) рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ ModX рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рд╕рдм рдХреБрдЫ рдЖрдкрдХреЗ рд╣рд╛рдереЛрдВ рдФрд░ рдЖрдкрдХреЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?


рдореИрдВрдиреЗ рдЬрдирддрд╛ рдХреЛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рд╢рд╛рдпрдж рдХреЛрдИ рдХрд╛рдо рдЖрдПрдЧрд╛ред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЙрдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдм рдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдХрдИ рдбреЛрдореЗрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдЙрдирдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛), рдЖрдкрдХреЛ $ modx-> switchContext ($ ctx) рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ; рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рдЪреАрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╣рдореЗрдВ рдирд╣реАрдВ рдмрдЪрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдЕрд▓рдЧ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдм рд╣рдорд╛рд░реЗ рдореВрд▓ рд╕рдВрджрд░реНрдн (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡реЗрдм) рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реВрдХреНрд╖реНрдорддрд╛ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдирд╣реАрдВ рд╣реИред рд╡рд╣рд╛рдБ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд▓рдХреНрд╖реНрдп рд╕рдВрджрд░реНрдн рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реЛрдиреЗ рдкрд░ $ modx-> switchContext () рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рдХреЗ рдЕрдкрдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реЛрддреЗ рд╣реИрдВ, рдЖрджрд┐ред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдореВрд▓ рд╕рдВрджрд░реНрдн рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЗрд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИрдВ, рдФрд░ рд╢рд╣рд░ рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдПрдХ рд▓рд╛ рдХреНрд░рд╛рд╕рдиреЛрдбрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЕрдзрд┐рднрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ (рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджрд░реНрдн рдХреА рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ рдЬреИрд╕реЗ рдЖрдзрд╛рд░ рдбреЛрдореЗрди, рд╢рд╣рд░, рдХреЛрдб I .рдореЗрдЯреНрд░рд┐рдХ, рдЖрджрд┐), рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд╢реЗрдпрд░реЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗрдирд╛ рд╣реИ, рдЖрджрд┐ред

рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╕рднреА рдХреЛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдкрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдЙрдирдХрд╛ рдЙрди рдкрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд▓рдЧ-рдЗрди рд╣реИ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдЗрдВрдЬрди рдХреЛрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреВрдиреЗ рдХреЗ рдмрд┐рдирд╛, рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЦреБрдж рдХреЛ рдореЙрдбреЗрдХреНрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рддрд░реНрдХ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ:

1. рд╣рдо рдЙрди рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЙрдирдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВред

2. рдПрдХ рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдПрдВ рдФрд░ OnHandleRequest рдЗрд╡реЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрдВ

3. рдкреНрд▓рдЧрдЗрди рдореЗрдВ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд (рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ) рд▓рд┐рдЦрддреЗ рд╣реИрдВ

<?php //         switch($modx->context->key){ case 'web': break; default: return; } //    3-   ,     if(preg_match('/([^\.]+)\.[^\.]+\.[^\.]+$/',$_SERVER['HTTP_HOST'], $match)){ if($ctx = $modx->getObject('modContext', $match[1])){ //    if($ctx->prepare()) { //   MODx- //   ,         API $modx->getOption(); //   ,         [[++site_name]],       //   $modx->config = array_merge($modx->config, $ctx->config); } } } //      // -   ,         , //  -    //    if(!$host && (!$host = $modx->config['mainHost'])) { // print "      ".$modx->context->key; return; } // print $host; $redir_host = ''; $redir_url = ''; //         switch($modx->event->name){ case 'OnPageNotFound': break; case 'OnHandleRequest': break; default: ; } //      if(!preg_match('/^'.$host.'$/i', $_SERVER['HTTP_HOST'])){ $redir_host = $host; $redir_url = $_SERVER['REQUEST_URI']; } //       ,   301-  (  ) if($redir_host || $redir_url){ $params = array(); $redir_url ? $params['url'] = $redir_url : ""; $redir_host ? $params['hostl'] = $redir_host : ""; $modx->runSnippet('redirect', $params); } 


рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдм рдХреБрдЫред

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


All Articles