Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Формат вывода товара


recommend

Recommended Posts

такой "опции" нет.

если нужен один вариант отображение - переверстайте шаблон.

если хотите иметь возможность выбирать вариант отображения - сверстайте дополнительный шаблон (скопируйте существующий и измените так, как вам надо) и впарьте дополнительный параметр (например viewType), который и будет передаваться в скрипт.

например так:

/index.php?route=product/category&path=25_28&viewType=table
/index.php?route=product/category&path=25_28&viewType=columns
а в скрипте в зависимости от пришедшего параметра подгружайте табличный или колоночный шаблон
Надіслати
Поділитися на інших сайтах

если нужен один вариант отображение - переверстайте шаблон.

А нет бесплатных шаблонов где это уже сделано или топика где разжевывается как это сделать самому ? :geek:

Надіслати
Поділитися на інших сайтах


"Как сделать список в каталоге такого вида?" --> https://opencartforum.com/topic/1064-как-сделать-список-в-каталоге-такого-вида

возможно этого хватит.

если нет - пишите. помогу если не сильно занят буду.

ну или кто-то другой может подскажет, что куда лепить :geek:

= = =

а вобще мне мысль про переменную viewType понравилась :D .

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

Змінено користувачем afwollis
исправлена ссылка
Надіслати
Поділитися на інших сайтах

  • 3 weeks later...

.

Делаем возможность выбора из двух вариантов отображения товара: табличный или колоночный

шаг #1: Делаем шаблоны

копируем

табличный шаблон

catalog/view/theme/default/template/product/category.tpl

в

колоночный шаблон

catalog/view/theme/default/template/product/category2.tpl

чтобы убедиться во время теста/проверки, что все будет нормально работать, меняем в category2.tpl

вывод категорий

<?php for ($i = 0; $i < sizeof($categories); $i = $i + 4) { ?>
      <tr>
        <?php for ($j = $i; $j < ($i + 4); $j++) { ?>
на

<?php for ($i = 0; $i < sizeof($categories); $i = $i + 2) { ?>
      <tr>
        <?php for ($j = $i; $j < ($i + 2); $j++) { ?>
вывод товаров

<?php for ($i = 0; $i < sizeof($products); $i = $i + 4) { ?>
      <tr>
        <?php for ($j = $i; $j < ($i + 4); $j++) { ?>
на

<?php for ($i = 0; $i < sizeof($products); $i = $i + 2) { ?>
      <tr>
        <?php for ($j = $i; $j < ($i + 2); $j++) { ?>
т.е. вместо вывода по 4 элемента в строке делаем вывод по 2 элемента.

шаг #2: Добавляем в шаблоны возможность выбора варианта отображения товара

в любое понравившееся вам место в обоих шаблонах вставляем что-то вроде:

<!-- viewType addon - start -->
    <div>
    <a href="<?php echo $viewType_default_href; ?>&viewType=tbl" target="_self" title="tbl_View">viewType[tbl]</a>
    

    
<a href="<?php echo $viewType_default_href; ?>&viewType=col" target="_self" title="col_View">viewType[col]</a>
    </div>
    

    <!-- viewType addon - end -->
главное - воткнуть две ссылки:

// ссылка для применения табличного шаблона
<a href="<?php echo $viewType_default_href; ?>&viewType=tbl" target="_self" title="">text / image</a>

// ссылка для применения колоночного шаблона
<a href="<?php echo $viewType_default_href; ?>&viewType=col" target="_self" title="">text / image[col]</a>
как вы их оформите, и куда вставите - дело ваше.

я добавил предыдущий код после

  <div class="middle">
    <table style="padding-bottom:10px;">
	  <tr>
	    <?php if ($thumb) { ?>
	        <td><img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?>" /></td>
	    <?php } ?>
	    <?php if ($description) { ?>
	        <td><?php echo $description; ?></td>
	    <?php } ?>
	  </tr>
    </table>

шаг #3: Правим файл catalog/controller/product/category.php

а) перед

$this->load->model('catalog/category');
		$this->load->model('tool/seo_url');
вставляем

//=======
		$viewType_tmpl["tbl"] = "category.tpl"; //это название табличного шаблона
		$viewType_tmpl["col"] = "category2.tpl"; //это название колоночного шаблона
		
		$viewType = "";
		if (isset($this->session->data['viewType'])) {
			$viewType = $this->session->data['viewType'];
		}
		if (isset($this->request->get['viewType'])) {
			$viewType = $this->request->get['viewType'];
		}
		
			if ($viewType == "col") {
				$viewType_tmpl["current"] = $viewType_tmpl["col"];
				// пишем в сессию пользователя информацию о выбранном варианте отображения
				// спасибо __alexjk__ за напоминание о том, что эту инфу можно и нужно где-то хранить ;)
				$this->session->data['viewType'] = "col";
			} else {
				$viewType_tmpl["current"] = $viewType_tmpl["tbl"];
				// пишем в сессию пользователя информацию о выбранном варианте отображения
				// спасибо __alexjk__ за напоминание о том, что эту инфу можно и нужно где-то хранить :(
				$this->session->data['viewType'] = "tbl";
			}
		//=======

б) после

$this->data['sorts'][] = array(
					'text'  => $this->language->get('text_model_desc'),
					'value' => 'p.model-DESC',
					'href'  => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $this->request->get['path'] . '&sort=p.model&order=DESC')
				);
но до

$url = '';
вставляем

// ======
				$this->data['viewType_default_href'] = $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $this->request->get['path'] . $url);
				// ======

в) меняем все вхождения

'/template/product/category.tpl'
на

'/template/product/'.$viewType_tmpl["current"]

= = = = = = = =

пользуемся, пишем замечания, дополнения

Змінено користувачем afwollis
поправил разметку текста
Надіслати
Поділитися на інших сайтах

  • 3 months later...
  • 2 weeks later...

...справа у вас пустое белое поле...

Да, таблицей смотрится тоже не плохо. Однако, в это самое "пустое белое поле" не хватает добавить краткого описания товара.

С возможностью выбора - сколько знаков выводить... Вот тогда, было бы айс.

;)
Надіслати
Поділитися на інших сайтах

  • 5 months later...

Задавал вопрос в другой теме, но никто не ответил. Суть следующая, пользуй 1.4.9.6 версию, есть такой баг, что если у товара длинное название то его место на главной начинает увеличиться по вертикали, как сделать, чтобы несмотря на количество символов пиктограмма товара с описанием всегда была одинаковой?

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.