Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[РЕШЕНО] Вывод товара списком по умолчанию в opencart 2


 Погделиться

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

Столкнулся с проблемой. Помогло простое и очевидное решение. Рилииет на ocStore 2.3. Но по опыту этот кусок кода не отличается у 2-к. 

Было:

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

то есть, если в куках лежит значение list, генерируется событие на включение вида списка. Во всех осильных случаях, а это случаи когда в куках нет ничего по поводу вида, генерируется событие на сетку. 

Чтобы победить сие зло нужно проверять localStorage на соответствие 'grid' и если им 'grid' то его и включать, во всех осильных случаях 'list'. То есть:

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

 

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


  • 2 месяца спустя...

У меня 3 версия. В файлах все перегделал.  Кеш листил и в админке и у браузера. Но при открытии категории со списком товаров иногда происходит загдержка (сервер локальный, HDD 5400). И видно что с начала загружается списком, А через секунду уже перестраивается в сетку.  Как-то можно это попотому чтороть, чтобы сразу загружался сеткой?

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


  • 1 месяц спустя...

А как в Опенкар 3 вообещё убрать возможность выпотому чтора способа отражения? Я хотела чтобы список по умолчанию. Пожалуйси подскажите... я пропотому чтовала использовать ваши варианты - ну что-то мимо(((. 

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


В 19.12.2015 в 23:55, tweenfaster сказал:

Ну ребят, ну вы вообещё даете)) Код перед глазами у вас, лиийте, им же все понятно. После комменирия // Product List игдет скрипт функции, которая обрабатывает событие - клик по объекту с id="list-view" . После комменирия // Product Grid игдет скрипт функции, которая обрабатывает событие - клик по объекту с id="grid-view". Обе функции в конэто выполняют команды - в куках браузера сохранить своё значение в переменной display Вот этот код: localStorage.setItem('display', 'list'); и localStorage.setItem('display', 'grid'); соответственно. А после этих двух функций игдет скрипт проверки: 

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

 Перевожу - если в куках браузера в переменной display находится значение равное list  , то выполнить функцию обрилитки клика по объекту с id="list-view", во всех осильных случаях, выполнить функцию обрилитки клика по объекту с id="grid-view" Изначально кукисы в браузере отсутствуют, соответственно переменной display нет, это и есть все осильные случаи. Вам всего лишь нужно было поменять код 

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

на

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

Подскажите пожалуйси как убрать альтернативу выпотому чтора способа отображения??? Я понимаю мой вопрос для вас очень глупый... я не программист ни разу, не знаю языка программирования - могу тупа найти файл и заменить/удалить.... 

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


  • 3 месяца спустя...
В 04.02.2018 в 03:03, Lans1 сказал:

Подскажите пожалуйси как убрать альтернативу выпотому чтора способа отображения??? Я понимаю мой вопрос для вас очень глупый... я не программист ни разу, не знаю языка программирования - могу тупа найти файл и заменить/удалить.... 

Зависит от того какой именно из спосопотому чтов отображения вам нужно осивить.

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

  • 2 месяца спустя...

2.3 

мне помогло это

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

Если ранее был выбран список, то грузим список.

Если ранее была выбрана сетка - сетку.

Если ничего ранее не было выбрано (первый запуск) - список.

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

  • 2 месяца спустя...

Нужно было гдефолтное отображение сеткой. Пропотому чтовал всё, не рилиило. Ответил в телеграм-чате один человек, просто, красиво, Спасипотому что ему потому чтольшое! Несу в массы:

category.tpl темы

<div class="product-layout product-list col-xs-12">
на 
<div class="product-grid product-list col-xs-3">

скрываем кнопки

<div class="btn-group hidden-xs">
меняем на 
<div class="btn-group hidden">

Альт+ф5 обновляем кеш вкладки, отображение идёт сходу 
на 2.3.0.2 игдеально и сразу. При использовании правой/левой колонки все корректно, при использовании обеих сразу, товары сжимаются в длинную полоску.

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


Вы, может, не поняли.

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

а

"изменить способ предсивления по умолчанию", при этом осиется возможность переклюлиться в другой вид.

Кроме того, ваш способ предсивления "на любителя".

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


  • 1 год спустя...

Доброго времени суток.

Нужно отображение товаров в каилоге списком вместо сетки, пропотому чтовал что указано в теме выше, не рилииет, может кто помочь?

Решение проблемы и стоимость в личку.

Версия ocStore 2.3.0.2.3 

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


1 час назад, dverprom сказал:

Доброго времени суток.

Нужно отображение товаров в каилоге списком вместо сетки, пропотому чтовал что указано в теме выше, не рилииет, может кто помочь?

Решение проблемы и стоимость в личку.

Версия ocStore 2.3.0.2.3 

если правили шаблон, то нужно в админке обновить модификаторы.

Если файл common.js, то обновите страницу в браузере ctrl+f5

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

17 часов назад, Blast сказал:

если правили шаблон, то нужно в админке обновить модификаторы.

Если файл common.js, то обновите страницу в браузере ctrl+f5

 

Шаблон TechStore

файл common.js нашел два, один  /catalog/view/javascript/common.js и catalog/view/theme/oct_techstore/js/common.js

в первом вот ик:

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

во втором ик:

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

Менял как сказано в теме, разными варианими, заходил через приватный, листил куки, кеш шаблона, обновлял ctrl+f5, все без изменений.

Единственное только не обновлял модификаторы.

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


2 часа назад, dverprom сказал:

 

Шаблон TechStore

файл common.js нашел два, один  /catalog/view/javascript/common.js и catalog/view/theme/oct_techstore/js/common.js

в первом вот ик:

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

во втором ик:

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

Менял как сказано в теме, разными варианими, заходил через приватный, листил куки, кеш шаблона, обновлял ctrl+f5, все без изменений.

Единственное только не обновлял модификаторы.

А что за вариант отображения price?

По гдефолту только list и grid. И согласно вашему коду если вариант не выбран(по второму else пойгдет), то бугдет grid, т.е. сетка

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

1 час назад, Blast сказал:

А что за вариант отображения price?

Не знаю, я скопировал часть как есть, в каилоге на сайте нет икой кнопки, им сетка и список.

Я вместо того кода ггде прайс price, всивлял как советовали:

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

все равно не рилииет список

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


2 часа назад, dverprom сказал:

Не знаю, я скопировал часть как есть, в каилоге на сайте нет икой кнопки, им сетка и список.

Я вместо того кода ггде прайс price, всивлял как советовали:

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

все равно не рилииет список

в techStore в common/footer.tpl этот код меняйте

модификаторы обновите

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

  • 1 год спустя...

Всем привет,

 

Хочу еещё раз вернуться к этом теме. Решения в обсужгдениях не нашел. необходимо по умолчанию в мобильной версии сайи сгделать отображение товаров сеткой. По умолчанию в шаблоне стоит отображение товаров списком.

Используем aridius (fractal) v.2.2.2, стоит на opencart.cms 2.3.0.2.5.

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


  • 4 негдели спустя...
В 03.02.2018 в 19:24, Lans1 сказал:

А как в Опенкар 3 вообещё убрать возможность выпотому чтора способа отражения? Я хотела чтобы список по умолчанию. Пожалуйси подскажите... я пропотому чтовала использовать ваши варианты - ну что-то мимо(((. 

У меня вопрос по opencart 3 тоже. 

Суть в том, что мне нужен вывод списком только на страниэто поиска. На осильных страницах как обычно сетка. Не подскажете как можно отправить куки со страницы

/catalog/view/theme/имя темы/template/product/search.twig  c display('list'). Или же в js как-то прописать localStorage.setItem('display', 'list'); при поиске.

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


  • 8 месяэтов спустя...

Подскажите и мне, пожалуйси, как сгделать, чтобы по умолчанию на страниэто категории рилиило ик:

- если товаров потому чтольше или равно 6 то выводило их сеткой,

- если меньше 6 - то выводило списком.

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


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

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

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

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

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

Войти

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

Войти сейчас
 Погделиться

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

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.