-3

CMS ProcessWire を使用しています。

子供のタイトルと 5 つのリンクを表示する foreach ループが動作しています。リンクは画像として表示されます。これは問題なく動作します。しかし、空のリンクには、リンクがないことを示す白黒の画像が必要です。だから私はif文を作りました。しかし、ループ内に if ステートメントを配置すると、表示される唯一の子は空のリンクを持つ子です。

これを解決する方法を知っている人はいますか?簡単なことだと思いますが、わかりません。

PHP コード:

    $rdio='rdio.png';
    $itunes='itunes.png';
    $xbox='xbox.png';
    $googleplay='googleplay.png';
    $spotify='spotify.png';
    $deezer='deezer.png';

    foreach($page->children as $child)

    if(!$child->Rdio) {
$rdio='rdiog.png';
     }
    else
     {
    $rdio='rdio.png';
     }

       echo "<ul style='background-color:#CCC;'>"."<li><h1>{$child->title}</h1></li>".<li><a class='rdio' href='{$child->Rdio}'><img src='../site/templates/img/$rdio' alt='rdio'/></a></li>"."<li><a class='itunes' href='{$child->iTunes}'><img src='../site/templates/img/$itunes' alt='itunes'/></a></li>"."<li><a class='xbox' href='{$child->Xbox}'><img src='../site/templates/img/$xbox' alt='xbox'/></a></li>"."<li><a class='googleplay' href='{$child->GooglePlay}'><img src='../site/templates/img/$googleplay' alt='googleplay'/></li>"."<li><a class='spotify' href='{$child->Spotify}'><img src='../site/templates/img/$spotify' alt='spotify'/></a></li>"."<li><a class='deezer' href='{$child->Deezer}'><img src='../site/templates/img/$deezer' alt='deezer'/></a></li>"."</ul><br/>";            
4

2 に答える 2

0

emptyメソッドを使用してみてください:

$rdio='rdio.png';
$itunes='itunes.png';
$xbox='xbox.png';
$googleplay='googleplay.png';
$spotify='spotify.png';
$deezer='deezer.png';

foreach($page->children as $child) {

if(empty($child->Rdio)) {
$rdio='rdiog.png';
 }
else
 {
$rdio='rdio.png';
 }

   echo "<ul style='background-color:#CCC;'>"."<li><h1>{$child->title}</h1></li>".<li><a class='rdio' href='{$child->Rdio}'><img src='../site/templates/img/$rdio' alt='rdio'/></a></li>"."<li><a class='itunes' href='{$child->iTunes}'><img src='../site/templates/img/$itunes' alt='itunes'/></a></li>"."<li><a class='xbox' href='{$child->Xbox}'><img src='../site/templates/img/$xbox' alt='xbox'/></a></li>"."<li><a class='googleplay' href='{$child->GooglePlay}'><img src='../site/templates/img/$googleplay' alt='googleplay'/></li>"."<li><a class='spotify' href='{$child->Spotify}'><img src='../site/templates/img/$spotify' alt='spotify'/></a></li>"."<li><a class='deezer' href='{$child->Deezer}'><img src='../site/templates/img/$deezer' alt='deezer'/></a></li>"."</ul><br/>";
于 2013-10-25T09:46:54.910 に答える
0

foreach次の IF ステートメントのみを実行し、ページに単一の要素を出力し続ける括弧がいくつかありません。これを修正するには、次のように foreach ループを括弧で囲みます。

    $rdio='rdio.png';
    $itunes='itunes.png';
    $xbox='xbox.png';
    $googleplay='googleplay.png';
    $spotify='spotify.png';
    $deezer='deezer.png';

    foreach($page->children as $child) {

    if(!$child->Rdio) {
$rdio='rdiog.png';
     }
    else
     {
    $rdio='rdio.png';
     }

       echo "<ul style='background-color:#CCC;'>"."<li><h1>{$child->title}</h1></li>".<li><a class='rdio' href='{$child->Rdio}'><img src='../site/templates/img/$rdio' alt='rdio'/></a></li>"."<li><a class='itunes' href='{$child->iTunes}'><img src='../site/templates/img/$itunes' alt='itunes'/></a></li>"."<li><a class='xbox' href='{$child->Xbox}'><img src='../site/templates/img/$xbox' alt='xbox'/></a></li>"."<li><a class='googleplay' href='{$child->GooglePlay}'><img src='../site/templates/img/$googleplay' alt='googleplay'/></li>"."<li><a class='spotify' href='{$child->Spotify}'><img src='../site/templates/img/$spotify' alt='spotify'/></a></li>"."<li><a class='deezer' href='{$child->Deezer}'><img src='../site/templates/img/$deezer' alt='deezer'/></a></li>"."</ul><br/>";      
于 2013-10-25T09:32:37.423 に答える