0

ダイアログに 2 つのリストがあります。1 つはバブル カウント リストで、もう 1 つはサム リストです。バブル カウント リストは問題ないように見えますが、サム リストは別のリスト アイテムとして表示されます。

ここに画像の説明を入力

私はこの方法で html 出力を書くことに慣れていません。単純なものが欠けているのかもしれません。バブル カウント リストのコードは「//ムービー フォルダを子に割り当てる」の下にあり、サム リストのコードは「//画像カウントを表示し、URL パスをエンコードする」の下にあります。

private function _makeoutput($folder_index) {

$html = '';

    $query = 'dir§'.$this->session->userdata('uid').'§'.$folder_index;

    //api query, create listview for images
    if($xml = $this->api->query($query)){
    $xml = simplexml_load_string($xml);
    $html .= '<ul data-role="listview" data-inset="true" text-align:center;>';

    //assign movie folders to child
    foreach($xml->COM->MOVIE_FOLDER as $child){
       $html .= '<li>';
       //count number of images in each root folder
       $bubble_count = $child->MOVIE->count();
       $html .= '<a href="'.$child->attributes()->indexI.'" data-rel="dialog" data-transition="slide">'.$child->attributes()->nameS.'<span class="ui-li-count">'.$bubble_count.'</span></a>';
       $html .= ' </li>';
    }
    $html .= '</ul>';

    //display image count, encode url/path
    for($i = 0, $c = $xml->COM->MOVIE->count(); $i < $c; $i++ ){
        $html .= '<ul data-role="listview" class="ui-listview" data-inset="true">';
        $html .= '<li>';
        $html .= '<a>
        <img src="https://[url]'.rawurlencode($this->_decode_path($xml->COM->MOVIE[$i]->attributes()->dbIcoFilename)).'" id="imgThumb" alt="'.$xml->COM->MOVIE[$i]->attributes()->nameS.'" />
        <h1>'.$xml->COM->MOVIE[$i]->attributes()->nameS.'</h1>
        </a>';
        $html .= ' </li>';
        $html .= '</ul>';
    }
    }
    else{
    $data['output'] = $this->_makeoutput($folder_index);
    }
return $html;
}
4

2 に答える 2

2

最初に..なぜ「プライベート」なのですか?

当面の問題は、 for ループの外側に ul タグが必要であり、それ以外の場合は新しいリストを生成することです (それがあなたが見ているものです):

$html .= '<ul data-role="listview" class="ui-listview" data-inset="true">';
for($i = 0, $c = $xml->COM->MOVIE->count(); $i < $c; $i++ ){

    $html .= '<li>';
    $html .= '<a>
    <img src="https://[url]'.rawurlencode($this->_decode_path($xml->COM->MOVIE[$i]->attributes()->dbIcoFilename)).'" id="imgThumb" alt="'.$xml->COM->MOVIE[$i]->attributes()->nameS.'" />
    <h1>'.$xml->COM->MOVIE[$i]->attributes()->nameS.'</h1>
    </a>';
    $html .= ' </li>';

}
$html .= '</ul>';
于 2012-04-05T09:06:26.833 に答える
2

問題は、画像ごとに新しい ul を作成していることです。このループでは:

     //display image count, encode url/path
for($i = 0, $c = $xml->COM->MOVIE->count(); $i < $c; $i++ ){
    $html .= '<ul data-role="listview" class="ui-listview" data-inset="true">';
    $html .= '<li>';
    $html .= '<a>
    <img  src="https://[url]'.rawurlencode($this->_decode_path($xml->COM->MOVIE[$i]->attributes()->dbIcoFilename)).'" id="imgThumb" alt="'.$xml->COM->MOVIE[$i]->attributes()->nameS.'" />
    <h1>'.$xml->COM->MOVIE[$i]->attributes()->nameS.'</h1>
    </a>';
    $html .= ' </li>';
    $html .= '</ul>';
}

ループの外側に ul を作成し、各 li が同じ順不同リスト内に配置されるようにします。

于 2012-04-05T09:07:26.450 に答える