cotonti.com : Надо выпилить из cot_url языковую переменную https://www.cotonti.com Laatste forum onderwerpen Cotonti en Sun, 12 Oct 2025 13:13:53 -0000 Kopusha Вот, огромное спасибо!!!!! 

]]>
Wo, 02 Dec 2020 08:28:01 -0000
Roffun Для примера, если не вникать для чего это нужно, а просто ответить на вопрос как из строки выводимой с помощью cot_url($area, $item), которая выводит значение /en/page/alias.html программно удалить /en или любой другой из языков которые могут быть подключены. Предположим что нужно убирать префикс у en, fr, ru. Например preg_filter:

если $my_url = cot_url($area, $item); // /en/page/alias.html
то
$my_new_url = preg_filter('#/(en|ru|fr)(.+)#i', '$2', $my_url);   //  /page/alias.html

Также есть еще дополнительные параметры у самой функции cot_url:

function cot_url($name, $params = '', $tail = '', $htmlspecialchars_bypass = false, $ignore_appendix = false)

Последний параметр $ignore_appendix, если его переключить в true, отключает автоматические префиксы в url если были объявлены для $cot_url_appendix.

/**
 * Parameters to be automatically appended to all URLs if present
 */
$cot_url_appendix = array();

Например:
cot_url($area, $item, '', false, true);

Насчет cot_url_modify, это функция модификации существующих url. Если переменная пустая, она не выводится. Но если заглянуть в саму функцию, то видно что она по умолчанию формирует url из переданных параметров + GET в строке, и остальная часть берется автоматически. Таким образом можно убрать любую переменную из url передав ее с пустым значением. Например чтобы убрать алиас:

cot_url_modify(array('al'=> ''));

Таким же образом можно убрать из url переменную которая выводит языковую версию.

]]>
Wo, 02 Dec 2020 00:55:53 -0000
Kopusha Ну тогда к примеру - у меня есть
$area - это всегда модуль + категория + подтягивает язык из за cot_url

$item - это алиас или айди

cot_url($area, $item); дает мне /en/page/alias.html

Через что мне лучше получить /page/alias.html ? Как cot_url_modify() сюда присобачить?

А не через  cot_url я получаю array естественно.
Заранее спасибо!

]]>
Di, 01 Dec 2020 17:47:20 -0000
Roffun #45252 Kopusha:

Есть cot_url($area, $item);
Возвращает /en/folio/alias/
Мне нужно получить функцией это же но без /en/ru/ua - только /folio/alias/
Не разобрался как, в functions php в cot_url есть и $ignore_appendix и есть cot_parse_url отдельная функция - но не смог понять как правильно.

 

Added 1 hour later:

Пока сделал через опу, может есть какой то нормальный способ 

Начиная с Cotonti 0.9.15 появилась функция  cot_url_modify(), это если системный модификатор использовать, также можно стандартные функции PHP применять типа str_replace или Функции PCRE.

]]>
Di, 01 Dec 2020 17:32:18 -0000
jCube Group cot_url()
но всроенный с функцией убрать то что не нужно нету, но можно написать. 
а еще кстати можно php если язык  это всегда 2 символа то можно substr(cot_url(), 2) ( или 3 если нужно убрать и / )

]]>
Di, 01 Dec 2020 15:28:14 -0000
Kopusha Надеялся кто то подскажет встроенный в движок механизм получить урл по нужным параметрам.

]]>
Di, 01 Dec 2020 15:00:13 -0000
jCube Group ну и ладно.

]]>
Di, 01 Dec 2020 14:04:10 -0000
Kopusha Мне надо именно из переменной выпилить, не из урла браузера

]]>
Di, 01 Dec 2020 12:41:03 -0000
jCube Group а в админке в настройках не пробовали искать?  я там кажись что-то видел.

Я не пользу. мульти язычность,  но думаю должно быть в настройках.

]]>
Di, 01 Dec 2020 07:04:48 -0000
Kopusha Есть cot_url($area, $item);
Возвращает /en/folio/alias/
Мне нужно получить функцией это же но без /en/ru/ua - только /folio/alias/
Не разобрался как, в functions php в cot_url есть и $ignore_appendix и есть cot_parse_url отдельная функция - но не смог понять как правильно.

 

Added 1 hour later:

Пока сделал через опу, может есть какой то нормальный способ

					$path = $url;
					$path = explode('/', $path);
					unset($path[0]);
					$path = implode('/', $path);

 

]]>
Ma, 30 Nov 2020 19:44:05 -0000