COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

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


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 и ее хранить тоже

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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