Редирект

есть два контекста, в web лежит основной каталог, в catalog лежит старые товары(вынес для удобства администрирования)
если в конце адресной строки добавить слеш (site.ru/blog/) то кидает не на странице например site.ru/blog а на старый каталог(то есть страницу другого контекста)
есть такой плагин

<?php
if ($modx->event->name == 'OnPageNotFound') { 
    
    $alias = $modx->context->getOption('request_param_alias', 'q');
    if (!isset($_REQUEST[$alias])) {return false;}
    $request = $_REQUEST[$alias];
    $tmp = explode('/', $request);
    
    $req = 'product';
    
    if (($tmp[0] == $req && count($tmp) == 1) || (count($tmp) == 2 && empty($tmp[1])) ) {
        
		$modx->sendForward('2068');
		return;
		
    } else if ($tmp[0] == $req && count($tmp) >= 2 && !empty($tmp[1])) {
        
        $obj = $modx->getObject('modResource', array('uri' => $request));
        $modx->sendForward($obj->get('id'));
        return;
        
    } else if ($tmp[0] != $req && $tmp[0] != 'assets') {
        
        $modx->switchContext('web');
        return;
    }

}
Aslero
06 апреля 2019, 23:33
modx.pro
336
0

Комментарии: 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0