Перейти к публикации

Шаблон вывода новостей по 2 штуки


Рекомендованные сообщения

Доброе утро, подскажите пожалуйста, возможна ли реализация вывода новостей по 2 в один блок, а именно:

 

<li>Новость 1, Новость 2<li>
<li>Новость 3, Новость 4<li>
<li>Новость Х, Новость Х+1</li>

Так как шаблон вывода короткой новости обрабатывает новость каждую, а тут просят по 2 вывести и не статика нужна.

 

Конечно мало вероятно - но а вдруг есть вариант с помощью движка реализовать вывод. Спасибо. 8stones.com.ua

Ссылка на сообщение
Поделиться на других сайтах

зачем для этого теги <li>? используйте например дивы со свойством CSS float:left

Ссылка на сообщение
Поделиться на других сайтах

да все из за шаблона который хотят поставить, там слайдер и в каждом слайде по 2 новости... Вот как бы пока ищу пути решения

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, v_glove сказал:

да все из за шаблона который хотят поставить, там слайдер и в каждом слайде по 2 новости... Вот как бы пока ищу пути решения

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

Ссылка на сообщение
Поделиться на других сайтах

https://www.template-preview.com/bootstrap-templates/laterna/light/portfolio.html

 

Демка на шаблон html, с лева есть кнопки управления внешнего вида - в 1 ряд или в 2 ряда - интересует в 2 ряда

Ссылка на сообщение
Поделиться на других сайтах
11 часов назад, v_glove сказал:

https://www.template-preview.com/bootstrap-templates/laterna/light/portfolio.html

 

Демка на шаблон html, с лева есть кнопки управления внешнего вида - в 1 ряд или в 2 ряда - интересует в 2 ряда

Есть 3 варианта:

1. Переделывать слайдер.

2. Использовать энное количество custom.

3. Написание модуля.

Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, germanydletest сказал:

Есть 3 варианта:

1. Переделывать слайдер.

2. Использовать энное количество custom.

3. Написание модуля.

Второй вариант побеждает как по мне) спасибо я вчера его и использовал...

8 часов назад, alex32 сказал:

Есть еще jQuery

можно рабочий пример?

 

		$(document).ready(function() {
		var numitems =  $(".slidee .small").length;

		$(".slidee").css("column-count",Math.round(numitems/2));
	
		});

 

Этот вариант как бы не совсем подходит из за вариантов переключения

Ссылка на сообщение
Поделиться на других сайтах

Просто в зависимости от клика на переключатель оборачиваешь в <li> то одну новость, то  две. Потом инициализируешь плагин.

Ссылка на сообщение
Поделиться на других сайтах

Спасибо за советы - буду пробовать... Кстати посоветуйте фильтр для новостей по доп полям (цвет, тип и прочее)

Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, v_glove сказал:

Кстати посоветуйте фильтр для новостей по доп полям

Нету нормального фильтра. Ждём пока разработчики реализуют эту опцию в составе DLE.

Ссылка на сообщение
Поделиться на других сайтах
В 18.04.2018 в 10:41, alex32 сказал:

Просто в зависимости от клика на переключатель оборачиваешь в <li> то одну новость, то  две. Потом инициализируешь плагин.

Из за специфики фильтрации и выдачи, приходится возвратится к данному решению, но тут нужна помощь, так как нету опыта((((

 

Что смог сделать:

<script>
	$('#frame').wrapInner('<ul class="slidee clearfix"></ul>');  // обернул всю выдачу (новость выводится в блоке <a>)

	 var $c = $('.slidee'); 
      while($c.children('a:not(.wrap)').length)
       $c.children('a:not(.wrap):lt(2)').wrapAll('<li class="small" data-category="all landscape">'); // раскидал новости по 2 штуки в строки
</script>

Теперь самое сложное, как заставить текущую схему

<ul>
  <li>
    <a>Новость 1</a>
    <a>Новость 2</a>
  </li>
  <li>
    <a>Новость 3</a>
    <a>Новость 4</a>
  </li>
  <li>
    <a>Новость x</a>
    <a>Новость x+1</a>
  </li>
</ul>

По нажатию переписываться так и обратно:

<ul>
  <li>
    <a>Новость 1</a>
  </li>
  <li>
    <a>Новость 2</a>
  </li>
  <li>
    <a>Новость 3</a>
  </li>
  <li>
    <a>Новость 4</a>
  </li>
  <li>
    <a>Новость x</a>
  </li>
</ul>

Подскажите пожалуйста) +1 в репку

Ссылка на сообщение
Поделиться на других сайтах

+1 мне я так и сделал

    $('#frame').wrapInner('<ul id="ul"></ul>'); //обернули

    var small = $('#ul'); // загрузил 2 в 1
    while (small.children('a:not(.wrap)').length)
      small.children('a:not(.wrap):lt(2)').wrapAll('<li class="small" data-category="all landscape">');

    $('.small a').unwrap(); // при нажатии убрал родителя и залил заново
    var big = $('#ul');
    while (big.children('a:not(.wrap)').length)
      big.children('a:not(.wrap):lt(1)').wrapAll('<li class="big" >');

    $('.big a').unwrap(); // убрал родителя и снова 2 в 1
    var small = $('#ul');
    while (small.children('a:not(.wrap)').length)
      small.children('a:not(.wrap):lt(2)').wrapAll('<li class="small">');

Вопрос вот в чем - это нормально? не слишком "костЫльно"? Может подскажите как оптимизировать данные строки вставки?

Ссылка на сообщение
Поделиться на других сайтах

Нормально, только три раза объявлять ни к чему, одгного достаточно 

var small = $('#ul');

var big = $('#ul');

var small = $('#ul');
  

 

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...