在Li标记上为FuelPHP ul方法添加属性

时间:2019-10-10 09:21:24

标签: php html fuelphp

使用FuelPHP,我想知道如何在ul方法ul($list, $style = false)的li标签上添加属性。 https://fuelphp.com/docs/classes/html.html

这是我要实现的目标

<ul id="sortable">
    <li id="red">red</li>
    <li id="blue">blue</li>
</ul>

这是我尝试过的但没有运气

public static function get_ads_order_ul(){
    $items =array(array('id'=>'red','value'=>'red'),array('id'=>'blue','value'=>'blue'));
    $attr = array('id' => 'sortable');
    return Html::ul($items, $attr);
}

1 个答案:

答案 0 :(得分:0)

我最终在/fuel/core/classes/html.php对象中添加了新功能。

$items = array('red'=>array('id'=>'red'),'blue'=>array('id'=>'blue'),'green'=> null);
$attr = array('id' => 'sortable');
# The function 'ul_custom' calls 'build_list_custom' instead of 'build_list'
return Html::ul_custom($items, $attr);
protected static function build_list_custom($type = 'ul', array $list = array(), $attr = false, $indent = '')
    {
        if ( ! is_array($list))
        {
            $result = false;
        }
        $out = '';
        foreach ($list as $key => $li_attr)
        {
                $out .= $indent."\t".html_tag('li', $li_attr, $key).PHP_EOL;
        }
        $result = $indent.html_tag($type, $attr, PHP_EOL.$out.$indent).PHP_EOL;
        return $result;
    }

结果

<ul id="sortable" class="ui-sortable">
    <li id="red">red</li>
    <li id="blue">blue</li>
    <li>green</li>
</ul>