[Решено] Ребят спасите | оформление первого тизера в таксономии

Главные вкладки

Аватар пользователя NightL NightL 24 сентября 2011 в 21:41

К сожалению больше не где и не у кого спрашивать, поэтому всегда спрашиваю тут в надежде, что кто-нибудь подскажет

Имеем таксономию и вывод тизеров, необходимо первый тизер выводить в другом стиле (css) + выводить картинку другого размера (обычная генерируется через imagecache)

Посоветуйте, каким образом прикрепить идентификатор к первому div (как в views у первого есть first) и как можно выводить другой пресет у первого элемента в таксономии?

Комментарии

Аватар пользователя NightL NightL 24 сентября 2011 в 22:24

Интересно эта задача решается темизацией шаблона ноды по типу if $teaser ? если да то как указать первый тизер...

Аватар пользователя NightL NightL 24 сентября 2011 в 23:59

А если в таком выводе нажать у ноды на термин, то вывод будет посредством views или стандартным вариантом?

Аватар пользователя NightL NightL 25 сентября 2011 в 1:14

ХулиGUN спасибо за наводку, об этом способе помнил не пробовал только views_attach

Вывод как раз нужен везде одинаковый, чтобы все термины отображались одинаково (1 тизер имеет свой стиль) но такое отображение необходимо только для одного типа контента

при создании views и клике на любой термин отображение происходит уже не через views

Аватар пользователя NightL NightL 25 сентября 2011 в 14:19

С терминами разобрался благодаря заметке http://xandeadx.ru/blog/drupal/444 модуль [module=TVI]

а вот с views_attach не выходит. при активации модуля в views можно добавить новый вид один из которых node content, полагаю он и требуется. Переопределяю кол-во элементов для показа - ставлю 1, а на странице скажем 7 и первый элемент пропустить

что-то я делаю не так так как node content ни как не проявляется, показываются 7 элементов в одном стиле, хотя вроде как должно 8 ...

Аватар пользователя NightL NightL 25 сентября 2011 в 15:50

Огромное спасибо, теперь работает как надо, но не понятно за чем нужен views_attach отключил его и без него работает Smile

Аватар пользователя Ch Ch 25 сентября 2011 в 16:16

Можно стандартную таксономию пронумеровать с помощью jQuery. Или если одну ноду закреплять вверху списка то она получит класс sicky.

Аватар пользователя NightL NightL 25 сентября 2011 в 16:38

Рано обрадовался. Работает правильно только на основной странице, если перейти на любой термин, то первый нестандартный тизер уже не показывается, а если перейти по пагинации, то тизер, как приклеенный, что совсем плохо Sad

Аватар пользователя Orion76 Orion76 29 сентября 2011 в 13:21

чо как все сложно?
Не проще сделать свой вид(вьюс) и переопределить шаблоны вывода (добавить класс к первому элементу или обернуть его) ? Если не вкурсе, в настройках страничного вида пункт Тема: Информация - там список наименований шаблонов разной детализации.

или вообще... Псевдокласс CSS :first-child http://htmlbook.ru/css/first-child ?

Аватар пользователя NightL NightL 29 сентября 2011 в 13:44

если бы не термины, то да views
переопределить нужно не только стили, но и использовать другой пресет к тизеру поэтому желательно сконфигурировать это все в рамках node.tpl.php

вариант Чатланина близок к цели, написал бы он только поподробнее

Аватар пользователя Чатланин Чатланин 29 сентября 2011 в 14:36

че подробнее?
$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?>

как-то так

Аватар пользователя NightL NightL 29 сентября 2011 в 17:16

Огромное спасибо Чатланин! все работает замечательно кроме 1 вещи

первый тизер на внутренних страницах в пагинации (/?page=2) так же выделяется, возможно ли указать, чтобы первый тизер считался не на странице, а в термине?