Если вы хотите использовать хеш-теги без передачи метода site_url () методу привязки, вы можете легко расширить класс библиотеки CodeIgniter Config.
В классе библиотеки CodeIgniter Config есть метод site_urlкоторый запускается при использовании метода привязки.site_url по умолчанию добавляет url_suffix после любого uri, который вы передаете ему, без какой-либо заботы или знания хеш-тегов.К счастью, вы можете просто расширить класс библиотеки Config, чтобы изменить site_url для проверки хеш-тегов и добавить их в конец URI после добавления url_suffix.
Если вы чувствуете себя таким вынужденным, скопируйтекод ниже и сохраните его в «/system/application/libraries/MY_Config.php».Возможно, вам придется открыть «/system/application/config/autoload.php» и добавить «My_Config.php» в массив библиотеки автозагрузки.
<?php
class MY_Config extends CI_Config {
function site_url($uri = '')
{
if (is_array($uri))
{
$uri = implode('/', $uri);
}
if ($uri == '')
{
return $this->slash_item('base_url').$this->item('index_page');
}
else
{
$suffix = ($this->item('url_suffix') == FALSE) ? '' : $this->item('url_suffix');
$hash = '';
if(substr_count($uri,'#') == 1)
{
list($uri,$hash) = explode('#',$uri);
$hash = '#'.$hash;
}
return $this->slash_item('base_url').$this->slash_item('index_page').trim($uri, '/').$suffix.$hash;
}
}
}
?>
Новый метод site_url устанавливает $ hash в пустойстрока.Если в переданной вами ссылке находится хеш-тег, ссылка разбивается на массив и передается в переменные.site_url теперь возвращает ссылку с добавленным в конце хеш-тегом (если присутствует хеш-код) после url_suffix.