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

Как сделать список в каталоге такого вида?


alexander.p

Recommended Posts

Здравствуйте, подскажите, пожалуйста, мне надо перенести кол-во и кнопку добавить в корзину отсюда http://demo.opencart.com/index.php?route=product/product&path=18&product_id=46, сюда http://demo.opencart.com/index.php?route=product/category&path=18. То есть в итоге я хочу получить, список такого вида, как во вложении?

post-864-1293741791,9004_thumb.jpg

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


Чтобы получить список такого вида, при выводе категории

post-864-1293741791,9586_thumb.png

Находим, в файле category.tpl строку,

<table class="listp"><?php for ($i = 0; $i < sizeof($products); $i = $i + 4) { ?>
это начинается вывод товаров, заменяем все это дело на

<table class="listp">		<tr>			<td class="listp1">Наименование </td>			<td class="listp2">Артикул</td>			<td class="listp3">Цена</td>			<td class="listp4">Кол-во</td>			<td> </td>		</tr>		<?php for ($i = 0; $i < sizeof($products); $i = $i + 4) { ?>			<?php for ($j = $i; $j < ($i + 4); $j++) { ?>				<tr>					<?php if (isset($products[$j])) { ?>					<td>						<a href="<?php echo $products[$j]['href']; ?>"><!--<img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" />--></a>						<a href="<?php echo $products[$j]['href']; ?>"><?php echo $products[$j]['name']; ?></a>					</td>					<td>						<?php echo $products[$j]['model']; ?>					</td>					<td class="listp3">						<?php if ($display_price) { ?>							[color= #900; font-weight: bold;]<?php echo $products[$j]['price']; ?>[/color]					</td>					<td class="listp4">							<input name="quantity" id="quantity_<?php echo $products[$j]['product_id'] ?>" size="1" value="1" />					</td>					<td class="listp5">							<a class="button_add_small" onclick="addToCart(<?php echo $products[$j]['product_id']; ?>);return false;"  id="add_to_cart<?php echo $products[$j]['product_id']; ?>" class="buy"> </a>											</td>						<?php } ?>					<?php } ?>			<?php } ?>				</tr>		<?php } ?>	</table>
Для того чтобы работала функция добавления в корзину, вставляем скрипт

<script type="text/javascript">function addToCart(productId) {	$.ajax({			type: 'post',			url: '/index.php?route=module/cart/callback',			dataType: 'html',			data: 'product_id='+productId+'&quantity=' + $('#quantity_'+productId).val(),			success: function (html) {                $('#module_cart .middle').html(html);            },                          complete: function () {                var image = $('#image'+id).offset();                var cart  = $('#module_cart').offset();                }                   });                  }</script>
И в файле category.php добавляем строку:

$this->data['products'][] = array(            			'name'    => $result['name'],						'product_id' => $result['product_id'], ВОТ ОНА						'model'   => $result['model'],            			'rating'  => $rating,						'stars'   => sprintf($this->language->get('text_stars'), $rating),						'thumb'   => $this->model_tool_image->resize($image, $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')),            			'price'   => $price,            			'options' => $options,						'special' => $special,						'href'    => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']),						'add'	  => $add          			);
И добавить в файл стилей

.listp {	margin-bottom: 10px;	width: 100%;}.listp td {	text-align: left;	vertical-align: center;	padding-bottom: 10px;	}td.listp1{	width:50%;}td.listp2{	width:20%;}td.listp3{	width:15%;	text-align:right;}td.listp4{	width:10%;	text-align:right;}td.listp5{	text-align:center;}
Все это описано для раздела категорий, так же это можно сделать на любой другой странице, например на search, для этого редактируем search.php, search.tpl. Функция добавления в корзину упрощена, т. е. убрана анимация изображения, убрана картинка рядом с товаром, упрощена проверка товара на спец. цену. Змінено користувачем afwollis
edit -> save
  • +1 1
Надіслати
Поділитися на інших сайтах


  • 2 months later...

А я сделала отображение \product\category.tpl в виде списка с указанием количества и кнопкой "корзина".

Разобраться с php-шными файлами пока трудновато, не понимаю еще принципов, только осваиваю opencart...

Какие изменения нужны в category.php, чтобы передавались эти значения (количество, id товара - я так понимаю...)?

И хотелось реализовать это аналогично с добавлением из \product\product.tpl, т.е аяксом, без перехода на страницу корзины, а только с обновлением её бокового блока.

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


natali, переместил ваше сообщение в соответствующую тему.

Ответы на ваши вопросы здесь есть.

Если не получится что-то сделать - спрашивайте.

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

natali, переместил ваше сообщение в соответствующую тему.

Ответы на ваши вопросы здесь есть.

Если не получится что-то сделать - спрашивайте.

Спасибо, со списком разобралась, аякс пока отложила на потом))))))

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


