Работа с кириллицей

Материал из Umicms
Перейти к:навигация, поиск

При передачи в usel параметра на кириллице, не происходит отработка протокола usel. Чтобы решить данную проблему, необходимо к передаваемому параметру применить php функцию urlencode. Необходимо в файл classes/modules/custom.php, после слов //TODO: , добавить метод:

public function urlenc($name){
  $param = getRequest($name);
  if($param){
    return urlencode($param);
   }
  }

Метод getRequest принимает название get параметра из адресной строки и возвращает само значение, пропущенное через функцию urlencode. В самом коде необходимо использовать примерно следующий вызов:

<xsl:variable name="name_enc" select="document(concat('udata://custom/urlenc/', 'name'))/udata" />
<xsl:apply-templates select="document(concat('usel://useltempl/', '?name=', $name_enc))"/>

'name' - название параметра в адресной строке, get параметр.