Skip to content

Instantly share code, notes, and snippets.

@AgelxNash
Created November 1, 2013 07:20
Show Gist options
  • Save AgelxNash/7261927 to your computer and use it in GitHub Desktop.
Save AgelxNash/7261927 to your computer and use it in GitHub Desktop.
Документ 270400 имеет ссылку вида /detals/
//<?php
$DOC = 270400;
switch($modx->event->name){
case 'OnPageNotFound':{
$brand = '';
$q = explode('/', ltrim($_SERVER['REQUEST_URI'], '/'));
if(!isset($modx->motoDocID) && count($q)==2 && isset($q[0],$q[1])){
$motoID = (int)rtrim($q[1],$modx->config['friendly_url_suffix']);
if($motoID.$modx->config['friendly_url_suffix'] == $q[1]){
include_once(MODX_BASE_PATH.'assets/lib/modResource.php');
$DOCobj = new modResource($modx);
$DOCobj->edit($DOC);
if(!is_null($DOCobj->getID()) && $DOCobj->get('alias') == $q[0]){
$modx->motoDocID = $motoID;
$modx->sendForward($DOC);
}
}
}
break;
}
case 'OnLoadWebDocument':
case 'OnLoadWebPageCache':{
if($modx->documentObject['id']==$DOC){
$flag = true;
if(isset($modx->motoDocID) && (int)$modx->motoDocID>0){
include_once(MODX_BASE_PATH.'assets/lib/modItems.php');
$ITEM = new modItems($modx);
$ITEM->edit((int)$modx->motoDocID);
$flag = !is_null($ITEM->getID());
}else{
$flag = false;
}
if($flag){
$plh = $ITEM->toArray('moto');
$plh['moto_id'] = $ITEM->getID();
$modx->documentObject = array_merge($modx->documentObject,$plh);
}else{
$modx->motoDocID = false;
$modx->sendErrorPage();
}
}
break;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment