Hi all,
Today is my first topic. I use Grocery since few months in web agency. i really appreciate this CRUD that's why i'll try to help the community.
Here is a modification that improve the set_active_nav function.
Just see that exemple to understand my search.
Before :
<li<?= set_active_nav(array('home/credit','home/credit/add')) ?>>
<?= anchor('home/credit', '<i class="icon-list-alt"></i> Credit') ?>
</li>
And i wasn't able to active my link on an edit because the url was dynamic "edit/2".
Now :
<li<?= set_active_nav('home/credit') ?>>
<?= anchor('home/credit', '<i class="icon-list-alt"></i> Credit') ?>
</li>
This is not a big evolution ^^ but that could be usefull.
To dot that we have to modify that file : navigation_helper.php on : application/helpers folder.
You will open this file :
<?php
/**
* Codeigniter Bootstrap
* -------------------------------------------------------------------
* Developed and maintained by Stijn Geselle <stijn.geselle@gmail.com>
* -------------------------------------------------------------------
*/
if (!defined('BASEPATH'))
exit('No direct script access allowed');
if (!function_exists('set_active_nav')) {
function set_active_nav($uri)
{
return is_current_uri($uri) ? ' class="active"' : '';
}
}
if (!function_exists('is_current_uri')) {
function is_current_uri($uri)
{
$CI =& get_instance();
$curr_uri = $CI->uri->uri_string();
return is_array($uri) && in_array($curr_uri, $uri) || $curr_uri == $uri;
}
}
/* End of file navigation_helper.php */
/* Location: ./application/helpers/navigation_helper.php */
my modification consist to use regEx to find our current path (main path).
Modified file :
<?php
/**
* Codeigniter Bootstrap
* -------------------------------------------------------------------
* Developed and maintained by Stijn Geselle <stijn.geselle@gmail.com>
* -------------------------------------------------------------------
*/
if (!defined('BASEPATH'))
exit('No direct script access allowed');
if (!function_exists('set_active_nav')) {
function set_active_nav($uri)
{
return is_current_uri($uri) ? ' class="active"' : '';
}
}
if (!function_exists('is_current_uri')) {
function is_current_uri($uri)
{
$CI =& get_instance();
$curr_uri = $CI->uri->uri_string();
return is_array($uri) && in_array($curr_uri, $uri) ||
$curr_uri == $uri || preg_match('#^'.$uri.'\/\w+#', $curr_uri) && substr_count($uri,'/') > 0;
}
}
/* End of file navigation_helper.php */
/* Location: ./application/helpers/navigation_helper.php */
Hope i help someone with my 'TIP' :).
Ps : Sorry for my english, i'm not very good. French touch :P
