Вывод новостей в две колонки на ДЛЕ

V
На сайте с 27.04.2010
Offline
39
1418

Всем привет,

Подскажите как сделать на Dle вывод новостей в две колонки

просто width:49% не подойдет так как у постов картинки разной высоты, нужно обволакивающий див

<div class="обволакивающий див">

<div class="left"></div>

<div class="right"></div>

</div>

на wordpress сделал таким нехитрым способом

			<?php /* Start the Loop */ ?>

<?php $newslist = True; ?>
<?php $newscount = 0; ?>
<?php while ( have_posts() ) : the_post(); ?>



<?php if ( is_sticky() && is_home() && ! is_paged() ) : ?>
<div class="featured-post">
<?php _e( 'Featured post', 'twentytwelve' ); ?>
</div>
<?php endif; ?>



<?php if ( is_single() ) : ?>
<div class="text">
<div class="contentpaneopen">
<div style="width:49%;float:left;">
<div style="text-align: center;"><?php the_post_thumbnail(); ?></div>
<div style="text-align: center; width:90%;"><?php the_content(); ?></div>
</div>
</div>
<span class="article_separator">&nbsp;</span>
</div>

<?php else : ?>

<?php if ($newslist) : ?>

<?php $newslist = False; ?>
<?php $newscount++ ?>
<div class = "testclasstesting">
<div class = "columnleft">
<div class="text">
<div class="contentpaneopen">
<div>
<div style="text-align: center; width:90%;"><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
<?php the_content(); ?>
</div>
</div>
</div>
<span class="article_separator">&nbsp;</span>
</div>
</div>

<?php
if($wp_query->post_count == 3 || $wp_query->post_count == '5' || $wp_query->post_count == '7' || $wp_query->post_count == '9')
{
if($wp_query->post_count == $newscount){
$str = "</div>";
echo $str;

}
}
?>

<?php else : ?>

<?php $newslist = True; ?>
<?php $newscount++ ?>
<div class = "columnright">
<div class="text">
<div class="contentpaneopen">
<div>
<div style="text-align: center; width:90%;"><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
<?php the_content(); ?>
</div>
</div>
</div>
<span class="article_separator">&nbsp;</span>
</div>
</div>
</div>
<?php endif; ?>
V
На сайте с 27.04.2010
Offline
39
#1

думаю нужно как в примере на вордпресе когда формируется колонка с постами, ставить счетчик и дописывать дивы

(if news =1)// номер новости
{
<div id="обволакивающий див"> <div id="left"> ==text post====</div>
}
(if news =2 )
{
<div id="right"> ==text post====</div>
}
(if news =3 )
{
</div>//закрываем обволакивающий див
<div id="обволакивающий див"> <div id="left"> ==text post====</div> //начинаем все сначала
}

но как это сделать на дле не знаю, ПОМОГИТЕ

[Удален]
#2

Создайте обволакивающий див (не забудьте у него в css - overflow: hidden; поставить), который будет обволакивать весь контент на главной, а всю shortstory заключите в див, у которого будет свойство float: left; - все новости будут не в столбик, а будет по левую часть, и след. новость будет справа от неё, то есть - вывод "тюбами". Теперь, в зависимости от ширины новости и ширины обволакивающего дива и будет решаться, сколько новостей влезет в один ряд - 2 , 4 или 8....

Например: если обволакивающий див шириной 640px, а новостной див 300px, у нас как раз влезет в ряд 2 новости, остальные пойдут ниже следующим рядом также по две. Вот и получится в итоге - 2 колонки.

дани мапов
На сайте с 06.09.2012
Offline
204
#3

Если картинки разной высоты и соответственно блоки новостей отличаются высотой - то красиво сделать не получится. Либо меняйте высоту всех картинок под один и ставьте ширину блока 50%.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий