Другой стиль у последнего элемента views

Тема в разделе "Drupal", создана пользователем LLlaMaH, 29 дек 2011.

Информация :
Прежде чем создать новую тему внимательно ознакомьтесь с правилами раздела
Модераторы: DMS
  1. LLlaMaH

    LLlaMaH Вот он я

    Регистр.:
    1 апр 2009
    Сообщения:
    250
    Симпатии:
    358
    И еше раз добрый день, уважаемые пассажиры :) (вспомнилась фраза распространителя в электричке :))
    Темизирую вьюху.
    В наличии:
    Код:
    <?php foreach ($fields as $id => $field): ?>
          <li><?php print $field->content; ?></li>
    <?php endforeach; ?>
    
    Подскажите, пожалуйста, как сделать у последнего элемента из этого списка
    Код:
    <li class="last">
    Понимаю, что нужно посчитать, и если порядковый номер = последнему, то вывести этот class... Но как это грамотно выразить на пхп - не знаю
     
  2. Ramazan

    Ramazan пыщ-пыщ

    Регистр.:
    28 янв 2007
    Сообщения:
    471
    Симпатии:
    98
    Проще на jquery:
    PHP:
    $('li:last-child').addClass('last');
     
    LLlaMaH нравится это.
  3. LLlaMaH

    LLlaMaH Вот он я

    Регистр.:
    1 апр 2009
    Сообщения:
    250
    Симпатии:
    358
    Все бы хорошо, а куда это засунуть и во что завернуть? С друпалом начинаю разбираться только :)
    Про jquery вообще молчу :)
     
  4. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    884
    Симпатии:
    540
    PHP:
    <?php $i_count count$fields )-1;
    $i=0;
     foreach (
    $fields as $id => $field): ?>
      <li<?php if($i==$i_count){ echo ' class="last"'?>><?php print $field->content?></li>
    <?php ++$i; endforeach; ?>
     
    LLlaMaH нравится это.
  5. Ramazan

    Ramazan пыщ-пыщ

    Регистр.:
    28 янв 2007
    Сообщения:
    471
    Симпатии:
    98
    Это javascript, и если это проблематично, то вот вам на php:

    PHP:
    <?php $count count($fields); $i 0; foreach ($fields as $id => $field): ?>
          <li<?php if(++ $i === $count): ?> class="last"<?php endif; ?>><?php print $field->content?></li>
    <?php endforeach; ?>
     
  6. LLlaMaH

    LLlaMaH Вот он я

    Регистр.:
    1 апр 2009
    Сообщения:
    250
    Симпатии:
    358
    Ругается, зараза
    Parse error: syntax error, unexpected T_ENDFOREACH
     
  7. Ramazan

    Ramazan пыщ-пыщ

    Регистр.:
    28 янв 2007
    Сообщения:
    471
    Симпатии:
    98
  8. LLlaMaH

    LLlaMaH Вот он я

    Регистр.:
    1 апр 2009
    Сообщения:
    250
    Симпатии:
    358
    Ругается в версии KillDead - upd - Там не было закрывающей скобки if - поправил... тоже все ласт стали (.
    Ramazana - не ругается, но ласт присваивается всем...
     
  9. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    884
    Симпатии:
    540
    ага, скобку забыл. Странно. посмотри что вообще в переменных

    PHP:
    <?php $i_count count$fields )-1;
    $i=0;
    <?
    php var_dump(  $fields  ); ?>
    foreach ($fields as $id => $field): ?>
    <?php var_dump$i==$i_count ,  $i$i_count ); ?>
    <li<?php if($i==$i_count){ echo ' class="last"'?>><?php print $field->content?></li>
    <?php ++$i; endforeach; ?>
     
  10. Ramazan

    Ramazan пыщ-пыщ

    Регистр.:
    28 янв 2007
    Сообщения:
    471
    Симпатии:
    98
    $fields - объект?