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

Товар выводится одной строкой


antik21

Recommended Posts

Добрый день.
Версия ocStore 2.1.0.2.1. Проблема заключается в том что товар в категориях выводится одной строкой http://prostoburger.ru/index.php?route=product/category&path=59 , а нужно что бы выводился по 4 товара в строке (в 4 колонки).
 

На форуме почитал что можно тут посмотреть,пробовал менять,ничего,все так же.

catalog/view/javascript/common.js 
 

// 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');
        }

Еще видел этот совет,но такой код я не нашел у себя:

if (cols1 == 2) {
        $('#content .product-layout:nth-child(2n+2)').after('<div class="clearfix visible-md visible-sm"></div>');
    } else if (cols1 == 1) {
        $('#content .product-layout:nth-child(3n+3)').after('<div class="clearfix visible-lg"></div>');
    } else {
        $('#content .product-layout:nth-child(4n+4)').after('<div class="clearfix"></div>');
    }

Видел этот способ,но у меня нет такого файла...
 

то идете сюда catalog/view/theme/default/template/module/product_tab.tpl

в других модулях или к примеру на странице категории по аналогии

находите отето

<div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">

делаете как то так

<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12">

 

Вообщем я не знаю что еще попробовать,помогите плз!

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

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

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

	// Product List
	$('#list-view').click(function() {
		$('#content .product-grid > .clearfix').remove();

		$('#content .row > .product-grid').attr('class', 'product-layout product-list col-xs-12');
		$('#grid-view').removeClass('active');
		$('#list-view').addClass('active');

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

	// Product Grid
	$('#grid-view').click(function() {
		// What a shame bootstrap does not take into account dynamically loaded columns
		var 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');
		}

		$('#list-view').removeClass('active');
		$('#grid-view').addClass('active');

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

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


Либо в стилях после foreach
<div class="product-layout product-grid col-lg-3" >

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

Я чайник в этих делах...Как я понял нужно вставить 

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

после последней строки в // Product Grid ?

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

Или пометь ее? Поясните пожалуйста для "чайников" вместо или после чего..Заранее очень признателен.
Могу прикрепить файл.

common.rar

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

У вас разметка через flexbox

Там это не сработает. Нужен иной подход.

Типа:

html body main .products {

    display: flex;

    margin-top: 40px;

    flex-wrap: wrap;

}

Читать популярно тут 

раздел

1.5. Многострочность элементов flex-wrap

P.S.

Стили у вас написаны в таблице стилей немного странновато.

Достаточно было просто  .products, зачем это там:  html body main ?

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

Всем спасибо,решил проблему так:

в стили добавил

html body main .products .product {
margin-top: 10px;
}
html body main .products {
flex-wrap: wrap;
}

Еще раз спасибо.

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

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 пользователей

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