
å 責äºé ïŒãã¡ããããã®èšäºã§çŽ¹ä»ãããŠããå 容ã®å€ãã¯ãç¥èã®ãã人ã«ãšã£ãŠã¯ãã£ããã³ã®ããã§ãã ãããããããã圌女ã¯èª°ããå©ããã§ããã...
ã¯ããã«
ããã§ãMODXãšã¯æ£ç¢ºã«ã¯äœã§ããïŒã¡ãªã¿ã«ããã®ããã«æžãããŠããŸã-ããã®ååãšããŠã§ã¯ãªãMODX-MODxïŒïŒ å ¬åŒãµã€ããèªããš-ããã¯CMSã§ãã ãã ããããã¯çå®ã®äžéšã«ãããŸããã å®éãMODXã¯CMSãšCMFã®ã»ãŒäžéã§ãã ãã ããMODXã«èå³ããã人ã¯ä»ã®èšäºããããã«ãããã®ã§ããã®ç¹ã«ã€ããŠã¯è©³ãã説æããŸããã
MODXã¯CMSãšCMFã®äžéã«ãããããWordpressãJoomlaãªã©ã®åçŽãªCMSã»ã©ç°¡åã«åŠã¶ããšã¯ã§ããŸããã ããããããã®èšäºã¯ãäžèŠããŠæããã§ã¯ãªãããã«èŠãã埮åŠãªç¹ã®ããã€ããæããã«ããããã«æžãããã®ã§ãããã
èšçœ®
å人çã«ãnginxãšPHP-FPMãè£ åãããµãŒããŒã«MODX Revo 2.2.4ãã€ã³ã¹ããŒã«ããŸããã
MODXã¯äžè¬ã«Apache + PHPæ¡åŒµçšã«èšèšãããŠãããããnginxã«ã¯è¿œå ã®æ§æãå¿ èŠã§ãã ç§ã®æ§æã¯æ¬¡ã®ããã«ãªããŸãã
nginxèšå®
server { listen 80; server_name example.com *.example.com; # MODX . index index.php index.html; root /srv/http/example.com/public; access_log /srv/http/example.com/logs/http_access.log main buffer=50k; error_log /srv/http/example.com/logs/http_error.log; # robots.txt. ? location = /robots.txt { access_log off; log_subrequest off; log_not_found off; } # favicon.ico location = /favicon.ico { access_log off; log_subrequest off; log_not_found off; } # sitemap.xml location = /sitemap.xml { access_log off; log_subrequest off; log_not_found off; } # *.css *.js location ~* ^.+\.(css|js)$ { access_log off; log_subrequest off; log_not_found off; } # , location ~* ^.+\.(bmp|gif|jpg|jpeg|ico|png|swf)$ { access_log off; log_subrequest off; log_not_found off; } # , , .htaccess, .git, .svn .. location ~ /\. { deny all; } # MODX. ( ), ( ). , MODX-? location / { try_files $uri $uri/ @rewrite; } # . - MODX index.php?q= - . location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } # php-fpm location ~ \.php$ { # php-fpm. . fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param DOCUMENT_ROOT /srv/http/example.com/public; # , root fastcgi_param SCRIPT_FILENAME /srv/http/example.com/public$fastcgi_script_name; # , root + $fastcgi_script_name include fastcgi_params; fastcgi_param REMOTE_ADDR $remote_addr; # , IP PHP localhost-. } }
å®éããã®èšå®ã¯äžå®å šã§ãããšç¢ºä¿¡ããŠããŸãããåæèšå®ã§ã¯ããããé©åã§ãã ããã§åæ¢ããããšã2ã€ãããŸããå®éãMODXãæ¥ç¶ããŸãïŒCNCãæ£ããæ©èœããããïŒã
server_name example.com *.example.com; # MODX . # MODX. ( ), ( ). , MODX-? location / { try_files $uri $uri/ @rewrite; } # . - MODX index.php?q= - . location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; }
å®éãããã¯MODXãšä»ã®ãã¹ãŠïŒPHPãªãã§nginx CSSãJSãç»åããã®ä»ã®ãã®ãããŒãããïŒã®äž¡æ¹ãæ£ããåäœãããã®ã«ååãªããã§ãã
ã€ã³ã¹ããŒã«èªäœã¯éåžžã«ç°¡åã§ãããã¡ã€ã«ãç®çã®ãã©ã«ããŒã«è§£åããã¢ãã¬ã¹ããŒexample.com/setup/ã«ç§»åããã ãã§ããã®åŸç°¡åãªã€ã³ã¹ããŒã©ãŒãèªã¿èŸŒãŸããŸãã
人ã«åªããURLïŒCNCïŒ
ããã©ã«ãã§ã¯ãCNCã¯MODXã§ç¡å¹ã«ãªã£ãŠããŸãã ããã¯éåžžã«ç°¡åã«ãªã³ã«ãªããŸãïŒã·ã¹ãã ->ã·ã¹ãã èšå®->ãfriendly_urlsãããã£ã«ã¿ãŒã«å ¥ããŠEnterãæŒããŸãïŒãã¡ããããã³ãã«ã䜿çšããŠæ€çŽ¢ã§ããŸãããããé«éã§ãïŒ->å€ããã¯ããã«åãæ¿ããäžéšã®ãä¿åããã¯ãªãã¯ããŸãã
äžè¬çã«ãMODXã§ã¯ãä¿åãã¿ã³ãå³äžé ã«ããããšãå¿ããªãã§ãã ããã MODXã§ã¯èªåä¿åãããªã¬ãŒãããå Žåãšããã§ãªãå Žåããããããèšå®ãå¿ããŠããŸãããšããããŸãã
åæ§ã«ãCNCã®èªåçæã®ããã®é¢æ° "automatic_alias"ã«å¯ŸããŠãå®è¡ããŸãã
CNCãæ£åžžã«ãªã³ã«ããã®ã§ããªã³ã¯ã¯æ¬¡ã®ããã«åœ¢æãããŸãã
example.com/resourcename.html
æåŸã«.htmlãæ¿å ¥ãããŠããããšã«æ³šæããŠãã ããïŒ åã ã®ãªãœãŒã¹ã®Content-Typeã«äŸåããŸãïŒãªãœãŒã¹èªäœã®ããããã£ã®å€æŽïŒã ã³ã³ãã³ãã¿ã€ãèªäœã®èšå®ã¯ãã·ã¹ãã ->ã³ã³ãã³ãã¿ã€ãã«ãããŸãã
ãã ããè¿œå ã®GETãã©ã¡ãŒã¿ãŒã¯ãã¹ãŠåããŸãŸã§ãããããã¯æ¬¡ã®ããã«æ©èœããŸãã
example.com/news.html?date=05092012&nid=1
å人çã«ãç§ã¯ãã®ãããªã·ã¹ãã ã奜ãã§ã¯ãªãã£ãã®ã§ããããã®ãã©ã¡ãŒã¿ãŒãCNCã®äžéšã«ããæ¹æ³ãæ¢ãå§ããŸããã ãããŠèŠã€ããïŒ
æå§ãã«ãMODXãæ¡åŒµã§ããããŸããŸãªèŠçŽ ã«ã€ããŠå°ãã話ããã䟡å€ããããŸãã ãããã®ããã€ãããããŸãïŒ
- ãã³ãã¬ãŒãå€æ°-è¿œå ã®ãªãœãŒã¹ããããã£ãã£ãŒã«ãã åŸã§åœŒãã«æ»ããŸã
- ãã£ã³ã¯-ä»ã®ãã£ã³ã¯ããªãœãŒã¹ããŸãã¯äžè¬çã«ã©ãã«ã§ãæ¿å ¥ã§ããHTMLã³ãŒãã®ãããã¯ïŒMODXããŒã¯ã¢ããã®å¯èœæ§ããïŒã 泚æïŒ ããã«ã¯PHPãæ¿å ¥ã§ããŸããïŒ
- ã¹ããããã¯ãç¹å®ã®ããŒã¿ãæ¿å ¥ãããå Žæã«åºåããPHPã³ãŒãã®ãããã¯ã§ãïŒMODXããŒã¯ã¢ããã䜿çšïŒã ãã£ã³ã¯ã®äžçš®ã®PHPã¢ããã°ã
- ãã©ã°ã€ã³ã¯ãMODXå ã§çºçããç¹å®ã®ã€ãã³ãã«åŸã£ãŠå®è¡ãããPHPã³ãŒãã®ãããã¯ã§ãã ããããDrupalããã¯ã®ãããªãã®ã
ãã®å Žåãã¹ãããããšãã©ã°ã€ã³ãå¿ èŠã§ãã
ããã§ã¯ãç¬èªã®URL圢åŒã§MODXã«ã©ã®ããã«çµ±åããŸããïŒ å®éãããã¯éåžžã«ç°¡åã§ã-MODXã«æå®ãããURLã§ããŒãžãèŠã€ããããèŠã€ãããªãå Žåã¯å¶åŸ¡ããŠè§£æãããã®åŸMODXãããã¹ãå Žæã«éããŸãã ãããè¡ãã«ã¯ã OnPageNotFoundã€ãã³ãã®ãã©ã°ã€ã³ã䜿çšããŸãã
é«åºŠãªCNCã®ãã©ã°ã€ã³ã³ãŒã
<?php if($modx->request->getResourceMethod()!="alias") return; $uri = $modx->resourceIdentifier; $uriChunks = explode("/", $uri); $paramNum=0; $uriChunksCount = count($uriChunks); $paramDelimiter="-"; //DO NOT use "/"! Set the desired delimiter here. for($i=$uriChunksCount-1;$i>0;$i--) { $parameter=explode($paramDelimiter, $uriChunks[$i], 2); if(count($parameter)!=2) return; $modx->request->parameters['GET'][$parameter[0]]=$parameter[1]; if(empty($modx->request->parameters['POST'][$parameter[0]])) $modx->request->parameters['REQUEST'][$parameter[0]]=$parameter[1]; $paramNum++; unset($uriChunks[$i]); $uri = implode("/", $uriChunks); if (array_key_exists($uri, $modx->aliasMap)) { $modx->sendForward($modx->aliasMap[$uri]); } } if($paramNum==($uriChunksCount-1)) { $parameter=explode($paramDelimiter, $uriChunks[0], 2); if(count($parameter)!=2) return; $modx->request->parameters['GET'][$parameter[0]]=$parameter[1]; if(empty($modx->request->parameters['POST'][$parameter[0]])) $modx->request->parameters['REQUEST'][$parameter[0]]=$parameter[1]; $modx->sendForward($modx->getOption('site_start', null, 1)); }
å®éãããã§ã¯ãããã次ã®ããšãããã䟡å€ããããŸãã
$modx->request->getResourceMethod()
CNCããªã³ã«ãªã£ãŠãããã©ããã確èªããŸãã
$modx->resourceIdentifier
ãã®ããã»ã©æçœã§ã¯ãªãå€æ°ã¯ãèŠæ±ãããURLãæ ŒçŽããŸãã
$paramDelimiter="-";
ãã®å€æ°ã¯ãGETãã©ã¡ãŒã¿ãŒã®ååãšãã®å€ã®éã®åºåãèšå·ãèšå®ããŸãã ã/ã以å€ã«å€æŽã§ããŸãã
$modx->request->parameters['GET'][$parameter[0]]=$parameter[1]; if(empty($modx->request->parameters['POST'][$parameter[0]])) $modx->request->parameters['REQUEST'][$parameter[0]]=$parameter[1];
å®éã«ã¯ãMODXã¯åãªã¯ãšã¹ãã§GETããã³POSTãã©ã¡ãŒã¿ãŒã«é¢ãããã¹ãŠã®æ å ±ãç¬èªã®é åã«ä¿åãããã®åŸãããã次ã®æ¹æ³ã§å ±éã®é åã圢æããŸãã
$modx->request->parameters['REQUEST'] = array_merge($modx->request->parameters['GET'], ($modx->request->parameters['POST']);
ãã®æ§é ãä¿åããããã«ãPOSTé åã®ããŒã¿ãREQUESTé åã«ä¿åãããŠãããã©ãããæ¯å確èªããååšããªãå Žåã«ã®ã¿REQUESTé åã®ããŒã¿ã眮ãæããŸãã
if (array_key_exists($uri, $modx->aliasMap)) { $modx->sendForward($modx->aliasMap[$uri]); }
ãããŠãããã¯å®éã«ç®çã®ãªãœãŒã¹ãžã®ãªãã€ã¬ã¯ãã§ãã CNCããŒãã«å šäœã$ modx-> aliasMapã«ä¿åãããŸããããã䜿çšããŠãç®çã®ãªãœãŒã¹ã«ç§»åããæéãããŸãã¯ã¢ã³ããŒããŒã¹ãããuriã®ã³ã³ãã³ãããŸã ãã©ã¡ãŒã¿ãŒã§æ§æãããŠãããã確èªããŸãã $ modx-> sendForwardãšãã®ãªãã€ã¬ã¯ããå®è¡ããŸãã
ãã ããããããããã®URLçæã¡ã«ããºã ã䜿çšããŠãããšãã°çŸåšã®ããŒãžãžã®ãªã³ã¯ãããã«æäŸããããšæãã§ãããã ãããè¡ãããã«ãçŸåšã®ããŒãžã®URLãçæããã ãã®ç°¡åãªã¹ãããããäœæããŸããã ãã¡ãããçæãä»ã®ãªã³ã¯ã®ããã«æ¡åŒµã§ããŸãããããã¯ãã§ã«ãããå¿ èŠãšãã人ã®å人çãªå®¿é¡ã«ãªããŸã-ããã«ã€ããŠè€éãªããšã¯äœããããŸãã:)
<?php $currentURL=""; foreach($modx->request->getParameters() as $key => $value) { $currentURL.=$key."=".$value."&"; } $currentURL = $modx->makeUrl($modx->resource->get("id"), $modx->context->get("key"), $currentURL); return $currentURL;
å®éã説æããç¹å¥ãªãã®ã¯ãããŸããã $ modx-> makeUrlã¯URLã圢æããŸãã åèã®ããã«-ããã¯ã³ã³ããã¹ãã«é¢é£ããŠããã圢æããŸã-2çªç®ã®ãã©ã¡ãŒã¿ãŒã¯åã«ã³ã³ããã¹ããèšå®ããŸãã
MODXã®ãã«ããµã€ã
åãMODXã§ç°ãªãã³ã³ããã¹ãã®è€æ°ã®ãã¡ã€ã³ãåŠçãã
å®éããã®ãããã¯ã¯ãããšãã°ãã®ãããã¯ãã€ã³ã¿ãŒãããã§ãã§ã«åãäžããããŠããŸã ã ç§ã®æ±ºæãæ瀺ããããšæããŸããããã¯ç§ã«ã¯éåžžã«ç°¡åãªããã§ãã ããããæåã«ããã®åé¡ã解決ããäž»ãªæ¹æ³ããªã¹ãããŸãã
- index.phpã®ç·šéã Index.phpã¯ãèµ·åæã«ããŒããããã³ã³ããã¹ããæ瀺çã«ç€ºããŸãã ãããå®å šã«ä¿®æ£ããç¶æ³ãã³ã³ããã¹ãã®éžæã«çœ®ãæããããšãã§ããŸãã ç§ããã®æ¹æ³ã奜ãŸãªãçç±ïŒãªãªãžãã«ã®modxãã¡ã€ã«ã®ç·šéã ãªããã®äºå®ã奜ãã§ã¯ãªãã®ã§ããïŒ ã¢ããããŒãã®é£ããã ç§ãmodxã奜ããªã®ã¯ïŒãããŠSMFãã©ãŒã©ã ãšã³ãžã³ã奜ãã§ã¯ãªãã®ãšåãããã« ïŒãå ã®MODXãã¡ã€ã«ãå€æŽããå¿ èŠããªãããšã§ããããã«ããããšã³ãžã³ãã§ããã ãç°¡åã«æŽæ°ã§ããŸãã
- OnHandleRequestã€ãã³ãã®ãã©ã°ã€ã³ãäœæããŸãïŒäžè¬çãªæ¬ ç¹ïŒããå°ããªãœãŒã¹ã䜿çšãããŸã-Webã³ã³ããã¹ããåžžã«æåã«ããŒãããããã®åŸã«å¿
èŠãªã³ã³ããã¹ããããŒããããŸãïŒïŒ
- index.phpã®ç·šéã«äŒŒãŠããŸãããç·šéããŸããã ãã¹ãŠãã»ãŒåãã§ã-å³å¯ã«å®çŸ©ãããã³ã³ããã¹ãã®ãªã¹ãã«ãã£ãŠåŠçããããã¡ã€ã³ã®ãªã¹ãã¯ããŒãã³ãŒãã£ã³ã°ãããŠããŸãã ãŸãã¯ãã³ã³ããã¹ãåã«ã¯ãã¡ã€ã³åã®äžéšïŒforum.example.comãµããã¡ã€ã³ã®ãã©ãŒã©ã ã³ã³ããã¹ããªã©ïŒãå«ãŸããããã«åºã¥ããŠå¿ èŠãªã³ã³ããã¹ãã®æ€çŽ¢ãå®è¡ãããŸããåçŽãªãµã€ãã®å Žåã¯é©åã§ãããååãªæè»æ§ã¯ãããŸããã
- ã³ã³ããã¹ãèšå®ãã¹ãã£ã³ããŠãé©åãªèšå®ãèŠã€ããŸãã æ倧éã®æè»æ§ãã³ã³ããã¹ãã®èªåäœæãäœæåŸã«ãã©ã°ã€ã³ãç·šéããå¿ èŠã¯ãããŸããã
ããã§æåŸã®ãªãã·ã§ã³ã®ã¿ã説æããŸãã ç§ã®ãã©ã°ã€ã³ã®ããã¹ãïŒæãåºããŠã OnHandleRequestã€ãã³ãïŒïŒ
ã²ãŒããŠã§ã€ãã©ã°ã€ã³
<?php if($modx->context->key!="mgr") { $object = $modx->getObject('modContextSetting', array('key' => 'multisite_http_host', 'value' => $modx->getOption('http_host'))); if($object) $modx->switchContext($object->get('context_key')); }
䜿çšããã«ã¯ãã³ã³ããã¹ãããããã£ã®ãmultisite_http_hostããã©ã¡ãŒã¿ã«ãåŠçãããã¡ã€ã³ã®å€ãèšå®ããå¿ èŠããããŸãã é©åãªã³ã³ããã¹ããèŠã€ãããªãå Žåããã©ã°ã€ã³ã¯ããã©ã«ãã§Webã³ã³ããã¹ãã䜿çšããŸãã
ããã§ã¯ã2ã€ã®ããšã«çŠç¹ãåœãŠãããšæããŸãã
ãŸããMODXãæ£åžžã«äœ¿çšããã«ã¯ãxPDOã®åçãç解ããå¿ èŠããããŸãã xPDOã¯ãããŒã¿ããŒã¹ãšPHPãªããžã§ã¯ãéã®éä¿¡ã®ããã®ã¡ã«ããºã ã§ãã PHPã§ãªããžã§ã¯ããæäœãããšãããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ã§ããŸãã MODXã®ã»ãŒãã¹ãŠããxPDOã䜿çšããŠããŒã¿ããŒã¹ãšéä¿¡ããŸãã
$object = $modx->getObject('modContextSetting', array('key' => 'multisite_http_host', 'value' => $modx->getOption('http_host')));
ãã®ã³ãŒãã¯ãç¹å®ã®æ¡ä»¶ãå«ãã³ã³ããã¹ãèšå®ãªããžã§ã¯ãïŒã€ãŸããhttpãã¹ãã®å€ãæã€multisite_http_hostæ§æããŒïŒãæ€çŽ¢ããããã«ããŒã¿ããŒã¹ã«ç§»åããŸãã ãã®åŸãåä¿¡ãããªããžã§ã¯ãããããŒãããå¿ èŠãããã³ã³ããã¹ãããŒãååŸããŸãïŒ$ object-> getïŒ "context_key"ïŒïŒã
第äºã«ãhaberuser XanderBassãæ£ãã質åãããŸãããããã§ç§ã¯ãããè€è£œããããšæããŸãã ã§ã¯ããªããhttp_hostãã ãã§ãªããmultisite_http_hostããšãããã©ã¡ãŒã¿åã䜿çšããŠããã®ã§ããããïŒ
ãã¹ãŠãéåžžã«ã·ã³ãã«ã§ãã·ã¹ãã èšå®ãã³ã³ããã¹ãããŠãŒã¶ãŒãçµã¿åãããã¡ã«ããºã ã«åºã¥ããŠããŸãã å®éãã·ã¹ãã èšå®ã¯ã³ã³ããã¹ãèšå®ã«ãã£ãŠäžæžãããããããã¯ãŠãŒã¶ãŒèšå®ã«ãªããŸãã
ãã®å Žåãhttp_hostã¯ã·ã¹ãã èšå®ã§ãã ã³ã³ããã¹ãèšå®ã§multisite_http_hostã®ä»£ããã«http_hostã䜿çšãããšãã³ã³ããã¹ãèšå®ã«ãã£ãŠæ¶å»ãããŸãã ãã¡ããããã®ç¹å®ã®äŸã§ã¯ãããã¯ããã»ã©æããã®ã§ã¯ãããŸããã ãã ãããã®ãã©ã°ã€ã³ãå°ãæžãæããŠãç¹å®ã®ãã¡ã€ã³ã®ãã¹ãŠã®ãµããã¡ã€ã³ã1ã€ã®ã³ã³ããã¹ãã§åŠçããŸãã ãŸãã¯ãããã€ãã®ç°ãªããã¡ã€ã³ã®1ã€ã®ã³ã³ããã¹ãã§åŠçãå®è¡ããŸãïŒããšãã°ãã»ãŒãã®åœ¢åŒã®ãã©ã¡ãŒã¿ãŒã«é§åããïŒsub1.example.com; sub2.example.com; sub3.example.com "ãªã©ïŒããã®å Žåã http_hostã§ã¯ããªã¯ãšã¹ãã«äœ¿çšãããhttp_hostã§ã¯ãªãããã®èšå®ã«ãªããŸãããããªãã¯æ±ºããŠç¥ããªãã§ããããå ã®http_hostãã©ããä»ã«å¿ èŠã«ãªããããããŸãã...
ãã«ãã³ã³ããã¹ãèªèšŒ
æã«ã¯ãè€æ°ã®ã³ã³ããã¹ãã§ãŠãŒã¶ãŒãäžåºŠã«èªèšŒãããããšããããŸãã ããã©ã«ãã§ã¯ãã·ã¹ãã ã«ãã°ã€ã³ããïŒããšãã°ããã°ã€ã³modã䜿çšããŠïŒãŠãŒã¶ãŒã¯ã1ã€ã®ã³ã³ããã¹ãã®ã¿ã§ã·ã¹ãã ã«ãã°ã€ã³ããŸãã 次ã®ãã©ã°ã€ã³ã¯ãæ¿èªäžã«ããã€ãã®ã³ã³ããã¹ãã«èªåçã«ãã°ã€ã³ããŸãïŒ OnWebLoginããã³OnWebLogoutã€ãã³ã ïŒïŒ
ãã«ãèªèšŒ
<?php $currentSiteGroup = $modx->getOption("multisite_site_group"); if(empty($currentSiteGroup)) return; $currentContext = $modx->context->get("key"); $currentContextSettings = $modx->getCollection('modContextSetting', array('key' => "multisite_site_group", "value" => $currentSiteGroup)); foreach($currentContextSettings as $currentContextSetting) { $contextKey = $currentContextSetting->get('context_key'); if($contextKey!="mgr" && $contextKey!=$currentContext) { if($user) { if($modx->event->name=="OnWebLogout") { $modx->user->removeSessionContext($contextKey); } else if($modx->event->name=="OnWebLogin") { $modx->user->addSessionContext($contextKey); $_SESSION['modx.'.$contextKey.'.session.cookie.lifetime']=$attributes["lifetime"]; } } } }
䜿çšããã«ã¯ããã©ã¡ãŒã¿ãmultisite_site_groupããããŠãŒã¶ãŒãåæã«ãã°ã€ã³ãããã¹ãŠã®ã³ã³ããã¹ãã®ãã¹ãŠã®å¿ èŠãªã³ã³ããã¹ãã«åãå€ãèšå®ããå¿ èŠããããŸãã
ã»ãã®å°ãã®ã³ã¡ã³ãïŒ
ããã§ãå¿ èŠãªã³ã³ããã¹ãã®æ€çŽ¢ã¯ã以åã®ãã©ã°ã€ã³ã§å®è£ ããæ¹æ³ãšéåžžã«ãã䌌ãŠããŸããå¯äžã®éãã¯ãgetObjectã®ä»£ããã«getCollectionã䜿çšããããšã§ãã ããããããšã§ãæå®ãããæ¡ä»¶ã«åŸããªããžã§ã¯ãã®é åãååŸããŸãã
$modx->user->addSessionContext($contextKey);
ãããŠ
$modx->user->removeSessionContext($contextKey);
ãã®ã³ã³ããã¹ããŸãã¯ãã®ã³ã³ããã¹ãã§ãŠãŒã¶ãŒã®æ¿èªãå®è¡ããã ãã§ãã
$_SESSION['modx.'.$contextKey.'.session.cookie.lifetime']=$attributes["lifetime"];
çŸåšã®ã³ã³ããã¹ããšåãããã«ãä»ã®ãã¹ãŠã®ã³ã³ããã¹ãã®æ¿èªã®ãåç¶æéããä»å ããŸãã
çŸæç¹ã§ã¯ãç§ãäŒãããã£ããã¹ãŠã®ããšã®ããã«æããŸãã èšèªã®åãæ¿ãã䌎ãéçºã¯ãããããåŸã§å€æŽããŸãã ãæž èŽããããšãããããŸããïŒ