<?php $properties = $modx->resource->getOne('Template')->getProperties(); if(!empty($properties['tpl'])){ $tpl = $properties['tpl']; } elseif($_REQUEST['serial'] == 'cm' or $_REQUEST['serial'] == 'CM') $tpl = 'index2.tpl'; else{ $tpl = 'index.tpl'; } if ($modx->resource->cacheable != '1') { $modx->smarty->caching = false; } if(!empty($properties['phptemplates.non-cached'])){ $modx->smarty->compile_check = false; $modx->smarty->force_compile = true; } return $modx->smarty->fetch("tpl/{$tpl}");
Вроде так работает, но мне прям не нравится, что пришлось использовать оператор «или\or» для того, что бы учесть регистр букв. Несколько часов гуглил, как не учитывать регистр — ничего путевого.
Пробовал разные вариации: elseif($_REQUEST['serial'] == 'cm, CM') — не работает elseif($_REQUEST['serial'] == 'cm', 'CM') — не работает elseif($_REQUEST['serial'] == 'cm' or 'CM') — не работает elseif($_REQUEST['serial'] == 'cm' and 'CM') — не работает
Хоть сейчас все и работает, как надо, но все же, как проще всего не учитывать регистр? Чтоб знать на будущее.