CodeIgniter-Forma correcta de enlazar a otra página en una vista


Me preguntaba si alguien podría decirme la forma correcta de enlazar a otra página desde dentro de una vista.

¿Hay una función para esto o es solo lo habitual acerca de

Salud,

Author: bostaf, 2011-03-05

5 answers

Asumo que quiere decir "internamente" dentro de su aplicación.

Puede crear su propia etiqueta <a> e insertar una url en el href como esta

<a href="<?php echo site_url('controller/function/uri') ?>">Link</a>

O puede usar el ayudante URL de esta manera para generar una etiqueta <a>

anchor(uri segments, text, attributes)

So... para usarlo...

<?php echo anchor('controller/function/uri', 'Link', 'class="link-class"') ?>

Y eso generará

<a href="http://domain.com/index.php/controller/function/uri" class="link-class">Link</a>

Para la pregunta adicional comentada

Usaría mi primer ejemplo

So...

<a href="<?php echo site_url('controller/function') ?>"><img src="<?php echo base_url() ?>img/path/file.jpg" /></a>

Para imágenes (y otros assets) No pondría la ruta del archivo dentro de php, simplemente haría eco de base_url () y luego añadiría la ruta normalmente.

 64
Author: jondavidjohn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-05 17:00:02

La mejor manera es usar el siguiente código:

<a href="<?php echo base_url() ?>directory_name/filename.php">Link</a>
 1
Author: Ashish Bafna,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-19 11:32:24

También puede usar la etiqueta corta PHP para hacerla más corta. este es un ejemplo

<a href="<?= site_url('controller/function'); ?>Contacts</a>

O utilice la función de anclaje incorporada de CI.

 1
Author: winnie damayo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-23 16:46:31
<a href="<?php echo site_url('controller/function'); ?>Compose</a>

<a href="<?php echo site_url('controller/function'); ?>Inbox</a>

<a href="<?php echo site_url('controller/function'); ?>Outbox</a>

<a href="<?php echo site_url('controller/function'); ?>logout</a>

<a href="<?php echo site_url('controller/function'); ?>logout</a>
 0
Author: jareenamol joy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-02 06:22:10

La mejor y más fácil manera es usar la etiqueta de anclaje en CodeIgniter como eg.

<?php 
    $this->load->helper('url'); 
    echo anchor('name_of_controller_file/function_name_if_any', 'Sign Out', array('class' => '', 'id' => '')); 
?>

Refiérase https://www.codeigniter.com/user_guide/helpers/url_helper.html para más detalles

Esto seguramente funcionará.

 0
Author: Amaan Iqbal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-22 23:02:18