如何根据Code igniter中的用户类型自定义导航

时间:2016-01-29 12:07:53

标签: php html codeigniter

我正在使用4种类型的用户构建Web应用程序,从顶级(Admin)到较低级别(最终用户),将删除特定选项卡的访问权限。

我考虑过使用html帮助器的想法,但在这种情况下,我无法将类和属性分配给我的li元素。

$this->load->helper('html');

$list = array(
            'level 1', 
            'level 2', 
            'level 3',
            'level 4'
            );

$attributes = array(
                    'class' => 'boldlist',
                    'id'    => 'mylist'
                    );

echo ul($list, $attributes);

请告诉我,如何向列表项添加属性。

上面提到的代码会产生这个。

<ul class="boldlist" id="mylist">
  <li>level 1</li>
  <li>level 2</li>
  <li>level 3</li>
  <li>level 4</li>
</ul>

2 个答案:

答案 0 :(得分:0)

你可以手动完成:

$ul[0]['list'] = array(
    'level 1' => array('class' => 'test'), 
    'level 2',
    'level 3',
    'level 4'
);

$ul[0]['attributes'] = array(
    'class' => 'boldlist',
    'id'    => 'mylist'
);

foreach ($ul as $_ul) {
    echo '<ul';
    // add attributes
    foreach ($_ul['attributes'] as $_ulak => $_ulav) {
        echo ' '.$_ulak.'="'.$_ulav.'"';
    }
    echo '>';

    // add list items
    foreach ($_ul['list'] as $_ullk => $_ullv) {
        if (is_array($_ullv)) {
            echo '<li';
            // add list attributes
            foreach ($_ullv as $_ullvk => $_ullvv) {
                echo ' ' . $_ullvk . '="' . $_ullvv . '"';
            }
            echo '>';
            echo $_ullk;
        } else {
            echo '<li>' . $_ullk;
        }
        echo '</li>';
    }
    echo '</ul>';
}

答案 1 :(得分:0)

您不能使用CodeIgniter提供的HtmlHelper类来执行此操作:

因此,您应手动创建代码或破解帮助程序以获得此功能,当然您可以在其github帐户上创建请求(或请求):

https://github.com/bcit-ci/CodeIgniter