Мне было интересно, может ли кто-нибудь сказать мне правильный способ ссылки на другую страницу из представления.
Есть ли функция для этого или это просто обычное дело?
Ваше здоровье,
Мне было интересно, может ли кто-нибудь сказать мне правильный способ ссылки на другую страницу из представления.
Есть ли функция для этого или это просто обычное дело?
Ваше здоровье,
Я предполагаю, что вы имеете в виду "внутри" вашего приложения.
вы можете создать свой собственный тег <a>
и вставить URL-адрес в href следующим образом
<a href="<?php echo site_url('controller/function/uri') ?>">Link</a>
ИЛИ вы можете использовать помощник URL таким образом, чтобы создать тег <a>
anchor(uri segments, text, attributes)
Итак... использовать его...
<?php echo anchor('controller/function/uri', 'Link', 'class="link-class"') ?>
и это будет генерировать
<a href="http://domain.com/index.php/controller/function/uri" class="link-class">Link</a>
Для дополнительного вопроса с комментариями
Я бы использовал свой первый пример
so...
<a href="<?php echo site_url('controller/function') ?>"><img src="<?php echo base_url() ?>img/path/file.jpg" /></a>
для изображений (и других ресурсов) я бы не стал указывать путь к файлу в php, я бы просто повторил base_url(), а затем добавил путь в обычном режиме.
controller/function
, а как controller/functionChange
? Тогда в этом случае я должен изменить каждый вызов controller/function
на controller/functionChange
вручную. есть ли другой способ добиться этого, поскольку cakephp похож на массив ('controller'=›'controller',method=›'function').
- person RN Kushwaha; 10.08.2015
controller/function
строг в CI? Разве я не могу сделать controller_to_view/function_to_view/subfolder/actual_view_file
? Потому что последний возвращает мне 404 :-(
- person ; 04.09.2016
Лучше всего использовать следующий код:
<a href="<?php echo base_url() ?>directory_name/filename.php">Link</a>
вы также можете использовать короткий тег PHP, чтобы сделать его короче. вот пример
<a href="<?= site_url('controller/function'); ?>Contacts</a>
или используйте встроенную функцию привязки CI.
Лучший и самый простой способ — использовать тег привязки в CodeIgniter, например, например.
<?php
$this->load->helper('url');
echo anchor('name_of_controller_file/function_name_if_any', 'Sign Out', array('class' => '', 'id' => ''));
?>
См. https://www.codeigniter.com/user_guide/helpers/url_helper.html а> подробности
Это обязательно сработает.
вы также можете использовать этот код
//test" class="btn btn-primary pull-right">
<a href="/controller/method">text</a>
(примечание/перед контроллером). В коде PHP это без/
. Я использую мод перезаписи, и все ссылки относятся к RewriteBase. - person CappY   schedule 05.03.2011