Добавить атрибуты в теги li для метода FuelPHP ul - PullRequest
0 голосов
/ 10 октября 2019

Используя FuelPHP, мне было интересно, как добавить атрибуты в теги li для метода ul ul($list, $style = false). 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 голосов
/ 11 октября 2019

Я закончил тем, что добавил новую функцию в /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;
    }

result

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

...