Вопрос следующего характера:
Есть в файле node.tpl.php в конце див <div class="mydiv"></div>
, который выводит только рисунок, завершающий ноду. Нужно определить, что эта нода на главной странице материалов последняя, и этот div не выводить.
Также на странице ноды, где она (нода) одна, тоже определять, что это нода последняя из выводимых и не выводить div.
Каким это образом сделать, пока не представляю.
Комментарии
с помощью jquery можно определить последний элемент, и присвоить ему класс. Потом с помощью css
С jquery не знаком, сейчас буду смотреть и разбираться.
также можно использовать псевдокласс :last-child
К сожалению псевдокласс действует только в пределах родительского контейнера (тега). Поэтому в данном случае не подойдет. Так как на странице где выводиться блог лента очень много различных дивов и т.д.
вот этот код рабочий. сделайте примерно так же. Здесь выбирается последняя нода и у нее убирается mydiv
<html>
<head>
<title>Пример страницы на HTML5</title>
<meta charset=utf-8>
<style type="text/css">
div.section .node:last-child .mydiv {
display:none;
}
</style>
</head>
<body class="front">
<div class="section">
<div class="node">
первая нода
<div class="mydiv">test</div>
</div>
<div class="node">
вторая нода
<div class="mydiv">test</div>
</div>
<div class="node">
третья нода
<div class="mydiv">test</div>
</div>
</div>
</body>
</html>
Логично, сам не додумался. Маловато еще опыта в верстке. Только выпала следующая проблема, в Опере и Мозиле обрабатывается псевдоэлемент :last-child нормально, Гугл Хром начинает видеть все элементы как :last-child, а ИЕ 8 не видит элемент :last-child. Вот такая вот фигня твориться.
подключите библиотеку jquery, и этот скрипт
к диву последней ноды будет добавляться класс last-node и потом пишите свойства
<html>
<head>
<title>Пример страницы на HTML5</title>
<meta charset=utf-8>
<style type="text/css">
.last-node .mydiv {
display:none;
}
</style>
</head>
<body class="front">
<div class="section">
<div class="node">
первая нода
<div class="mydiv">test</div>
</div>
<div class="node">
вторая нода
<div class="mydiv">test</div>
</div>
<div class="node">
третья нода
<div class="mydiv">test</div>
</div>
</div>
</body>
</html>
Спасибо, так и сделал. Только насколько вычитал библиотека jQuery в 7 Друпале идет встроенная, и ее включать не надо. И мне как новичку, не имевшим дело с jQuery до этого, пришлось почитать немного, прежде чем сообразить, что полный код будет следующий:
jQuery(document).ready(function() {jQuery("div.content .postspace:last-child").addClass("last-node");});
. но огромное спасибо, что подсказали в какую сторону рыть.в node.tpl.php есть переменная
$id: Position of the node. Increments each time it's output.
На этот метод тоже смотрел, еще до того как подсказали. Но как определить количество выводимых нод, для конкретно этой страницы, тоже не знаю.
объясните подробнее задачу. Для чего подсчитывать количество нод на странице?