bender

Как сделать вывод новостей блога списком

Recommended Posts

Как сделать вывод новостей блога списком по умолчанию, а товары сеткой? Пробовал менять в common.js - комментил строки вывода, но тогда меняется отображение не только новостей, но и товаров. Opencart 2.1.0.2, шаблон Universal.

Поделиться сообщением


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

common.js работает с классом product-layout product-list product-grid

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

Вариант №2 (гипотетический)

Надо смотреть, вдруг получится

<div class="product-layout product-list col-xs-12">

в шаблоне блога поменять этот класс на blog-layout и т.д.

и попробовать сделать аналогичный блок в common.js, только надо будет убрать работу с localStorage

Тогда, возможно, получится сохранить переключение вида: сетка-список

 

 

Поделиться сообщением


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

Вариант №1-сработает наверняка, просто убрать классы в разметке категорий блога, оставить только класс разметки бутстрап, убрать кнопки переключения и останется только список.

А можно подробней? Я просто не очень разбираюсь. Как убрать кнопки я знаю, а вот про разметку нужна помощь

Поделиться сообщением


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

Тогда, крепко подумайте, так ли вам это надо.

Если надо, то поехали...

Первым делом делаете бэкап базы данных и файлов сайта.

Смотрим файлы

catalog\view\theme\universal\template\blog\category.tpl

Выделенный код отвечает за вывод кнопок

Скрытый текст

     <?php if ($articles) { ?>
      <div class="row">
        <div class="col-sm-3">
          <div class="btn-group">
            <button type="button" id="list-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $button_list; ?>"><i class="fa fa-th-list"></i></button>
            <button type="button" id="grid-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $button_grid; ?>"><i class="fa fa-th"></i></button>
          </div>
        </div>

Если его убрать,то и кнопок не будет

catalog\view\theme\universal\template\blog\latest.tpl

Скрытый текст

     <div class="row">
        <div class="col-sm-3">
          <div class="btn-group">
            <button type="button" id="list-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $text_list; ?>"><i class="fa fa-th-list"></i></button>
            <button type="button" id="grid-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $text_grid; ?>"><i class="fa fa-th"></i></button>
          </div>
        </div>

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

 

Скрытый текст

58f9d7341cb6c_.thumb.jpg.da15651c3b23185a19fb8551605b32c2.jpg

 

Поделиться сообщением


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

Тогда, крепко подумайте, так ли вам это надо.

Если надо, то поехали...

Первым делом делаете бэкап базы данных и файлов сайта.

Смотрим файлы

catalog\view\theme\universal\template\blog\category.tpl

Выделенный код отвечает за вывод кнопок

  Показать содержимое

     <?php if ($articles) { ?>
      <div class="row">
        <div class="col-sm-3">
          <div class="btn-group">
            <button type="button" id="list-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $button_list; ?>"><i class="fa fa-th-list"></i></button>
            <button type="button" id="grid-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $button_grid; ?>"><i class="fa fa-th"></i></button>
          </div>
        </div>

Если его убрать,то и кнопок не будет

catalog\view\theme\universal\template\blog\latest.tpl

  Скрыть содержимое

     <div class="row">
        <div class="col-sm-3">
          <div class="btn-group">
            <button type="button" id="list-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $text_list; ?>"><i class="fa fa-th-list"></i></button>
            <button type="button" id="grid-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $text_grid; ?>"><i class="fa fa-th"></i></button>
          </div>
        </div>

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

 

  Показать содержимое

58f9d7341cb6c_.thumb.jpg.da15651c3b23185a19fb8551605b32c2.jpg

 

Настройки передаются из common.js с помощью id="content", то есть можно для блога создать копию кода в common.js а на странице блога задать другой id, например, "content2".

Поделиться сообщением


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

Тогда, крепко подумайте, так ли вам это надо.

Если надо, то поехали...

Первым делом делаете бэкап базы данных и файлов сайта.

Смотрим файлы

catalog\view\theme\universal\template\blog\category.tpl

Выделенный код отвечает за вывод кнопок

  Скрыть содержимое

     <?php if ($articles) { ?>
      <div class="row">
        <div class="col-sm-3">
          <div class="btn-group">
            <button type="button" id="list-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $button_list; ?>"><i class="fa fa-th-list"></i></button>
            <button type="button" id="grid-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $button_grid; ?>"><i class="fa fa-th"></i></button>
          </div>
        </div>

Если его убрать,то и кнопок не будет

catalog\view\theme\universal\template\blog\latest.tpl

  Скрыть содержимое

     <div class="row">
        <div class="col-sm-3">
          <div class="btn-group">
            <button type="button" id="list-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $text_list; ?>"><i class="fa fa-th-list"></i></button>
            <button type="button" id="grid-view" class="btn btn-default" data-toggle="tooltip" title="<?php echo $text_grid; ?>"><i class="fa fa-th"></i></button>
          </div>
        </div>

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

 

  Показать содержимое

58f9d7341cb6c_.thumb.jpg.da15651c3b23185a19fb8551605b32c2.jpg

 

Круть! Спасибо тебе огромное, все получилось!

Поделиться сообщением


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

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

Скрытый текст

из этого:


	// Product Grid
	$('#grid-view').click(function() {
		// What a shame bootstrap does not take into account dynamically loaded columns
		cols = $('#column-right, #column-left').length;

		if (cols == 2) {
			$('#content .product-list').attr('class', 'product-layout product-grid col-lg-6 col-md-6 col-sm-12 col-xs-12');
		} else if (cols == 1) {
			$('#content .product-list').attr('class', 'product-layout product-grid col-lg-4 col-md-4 col-sm-6 col-xs-12');
		} else {
			$('#content .product-list').attr('class', 'product-layout product-grid col-lg-3 col-md-3 col-sm-6 col-xs-12');
		}

		 localStorage.setItem('display', 'grid');
	});

	if (localStorage.getItem('display') == 'list') {
		$('#list-view').trigger('click');
	} else {
		$('#grid-view').trigger('click');
	}

Сделать это (ниже вставить):
 


// Product Grid
	$('#grid-view').click(function() {
		// What a shame bootstrap does not take into account dynamically loaded columns
		cols = $('#column-right, #column-left').length;

		if (cols == 2) {
			$('#content2 .product-list').attr('class', 'product-layout product-grid col-lg-4 col-md-6 col-sm-12 col-xs-12');
		} else if (cols == 1) {
			$('#content2 .product-list').attr('class', 'product-layout product-grid col-lg-3 col-md-4 col-sm-6 col-xs-12');
		} else {
			$('#content2 .product-list').attr('class', 'product-layout product-grid col-lg-2 col-md-3 col-sm-6 col-xs-12');
		}

		 localStorage.setItem('display', 'grid');
	});

	if (localStorage.getItem('display') == 'grid') {
		$('#grid-view').trigger('click');
	} else {
		$('#list-view').trigger('click');
    }

в файле шаблона блога вставить content2 вместо content. И кнопки по желанию менять местами, либо удалить.

 

Поделиться сообщением


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

Я не пробовал, но предполагаю пару проблем:

Если к #content и дочерним есть стили прописанные, надо еще и таблицу стилей правки вносить для #content2

Я бы ID не менял, а класс добавил

и в localStorage у посетителя находится ( как правило) значение

('display') == 'grid')

, потому произойдет переключение вида.на сетку.

Поэтому надо последний блок вообще убирать. Или вводить еще display-blog и ее хранить тоже

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу