Перейти к содержанию
recommend

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

Рекомендуемые сообщения

Подскажите пожалуйста.

не нашел опции Формат вывода товара

ну типа табличкой или колонками

ее там нет или плохо искал?

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


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

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

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

если хотите иметь возможность выбирать вариант отображения - сверстайте дополнительный шаблон (скопируйте существующий и измените так, как вам надо) и впарьте дополнительный параметр (например 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
исправлена ссылка

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


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

.

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

шаг #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
поправил разметку текста

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


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

безгранично благодарен )

вот как я пристроил это:

post-976-1293741792,3299_thumb.png

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


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

безгранично благодарен )

вот как я пристроил это:

не знаю актуально ли...

И что - все справа у вас пустое белое поле?

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


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

нет - там сейчас описание товара краткое, и пустого практически нет.

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


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

безгранично благодарен )

вот как я пристроил это:

а можно поподробнее описать что надо менять в tpl для такого варианта?

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


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

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

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

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

;)

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


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

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

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


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

Решил свою проблему регулировкой размера в css

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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