Codeigniter - add "Etkin"

4 Cevap php

Ne bir bağlantıya, "aktif" sınıfı eklemek için hızlı ve en kolay yolu, bu yüzden tarz olabilir? Ben CI bir uygulama geliştiriyorum ve ben otomatik olarak yapmak için hızlı ve kolay bir yol istiyorum.

jQuery de bir seçenek ...

4 Cevap

Sen gerçekten yerine $ _SERVER bunu CodeIgniter URI Sınıfı'nı kullanarak ['REQUEST_URI'] olmalıdır

$ This-> uri-> uri_string ()


if ( $ This-> uri-> uri_string () == '/contact' )

^ ^ O nedeniyle CodeIgniter'ın yönlendirme özellikleri ile olabilir bazı karmaşıklıklar şeyler yapmak için tercih edilen yoldur

Eğer bağlantı HTML çıktısı nasıl kullandığınıza bağlıdır.

Eğer URL Helper modülü kullanarak yapıyorsanız, o zaman size bağlantıları oluşturmak için anchor() işlevini çağırın ve üçüncü parametre olarak, yani o niteliklerin bir dizi iletebilirsiniz:

$this->load->helper('url');
echo anchor('url/path', 'Click here', array('class' => 'active'));

Eğer sadece şablonları / görünümlerinde elle HTML çıktısı iseniz, tabii ki sadece HTML kendinizi öznitelik sınıfı oluşturabilirsiniz.

Eğer navigasyon öğeleri bir sürü varsa bunu (çok basitleştirilmiş) bu şekilde yapabilirsiniz ...

<ul>
<li<?= if ( $_SERVER['REQUEST_URI'] == '/contact' ): ?> id="active"<?php endif; ?>><a href="">contact</a></li>
</ul>

Sizin ihtiyaçlarınız için düzenlemeniz gerekecek ...

Birçok nav ürün daha kolay bir yolu, her sayfa bir vücut id vermek ve daha sonra aktif hale getirmek için css kullanmak olduğunu yoksa.

<style type="text/css">
body#contact #contact-nav { font-weight:bold; }
</style>

<body id="contact">

<ul id="navigation">
    <li id="contact-nav"><a href="">contact</a></li>
</ul>

Sen, aşağıdaki ile yardımcısı oluşturarak bu şekilde yapabilirsiniz

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
if ( ! function_exists('active_link'))
{
    function active_link($controller)
    {
        $CI =& get_instance();

        $class = $CI->router->fetch_class();
        return ($class == $controller) ? 'active' : '';
    }
}

ardından menü görünümünde uygulamak

<li class="<?php echo active_link('services'); ?>"><a href="<?php echo base_url();?>services">Services</a></li>