У меня $url .= 'index.php?route=' . $route; отличается наличием $code
и если вставить ваш код после этой строки (в строку 24), то "Fatal error: Call to undefined method Url::rewrite() in Z:\home\mydomain.ru\www\system\library\url.php on line 46"
Привожу содержимое файла до вмешательства:
<?php
class Url {
private $url;
private $ssl;
private $rewrite = array();
public function __construct($url, $ssl = '') {
$this->url = $url;
$this->ssl = $ssl;
}
public function addRewrite($rewrite) {
$this->rewrite[] = $rewrite;
}
public function link($route, $args = '', $connection = 'NONSSL', $code = '') {
if ($connection == 'NONSSL') {
$url = $this->url;
} else {
$url = $this->ssl;
}
$url .= $code . 'index.php?route=' . $route;
if ($args) {
$url .= str_replace('&', '&', '&' . ltrim($args, '&'));
}
foreach ($this->rewrite as $rewrite) {
$url = $rewrite->rewrite($url, $code);
}
return $url;
}
}
?>
Буду благодарен, если ответите кодом целиком. Я обещаю разобраться и понять, как только поднаберусь опыта :)