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

[Доработка] Фото для специальных предложений


fill

Recommended Posts

Я вообще продублировал вывод обложки и переделал его под стики, также вывел везде где обложка выводится.

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

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

  • 1 month later...
  • 2 weeks later...

Для новинок я сделал так:

Идем в catalog/controller/product/ и открываем category.php. Ищем там массив

$this->data['products'][] = array(
name'	=> $result['name'],
..еще куча строк..
)
и добавляем туда новую строку -
'date_available' => $result['date_available'],

Затем идём в catalog/view/theme/default/template/product/ и открываем category.tpl. Где-нибудь сверху (я добавил сразу после

<?php echo $column_right; ?>
) добавляем

<?php
$timestamp = time();
$date_time_array = getdate($timestamp);
$month = $date_time_array['mon'];
$day = $date_time_array['mday'];
$year = $date_time_array['year'];
$timestamp = mktime($hours,$minutes,$seconds,$month,$day -5,$year);
?>
.

В строке

$timestamp = mktime($hours,$minutes,$seconds,$month,$day -5,$year);
, а точнее
$day -5
формируется дата, сколько дней после добавления товара к нему будет "приклеиваться" div с картинкой "новинка", ну, или как вы там напишете.

Затем, в этом же файле, после

<td style="width: 25%;">
добавляем

<?php if (($products[$j]['date_available'] ) > strftime('%Y-%m-%d',$timestamp)){ ?><div id="div_img_new"></div><?php } ?>
Ну а далее в stylesheet.css добавляете

#div_img_new {background: url('../image/имя_картинки_с_надписью_новинка.png') no-repeat;}
. Детально отображение подгоняйте сами в css файле.

а для какой это версии, подскажите?

Попробовал на 1.5.1.3 ошибку выдаёт..

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


  • 2 months later...
  • 4 weeks later...

Здравствуйте, а кто-что может предложить для версии OpenCart 1.5.3.1 было бы хорошо чтобы оно делалась автоматом.

Например больше 30 просмотров значит "ТОП". Скидка - "Распродажа" и так дальше.

Нужная штука для магазина, но так никто норм и не может реализовать, а платная версия... ну я думаю она столько не стоит.

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


  • 3 weeks later...
  • 4 weeks later...

Добрый вечер! У меня OpenCart 1.5.3.1 Появилась необходимость реализовать вывод надписи "продано" поверх изображения, после окончания товара на складе. В catalogmodelcatalogproduct.php добавил эту строчку

'quantity'			  => $product_option_value['quantity'],

в catalogcontrollerproductcategory.php добавил вот эту строчку

'quantity'=> $result['quantity'],

в catalogviewthemedefaulttemplateproductcategory.tpl добавил вот это код


		  <?php if ($products ['quantity']>0) { ?>
		  <?php } else { ?>
		 <div class="my-prodano"></div>
		  <?php } ?>
		

В результате выскакивает ошибка :

Notice

: Undefined index: quantity in

/home/horsem00/horsemarket.com.ua/www/catalog/view/theme/default/template/product/category.tpl

http://horsemarket.c...ategory&path=20

Подскажите пожалуйста как это вылечить?

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


  • 2 weeks later...
  • 2 weeks later...

Я вообще продублировал вывод обложки и переделал его под стики, также вывел везде где обложка выводится.

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

Подскажи как делал,а лучше покажи а то чё то ни хрена не выходит.
Надіслати
Поділитися на інших сайтах



Я вообще продублировал вывод обложки и переделал его под стики, также вывел везде где обложка выводится.
Получилось, что теперь стик я выбираю для каждого товара, а высвечивается он везде...

Выкладываю код от Lion18 его надо немного допилить:

[ocStore 1.5.1.3]Дополнительное поле в виде картинке или стикер_Lion18
Дополнительное поле в виде картинки с отображением его на страницах Продукта/Поиска/Категории/Блок рекомендуем/Сравнение товаров/

 


====================================================
1.Выполнить запрос sql:

ALTER TABLE `product` ADD `stiker` varchar(255) COLLATE utf8_general_ci DEFAULT NULL;

====================================================
2. Добавляем параметр на страницу редактирования новоти:

admincontrollercatalogproduct.php:

найти

