К сожалению больше не где и не у кого спрашивать, поэтому всегда спрашиваю тут в надежде, что кто-нибудь подскажет
Имеем таксономию и вывод тизеров, необходимо первый тизер выводить в другом стиле (css) + выводить картинку другого размера (обычная генерируется через imagecache)
Посоветуйте, каким образом прикрепить идентификатор к первому div (как в views у первого есть first) и как можно выводить другой пресет у первого элемента в таксономии?
Комментарии
где-то то я видел мануал да найти снова не могу... но надеюсь откопаю таки
Интересно эта задача решается темизацией шаблона ноды по типу if $teaser ? если да то как указать первый тизер...
А если в таком выводе нажать у ноды на термин, то вывод будет посредством views или стандартным вариантом?
ХулиGUN спасибо за наводку, об этом способе помнил не пробовал только views_attach
Вывод как раз нужен везде одинаковый, чтобы все термины отображались одинаково (1 тизер имеет свой стиль) но такое отображение необходимо только для одного типа контента
при создании views и клике на любой термин отображение происходит уже не через views
С терминами разобрался благодаря заметке http://xandeadx.ru/blog/drupal/444 модуль [module=TVI]
а вот с views_attach не выходит. при активации модуля в views можно добавить новый вид один из которых node content, полагаю он и требуется. Переопределяю кол-во элементов для показа - ставлю 1, а на странице скажем 7 и первый элемент пропустить
что-то я делаю не так так как node content ни как не проявляется, показываются 7 элементов в одном стиле, хотя вроде как должно 8 ...
прилепился аттач непосредственно к самой ноде, что совершенно не нужно (
Огромное спасибо, теперь работает как надо, но не понятно за чем нужен views_attach отключил его и без него работает
Можно стандартную таксономию пронумеровать с помощью jQuery. Или если одну ноду закреплять вверху списка то она получит класс sicky.
Рано обрадовался. Работает правильно только на основной странице, если перейти на любой термин, то первый нестандартный тизер уже не показывается, а если перейти по пагинации, то тизер, как приклеенный, что совсем плохо
в node.tpl.php при условии, что материалы выводятся не полями
<?php if $teaser...
if $id == 1...
?>
Чатланин, пожалуйста, можно ли поподробнее
чо как все сложно?
Не проще сделать свой вид(вьюс) и переопределить шаблоны вывода (добавить класс к первому элементу или обернуть его) ? Если не вкурсе, в настройках страничного вида пункт Тема: Информация - там список наименований шаблонов разной детализации.
или вообще... Псевдокласс CSS :first-child http://htmlbook.ru/css/first-child ?
если бы не термины, то да views
переопределить нужно не только стили, но и использовать другой пресет к тизеру поэтому желательно сконфигурировать это все в рамках node.tpl.php
вариант Чатланина близок к цели, написал бы он только поподробнее
че подробнее?
$id в node.tpl.php определяет порядковый номер ноды на странице
<?php if ($id == 1):?>
<div class="первая нода на странице">
....
<?php
//вывод картинки с другим пресетом
print theme('imagecache', 'preset_namespace', $image_filepath, $alt, $title, $attributes);
?>
</div>
<?php else:?>
<div class="все остальные">
....
</div>
<?php endif?>
как-то так
Огромное спасибо Чатланин! все работает замечательно кроме 1 вещи
первый тизер на внутренних страницах в пагинации (/?page=2) так же выделяется, возможно ли указать, чтобы первый тизер считался не на странице, а в термине?
$_GET['q'] в помощь
и $_GET['page'] в помощь -))
Я это и имел ввиду )
Чатланин браво! пользователи благодарны