AddtoCart....script--куда вставлять в какой файл --подскажите..

в любой файл рабочего шаблона, можно в category.tpl

и listp3 --НЕ->[color... , А-> <color... вот так правильно?

да, я сделал
<span style="color: rgb(153, 0, 0); font-weight: bold;"><?php echo $products[$j]['price']; ?></span>
Хочется добавить, что редактировать нужно файл
catalog/controller/product/category.php
, а то их несколько в системе.
Надіслати
Поділитися на інших сайтах


в любой файл рабочего шаблона, можно в category.tpl

да, я сделал

<span style="color: rgb(153, 0, 0); font-weight: bold;"><?php echo $products[$j]['price']; ?></span>
Хочется добавить, что редактировать нужно файл
catalog/controller/product/category.php
, а то их несколько в системе.

пробовал- чего-то не работает-а в gooogleChrome даже маленькие + ки не отображаются-а в лисице отображаются но не работают...

буду разбираться ..наверно где-то накасячил.

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


пробовал- чего-то не работает-а в gooogleChrome даже маленькие + ки не отображаются-а в лисице отображаются но не работают...

буду разбираться ..наверно где-то накасячил.

О, спасибо за корректировку.

В код файла category.tpl

<a class="button_add_small" onclick="addToCart(<?php echo $products[$j]['product_id']; ?>);return false;"  id="add_to_cart<?php echo $products[$j]['product_id']; ?>" class="buy"> </a>
Добавить   перед </a>
Надіслати
Поділитися на інших сайтах


О, спасибо за корректировку.

В код файла category.tpl

<a class="button_add_small" onclick="addToCart(<?php echo $products[$j]['product_id']; ?>);return false;"  id="add_to_cart<?php echo $products[$j]['product_id']; ?>" class="buy"> </a>
Добавить   перед </a>

в chrome + появился.

Куда только скрипт не вставлял и в /view/theme/default/template/common/header.tpl между <head></head>

и в /view/theme/default/template/product/category.tpl

не работает и всё--где б отладочную инфу посмотреть а то кликаю на + ничего не поисходит.

может он какой-нибудь "библиотеки" ajax не видит--блин плохо быть дубом в php-Jscrip-то строении.

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


во приколы--в винде на обоих компах ie6(наверно уже другие версии есть?:)) --одинаковый абслютно-а смотрится сайт на одном криво--центральная часть провалилась вниз--а на другом нормально.

Arora немного не так скрипт отрабатывает при удалении из корзины(но ей-ним-оно и так мало кто пользуется)

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


во приколы--в винде на обоих компах ie6(наверно уже другие версии есть?:)) --одинаковый абслютно-а смотрится сайт на одном криво--центральная часть провалилась вниз--а на другом нормально.

Arora немного не так скрипт отрабатывает при удалении из корзины(но ей-ним-оно и так мало кто пользуется)

ссылку в студию или в личку.
Надіслати
Поділитися на інших сайтах


  • 1 month later...

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

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


Уважаемые специалисты! Очень нужна Ваша помощь. Есть такой шаблон под названием starburst.

Изображение

И пять цветов на выбор и слеплен неплохо, но вот беда: в файле category.tpl НЕТ

<table class="listp">

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

Как при таких раскладах сделать список? Напишите, если можно подробнее. С меня пиво. :rolleyes:

Файл удален.

Оф. сайт

Собственно сайт, где продается

В следующий раз за выкладывание платного расширения (модуль, тема оформления еще чего) дам бан.

afwollis

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


Уважаемые специалисты! Очень нужна Ваша помощь. Есть такой шаблон под названием starburst.

И пять цветов на выбор и слеплен неплохо, но вот беда: в файле category.tpl НЕТ

<table class="listp">

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

Зато там есть то же самое, только
<table class="list">
)))

Будьте внимательнее.

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


Файл удален.

В следующий раз за выкладывание платного расширения (модуль, тема оформления еще чего) дам бан. (с)

Однако! Но дело в том, что шаблон-то бесплатный. Во всяком случае скачан мной как бесплатный.

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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