2014-10-13 3 views
0

아래의 조건에 따라 CSS 클래스를 적용하고 싶습니다만,이 코드를 적용한 후에는 각 콘텐츠가 8 번 반복됩니다. 그리고 div 앞에 나오기 전에 루프를 완료하면 CSS 클래스가 적용되지 않습니다. .아래의 조건에 따라 CSS 클래스를 적용하고 싶습니다.

$Spacategories[$i] 

이에

$spacategory 

<?php $size=count($Spacategories);   
    for($i=0;$i<8;$i++){ 
    if($i==0 || $i==5){ ?> 
    <li class="valign"> 
    <?php } elseif($i==1 || $i==7) { ?> 
    <li class="lalign"> 
    <?php } elseif($i==2 || $i==6) { ?> 
    <li class="talign"> 
    <?php } else { ?> 
    <li class="ralign"> 
    <?php } ?> 

     <div class="image"> 
      <img src="<?php echo $spacategory['thumb']; ?>" title="<?php echo $spacategory['name']; ?>" alt="<?php echo $spacategory['name']; ?>" /> 

     </div> 
     <div class="text"> 
      <h3><?php echo $spacategory['name']; ?></h3> 
      <p><?php echo substr($spacategory['description'],0,150); ?></p> 
      <a href="<?php echo $spacategory['href']; ?>" class="learmmore"><?php echo $text_view_more; ?></a> 
     </div> 
     </li> 
     <?php } } ?> 
+0

코드가이 unsing 포맷하십시오 http://php.net/manual/en/control-structures.alternative -syntax.php –

답변

0

변경에게 모든 인스턴스는 해결됩니다.

또한 $ text_view_more를 채우는 것이 표시되지 않습니다. 아마도 $ Spacategories의 데이터 포인트로 변경해야할까요?

마지막으로, 당신이 범주의 수에 따라 반복, 그래서 당신의 코드에서

for($i=0;$i<8;$i++){ 

for($i=0;$i<$size;$i++){ 
0

을 변경해야 할 것 같다, $spacategory가와 $spacategories에서 항목 아니다 각 반복마다 인덱스 $i. 당신은 for 시작해야합니다

$spacategory = $spacategories[$i]; 

또는 사용하십시오 foreach 대신 :

<?php 
$classesIndexMap = array(
    0 => 'valign', 
    1 => 'lalign', 
    2 => 'talign', 
    5 => 'valign', 
    6 => 'talign', 
    7 => 'lalign', 
); 
$html_view_more = htmlspecialchars($text_view_more, ENT_NOQUOTES, 'UTF-8'); 
?>  
<?php foreach($spacategories as $i => $spacategory) : ?> 
<li class="<?= isset($spacategory[$i]) ? $spacategory[$i] : 'ralign' ?>"> 
    <div class="image"> 
     <img src="<?= htmlspecialchars($spacategory['thumb'], ENT_QUOTES, 'UTF-8') ?>" 
      title="<?= htmlspecialchars($spacategory['name'], ENT_QUOTES, 'UTF-8') ?>" 
      alt="<?= htmlspecialchars($spacategory['name'], ENT_QUOTES, 'UTF-8') ?>" /> 

    </div> 
    <div class="text"> 
     <h3><?= htmlspecialchars($spacategory['name'], ENT_NOQUOTES, 'UTF-8') ?></h3> 
     <p><?= substr($spacategory['description'],0,150); ?></p> 
     <a href="<?= htmlspecialchars($spacategory['href'], ENT_QUOTES, 'UTF-8'); ?>" 
      class="learmmore"><?= $html_view_more ?></a> 
    </div> 
</li> 
<?php endforeach; ?> 
관련 문제