private function getForm() {

После вставить

$this->data['entry_stiker'] = $this->language->get('entry_stiker');

найти вторую по счету строчку

$this->load->model('tool/image');

После вставить

if (!empty($product_info) && $product_info['stiker'] && file_exists(DIR_IMAGE . $product_info['stiker'])) {$this->data['thumbstiker'] = $this->model_tool_image->resize($product_info['stiker'], 100, 100);} else {$this->data['thumbstiker'] = $this->model_tool_image->resize('no_image.jpg', 100, 100);}

Найти

$this->data['product_images'][] = array(

После вставить

'thumbstiker' => $this->model_tool_image->resize($image, 50, 50),

----------------------------------------------------

adminmodelcatalogproduct.php:

найти первый

$this->db->query("DELETE FROM " . DB_PREFIX . "product_description WHERE product_id = '" . (int)$product_id . "'");

Перед вставить

if (isset($data['stiker'])) {$this->db->query("UPDATE " . DB_PREFIX . "product SET stiker = '" . $this->db->escape($data['stiker']) . "' WHERE product_id = '" . (int)$product_id . "'");}

----------------------------------------------------

adminviewtemplatecatalogproduct_form.tpl:

Найти

<tr><td><?php echo $entry_image; ?></td><td><div class="image"><img src="<?php echo $thumb; ?>" alt="" id="thumb" /><br /><input type="hidden" name="image" value="<?php echo $image; ?>" id="image" /><a onclick="image_upload('image', 'thumb');"><?php echo $text_browse; ?></a>  |  <a onclick="$('#thumb').attr('src', '<?php echo $no_image; ?>'); $('#image').attr('value', '');"><?php echo $text_clear; ?></a></div></td></tr>

После вставить

<tr><td><?php echo $entry_stiker; ?></td><td><div class="image"><img src="<?php echo $thumbstiker; ?>" alt="" id="thumbstiker" /><br /><input type="hidden" name="stiker" value="<?php echo $thumbstiker; ?>" id="stiker" /><a onclick="image_upload('stiker', 'thumbstiker');"><?php echo $text_browse; ?></a>  |  <a onclick="$('#thumbstiker').attr('src', '<?php echo $no_image; ?>'); $('#stiker').attr('value', '');"><?php echo $text_clear; ?></a></div></td></tr>

----------------------------------------------------

adminlanguagerussiancatalogproduct.php:

найти

// Entry

после вставить

$_['entry_stiker'] = 'Изображение стикера:';

----------------------------------------------------

adminlanguageenglishcatalogproduct.php:

найти

// Entry

после вставить

$_['entry_stiker'] = 'Image stiker:';

====================================================
4.1.Для отображения на странице продукта:
----------------------------------------------------

catalogcontrollerproductproduct.php

найти

$this->load->model('tool/image');

После вставить

if ($product_info['stiker']) {$this->data['thumbstiker'] = $this->model_tool_image->resize($product_info['stiker'], 50, 50);} else {$this->data['thumbstiker'] = '';}

----------------------------------------------------

catalogviewthemedefaulttemplateproductproduct.tpl

в нужном месте вставить

 <?php if ($thumbstiker) { ?><img src="<?php echo $thumbstiker; ?>" alt="img" /><?php } ?>

----------------------------------------------------
4.2.Для отображения на странице продукта во вкладке "Похожие товары":
----------------------------------------------------

catalogcontrollerproductproduct.php

найти

$this->data['products'][] = array(

Перед вставить

if ($result['stiker']) {$stiker = $this->model_tool_image->resize($result['stiker'], 50, 50);} else {$stiker = false;}

После вставить

'thumbstiker' => $stiker,

----------------------------------------------------

catalogviewthemedefaulttemplateproductproduct.tpl

Найти

<div id="tab-related" class="tab-content">

После в нужном месте вставить 

<?php if ($product['thumbstiker']) { ?><img src="<?php echo $product['thumbstiker']; ?>" alt="img" /><?php } ?>

====================================================
5.Для отображения на страницах категории:

catalogcontrollerproductcategory.php

найти

$this->data['products'][] = array(Перед вставитьif ($result['stiker']) {$stiker = $this->model_tool_image->resize($result['stiker'], 50, 50);} else {$stiker = false;}

после добавить

'thumbstiker' => $stiker,

----------------------------------------------------

catalogviewthemedefaulttemplateproductcategory.tpl

----------------------------------------------------
В нужном месте вставить 

<?php if ($product['thumbstiker']) { ?><img src="<?php echo $product['thumbstiker']; ?>" alt="img" /><?php } ?>

====================================================
6.Для отображения на страницах поиска:

catalogcontrollerproductsearch.php

найти

$this->data['products'][] = array(

Перед вставить

if ($result['stiker']) {$stiker = $this->model_tool_image->resize($result['stiker'], 50, 50);} else {$stiker = false;}

после добавить

'thumbstiker' => $stiker,

----------------------------------------------------

catalogviewthemedefaulttemplateproductsearch.tpl

В нужном месте вставить(Если рядом/наложить на обложку, ищим 

<?php if ($product['thumb']) { ?>*******<?php } ?>) <?php if ($product['thumbstiker']) { ?><img src="<?php echo $product['thumbstiker']; ?>" alt="img" /><?php } ?>

====================================================
6.Для отображения на страницах сравнения товаров:

catalogcontrollerproductcompare.php

найти

if ($product_info) {

После вставить

if ($product_info['stiker']) {$stiker = $this->model_tool_image->resize($product_info['stiker'], 50, 50);} else {$stiker = false;}

Найти

$this->data['products'][$product_id] = array(

после добавить

'thumbstiker' => $stiker,

----------------------------------------------------

catalogviewthemedefaulttemplateproductcompare.tpl

В нужном месте вставить 

<?php if ($products[$product['product_id']]['thumbstiker']) { ?><img src="<?php echo $products[$product['product_id']]['thumbstiker']; ?>" alt="img" /><?php } ?>

====================================================
6.Для отображения на страницах вывода модуля специальные(featured/рекомендуем):

catalogcontrollermodulefeatured.php

найти

$this->data['products'][] = array(

Перед вставить

if ($product_info['stiker']) {$stiker = $this->model_tool_image->resize($product_info['stiker'], 50, 50);} else {$stiker = false;}

после добавить

'thumbstiker' => $stiker,

----------------------------------------------------

catalogviewthemedefaulttemplatemodulefeatured.tpl

В нужном месте вставить 

<?php if ($product['thumbstiker']) { ?><img src="<?php echo $product['thumbstiker']; ?>" alt="img" /><?php } ?>

====================================================
6.Для отображения на страницах вывода модуля(bestseller/Хиты продаж):

catalogcontrollermodulebestseller.php

найти

$this->data['products'][] = array(

Перед вставить

if ($product_info['stiker']) {$stiker = $this->model_tool_image->resize($product_info['stiker'], 50, 50);} else {$stiker = false;}

после добавить

'thumbstiker' => $stiker,

----------------------------------------------------

catalogviewthemedefaulttemplatemodulebestseller.tpl

В нужном месте вставить 

<?php if ($product['thumbstiker']) { ?><img src="<?php echo $product['thumbstiker']; ?>" alt="img" /><?php } ?>

====================================================
7.Для отображения на страницах производителей:

catalogcontrollerproductmanufacturer.php

найти

$this->data['products'][] = array(

Перед вставить

if ($result['stiker']) {$stiker = $this->model_tool_image->resize($result['stiker'], 50, 50);} else {$stiker = false;}

после добавить

'thumbstiker' => $stiker,

----------------------------------------------------

catalogviewthemedefaulttemplateproductmanufacturer_info.tpl

----------------------------------------------------
В нужном месте вставить 

<?php if ($product['thumbstiker']) { ?><img src="<?php echo $product['thumbstiker']; ?>" alt="img" /><?php } ?>

====================================================
8.Для отображения на страницах корзины:

catalogcontrollermodulebestseller.php

найти первый

$option_data = array();

Перед вставить

if ($product_info['stiker']) {$stiker = $this->model_tool_image->resize($product_info['stiker'], 50, 50);} else {$stiker = false;}if ($product['stiker']) {$stiker = $this->model_tool_image->resize($product['stiker'], $this->config->get('config_image_cart_width'), $this->config->get('config_image_cart_height'));} else {$stiker = '';}if ($result['stiker']) {$stiker = $this->model_tool_image->resize($result['stiker'], 40, 40);} else {$stiker = '';}

после добавить

'thumbstiker' => $stiker,

----------------------------------------------------

catalogviewthemedefaulttemplatemodulebestseller.tpl

В нужном месте вставить 

<?php if ($product['thumbstiker']) { ?><img src="<?php echo $product['thumbstiker']; ?>" alt="img" /><?php } ?>

====================================================
"50, 50" - значения ширины и высоты картинки вывода.
"name" - имя переменной. Например "stiker", "image-xxx"
"thumbname" - имя тега. Например "thumbstiker", "thumb-image-xxx"
-------------
Для выравнивания картинки в тег <img /> добавить class="stiker"
В любое место 

catalogviewthemedefaultstylesheetstylesheet.css

добавить:


/* stiker */.stiker-product {position: absolute;margin: 10px 0 0 175px;width: 50px;height: 50px;}.stiker-related {position: absolute;margin: 10px 0 0 175px;width: 50px;height: 50px;}.stiker-category {position: absolute;margin: 10px 0 0 175px;width: 50px;height: 50px;}.stiker-search {position: absolute;margin: 10px 0 0 175px;width: 50px;height: 50px;}.stiker-compare {position: absolute;margin: 10px 0 0 175px;width: 50px;height: 50px;}.stiker-featured {position: absolute;margin: 10px 0 0 175px;width: 50px;height: 50px;}.stiker-bestseller {position: absolute;margin: 10px 0 0 175px;width: 50px;height: 50px;}.stiker-manufacturer {position: absolute;margin: 10px 0 0 175px;width: 50px;height: 50px;}

====================================================

 


Что будет реализовано в новой версии:
- Вывод колонки стикера рядом с картинкой товара в админке.

Стикер:
1.Допилить стики, при редактировании товара он пропадает.
3.Вевести стики в корзине и маленькой корзине,
4. В закладках
5. В админке на страницах товаров

Змінено користувачем AlexFisher
spoiler, code
  • +1 1
Надіслати
Поділитися на інших сайтах


  • 2 years later...

Круто! Я так и хотел. Только у меня чет не сработало на 1.5.4.1

 

Для новинок я сделал так:
Идем в catalog/controller/product/ и открываем category.php. Ищем там массив

$this->data['products'][] = array(
 name'    => $result['name'],
 ..еще куча строк..
)
и добавляем туда новую строку -
'date_available' => $result['date_available'],
Затем идём в catalog/view/theme/default/template/product/ и открываем category.tpl. Где-нибудь сверху (я добавил сразу после
<?php echo $column_right; ?>
) добавляем
<?php
$timestamp = time();
$date_time_array = getdate($timestamp);
$month = $date_time_array['mon'];
$day = $date_time_array['mday'];
$year = $date_time_array['year'];
$timestamp = mktime($hours,$minutes,$seconds,$month,$day -5,$year);
?>
.
В строке
$timestamp = mktime($hours,$minutes,$seconds,$month,$day -5,$year);
, а точнее
$day -5
формируется дата, сколько дней после добавления товара к нему будет "приклеиваться" div с картинкой "новинка", ну, или как вы там напишете.
Затем, в этом же файле, после
<td style="width: 25%;">
добавляем
<?php if (($products[$j]['date_available'] ) > strftime('%Y-%m-%d',$timestamp)){ ?><div id="div_img_new"></div><?php } ?>
Ну а далее в stylesheet.css добавляете
#div_img_new {background: url('../image/имя_картинки_с_надписью_новинка.png') no-repeat;}
. Детально отображение подгоняйте сами в css файле.

 

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


  • 4 weeks later...

На держи для продуктов:

открываем

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

ищем

<table style="width: 100%; border-collapse: collapse;">
        <tr>
после вставляем

<?php if (!$special) { ?>
                  <?php } else { ?>
                    <div>
                    <div id="header">
                    <div class="div8">
                    </div>
                  <?php } ?></td>
открываем

catalog/view/theme/default/stylesheet/stylesheet.css

ищем

}
#header .div7 {
	float: right;
	padding-top: 2px;
после вставляем

}
#header .div8 {
            position: absolute;
            margin-top: 25px;
            margin-left: 5px;
            background: url('../image/best.png') no-repeat;
            width: 70px;
            height: 70px;

 

удалось ли реализовать данное решение для более новых версий oCstore. интересует для 1.5.5.1.2___???

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

Спасибо.

post-690990-0-84654500-1420019866_thumb.jpg

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


  • 1 year later...

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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