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

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


fill

Recommended Posts

New если только привязать к товарам по дате добавления к примеру 10.01.11 считается товар NEW в течении 14 дней.

Только как это зделать я не знаю.

----Растояние увеличилось на главной в "РЕкомендуемых" там у меня выводится 6 товаров по 3 в ряд, 3 товара и ниже 3 товара. И между ними при добавлении Шильдика 70х70 пикс. увеличилось растояние ровно на 70 пикс. Какой код выложить я даже незнаю вот то куда вставлял:

<div class="middle">
  <table class="list">
  <?php for ($i = 0; $i < sizeof($products); $i = $i + 3) { ?>
    <tr>
    
      <?php for ($j = $i; $j < ($i + 3); $j++) { ?>
      <td style="width: 25%;" height="200"><?php if (isset($products[$j])) { ?>
//начало 
    <?php if ($display_price) { ?>
          <?php if (!$products[$j]['special']) { ?>
          <?php } else { ?>
          <div>
          <div id="header">
          <div class="div15"> 
          </div>
          <?php } ?>
          <?php } ?> 
// конец   
      <a href="<?php echo str_replace('&', '&', $products[$j]['href']); ?>"><img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" /></a><br />
      <a href="<?php echo str_replace('&', '&', $products[$j]['href']); ?>"><?php echo $products[$j]['name']; ?></a><br />
      <span style="color: #999; font-size: 11px;"><?php echo $products[$j]['model']; ?></span><br /> 
      Цена: <?php if ($display_price) { ?>
         <span style="color: #900; font-size:15px;color:#990000;font-weight: bold;"><?php if (!$products[$j]['special']) { ?> 
   <?php echo $products[$j]['price']; ?></span>       <br /> 
      <?php } else { ?>    
      <span style="color: #900; font-weight: bold; text-decoration: line-through;"><?php echo $products[$j]['price']; ?></span> <span style="color: #F00;"><?php echo $products[$j]['special']; ?></span><br /> 
      <?php } ?>
      <br /><a class="button_add_small" href="<?php echo $products[$j]['add']; ?>" title="<?php echo $button_add_to_cart; ?>" > </a>
      <?php } ?>
      <br /> <br />
      <?php if ($products[$j]['rating']) { ?>
     
      <?php } ?>
      <?php } ?></td>
      <?php } ?>
    </tr>
    <?php } ?>
  </table>
</div>]
Надіслати
Поділитися на інших сайтах


Хочу реализовать чтобы соответствующие картинки в зависимости от статуса товара были

"latest"

"special"

"out of stock"

как это реализовать в одном цикле? (product.tpl)

И возможность предусмотреть вывода только "OUT OF STOCK" когда "новый" товар со "скидкой" отсутствует в продаже

<?php if (!$special) { ?> // sale        
<?php if (!$latest) { ?> // new        
<?php if (!$product[stock]) { ?> // out of stock 
- - - - - - - - - - - - -          
<?php } else { ?>         
<div>   
 <div id="header">            
<div class="div9">           
</div>         
<?php } ?>                   
</td> 

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


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

Господа. Может, я что-то и недопонимаю, но, не могли бы Вы, объснить подробно и "нормально" КАК это реализовать???

Один пишет одно, другой другое. Третий говорит что в этом файле таких строк нет, ему тут же пишут что они вообще забиваются в другой... Ппц. )

Как можно советовать то - что Вы сами не делали? Это как на войне; "иди друг, там мин нет". )))))

Обьясните подробно, что куда и какие строки ставить - что бы появился лейбл на товаре, говорящий о скидках и т.п.. Спасибо.

Версия OpenCart - 1.4.9.3

Делал как в этом посте --> пост. Все получилось. Правда, вместо див8 див9 придумал свои названия.

Однако, в мазиле не хочет отображаться. Никто не сталкивался?

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

Для правильного расчета скидки в процентах необходимо привести значения переменных Цены и Спецпредложения обратно к числам, т.к. там они уже хранятся в виде отформатированных стрингов с лишними запятыми и точками. Я это сделал так:

после строки <td width="25%"><?php if (isset($products[$j])) { ?> в соответствующих шаблонах вставил:

<?php if ($products[$j]['special']) {
 $gxrc = array(',','.');
 $gxsp = (int)str_replace($gxrc,'',$products[$j]['special']);
 $gxpr = (int)str_replace($gxrc,'',$products[$j]['price']);
?>
<div id="header"><div class="label"><?php echo '-'.(int)(($gxpr - $gxsp)/$gxpr*100).'%'; ?></div></div>
<?php } ?>

В моем магазине цены указываются всегда, поэтому лишнюю проверку я просто отключил. Названия переменных и классов у меня тоже свои, можно менять. Идея, думаю, понятна...

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


  • 2 weeks later...

Господа. Может, я что-то и недопонимаю, но, не могли бы Вы, объснить подробно и "нормально" КАК это реализовать???

Один пишет одно, другой другое. Третий говорит что в этом файле таких строк нет, ему тут же пишут что они вообще забиваются в другой... Ппц. )

Как можно советовать то - что Вы сами не делали? Это как на войне; "иди друг, там мин нет". )))))

Обьясните подробно, что куда и какие строки ставить - что бы появился лейбл на товаре, говорящий о скидках и т.п.. Спасибо.

Версия OpenCart - 1.4.9.3

ИЛИ Выложите уже готовый и проверенный работаюший ,чтоб можно было скачать и залить на ftp

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


для версии 1.4.9.4

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

ищем

<td width="25%"><?php if (isset($products[$j])) { ?>

после вставляем

<div>
          <?php if ($display_price) { ?>
          <?php if (!$products[$j]['special']) { ?>
          <?php } else { ?>
          <div>

          <div class="best-price">
          </div>
          <?php } ?>
          <?php } ?>

CSS

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

post-6857-0-73961700-1301165419_thumb.jpg

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


HOME.TPL не работает .. и я не мог этого сделать ... если кто может помочь ... вот мой код home.tpl

<?php echo $header; ?>
<div class="container1">
<?php echo $column_left; ?>
<?php echo $column_right; ?>
<div id="content">
  <?php if ($welcome) { ?>
  <div class="top">
    <div class="left"></div>
    <div class="right"></div>
    <div class="center">
      <h1><?php echo $heading_title; ?></h1>
    </div>
  </div>  
  <div class="middle">
    <div><?php echo $welcome; ?></div>
  </div>
  <div class="bottom">
    <div class="left"></div>
    <div class="right"></div>
    <div class="center"></div>
  </div>  
  <?php } ?>
  <?php foreach ($modules as $module) { ?>
  <?php echo ${$module['code']}; ?>
  <?php } ?>
</div></div>
<?php echo $footer; ?>
Надіслати
Поділитися на інших сайтах


для версии 1.4.9.4

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

открываем

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

ищем

<table style="width: 100%; border-collapse: collapse;">
        <tr>

после вставляем

<?php if (!$special) { ?>
                  <?php } else { ?>
                    <div>
                    <div class="best-price-more">
                    </div>
                  <?php } ?></td>

CSS

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

post-6857-0-32834800-1301168328_thumb.jpg

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


HOME.TPL не работает .. и я не мог этого сделать ... если кто может помочь ... вот мой код home.tpl

<?php echo $header; ?>
<div class="container1">
<?php echo $column_left; ?>
<?php echo $column_right; ?>
<div id="content">
  <?php if ($welcome) { ?>
  <div class="top">
    <div class="left"></div>
    <div class="right"></div>
    <div class="center">
      <h1><?php echo $heading_title; ?></h1>
    </div>
  </div>  
  <div class="middle">
    <div><?php echo $welcome; ?></div>
  </div>
  <div class="bottom">
    <div class="left"></div>
    <div class="right"></div>
    <div class="center"></div>
  </div>  
  <?php } ?>
  <?php foreach ($modules as $module) { ?>
  <?php echo ${$module['code']}; ?>
  <?php } ?>
</div></div>
<?php echo $footer; ?>

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

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

catalog/view/theme/default/template/module/LATEST_HOME.TPL

ищем

<td width="25%"><?php if (isset($products[$j])) { ?>

после вставляем

<div>
          <?php if ($display_price) { ?>
          <?php if (!$products[$j]['special']) { ?>
          <?php } else { ?>
           <div>
           <div class="best-price">
          </div>
           <?php } ?>
           <?php } ?>

post-6857-0-11687300-1301169189_thumb.jpg

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


Хочу реализовать чтобы соответствующие картинки в зависимости от статуса товара были

"latest"

"special"

"out of stock"

как это реализовать в одном цикле? (product.tpl)

И возможность предусмотреть вывода только "OUT OF STOCK" когда "новый" товар со "скидкой" отсутствует в продаже

<?php if (!$special) { ?> // sale        
<?php if (!$latest) { ?> // new        
<?php if (!$product[stock]) { ?> // out of stock 
- - - - - - - - - - - - -          
<?php } else { ?>         
<div>   
 <div id="header">            
<div class="div9">           
</div>         
<?php } ?>                   
</td> 

<?php if (!$latest) { ?> // new

Как сделать этот модуль, попробуйте ... но что-то не

CATEGORY.TPL

<div>
<?php if (!$latest) { ?> 
<?php } else { ?>         
 <div>   
<div class="latest">           
</div>         
<?php } ?>

CSS

.latest {
    position: absolute;
    margin-top: 45px;
    background: url('../image/best.png') no-repeat;
    width: 70px;
    height: 70px;
}

post-6857-0-87152300-1301173065_thumb.jpg

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


А можно ссылку на сайт где всё это уже вертится.

Хотелось бы в живую поглядеть, о чём идет речь.

Пусть ваше личное сообщение ...... Извините, но мой русский очень плохо

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


Пока только сделал специальной цене ... Я пытался сделать "новый продукт"

"Нет на складе", но я ... не могли бы вы помочь мне, .... у меня версии 1.4.9.4

<?php if (!$latest) { ?> // new

<?php if (!$product[stock]) { ?> // out of stock

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


в пхп я не очень, делал интуитивно, на основе этой темы.

может не оптимально, но главное работает :)

версия магазина ocstore_v0.1.4

дальше описаны изменения для отображения "ПРОДАНО" на картинке товара в Продукте, Категории, Производителях и Последних товарах, при количестве товара = 0.

post-3931-0-99207800-1301841227_thumb.jpg post-3931-0-27272400-1301841317_thumb.jpg post-3931-0-54910100-1301841344_thumb.jpg post-3931-0-57772600-1301841329_thumb.jpg

как выше писал fill

предварительно помещаем картинку sold_out.png с текстом "Продано" в папку catalog/view/theme/default/image

и добавляем в файл catalog\view\theme\default\stylesheet\stylesheet.css код

#header .div91 {
            position: absolute;
            margin-top: 5px;
            background: url('../image/sold_out.png') no-repeat;
            width: 70px;
            height: 70px;
}
post-3931-0-57740900-1301841285_thumb.png

Для отображения в Продукте.

1. открываем catalog\controller\product\product.php

$this->data['quantity'] = $product_info['quantity'];
Я вставил перед

if ($product_info['image']) {
				$image = $product_info['image'];
			} else {
				$image = 'no_image.jpg';
			}	

2.

открываем catalog\view\theme\default\template\product\product.php

и находим строчку

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

<?php if ($quantity > 0) { ?>
                  <?php } else { ?>
                    <div>
                    <div id="header">
                    <div class="div91">
                    </div>
                  <?php } ?></td>
Работает.

post-3931-0-99207800-1301841227_thumb.jpg

Для отображения в Каталоге.

открываем catalog\model\catalog\product.php

находим строчку

foreach ($product_option_value_query->rows as $product_option_value) {
заменяем

$product_option_value_data[] = array(
					'product_option_value_id' => $product_option_value['product_option_value_id'],
					'name'                    => $product_option_value_description_query->row['name'],
         			'price'                   => $product_option_value['price'],
         			'prefix'                  => $product_option_value['prefix']
				);
на

$product_option_value_data[] = array(
					'product_option_value_id' => $product_option_value['product_option_value_id'],
					'name'                    => $product_option_value_description_query->row['name'],
         			'price'                   => $product_option_value['price'],
         			'prefix'                  => $product_option_value['prefix'],
         			'quantity'              => $product_option_value['quantity']
				);

открываем catalog\controller\product\category.php

находим

$this->data['products'][] = array(
            			'name'    => $result['name'],
						'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
          			);
меняем на(фактически, дописываем "'quantity'=> $result['quantity'],")

$this->data['products'][] = array(
            			'name'    => $result['name'],
						'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,
						'quantity'=> $result['quantity'],
						'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
          			);

открываем catalog\view\theme\default\template\product\category.tpl

находим строчку

<td width="25%"><?php if (isset($products[$j])) { ?>
после нее вставляем

<div>
          <?php if ($display_price) { ?>
          <?php if ($products[$j]['quantity']>0) { ?>
          <?php } else { ?>
          <div>
          <div id="header">
          <div class="div91">
          </div>
          <?php } ?>
          <?php } ?> 

Работает.

post-3931-0-54910100-1301841344_thumb.jpg

Для отображения в Производителях.

catalog\model\catalog\product.php должен мы уже поменяли выше для Каталога, добавив строчку "'quantity' => $product_option_value['quantity']" в массив.

открываем catalog\controller\product\manufacturer.php

находим массив

$this->data['products'][] = array(
            			'name'    => $result['name'],
						'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&manufacturer_id=' . $this->request->get['manufacturer_id'] . '&product_id=' . $result['product_id']),
						'add'	  => $add
          			);

добавляем поле 'quantity'=> $result['quantity'],

$this->data['products'][] = array(
            			'name'    => $result['name'],
						'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,
						'quantity'=> $result['quantity'],
						'href'    => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&manufacturer_id=' . $this->request->get['manufacturer_id'] . '&product_id=' . $result['product_id']),
						'add'	  => $add
          			);

открываем catalog\view\theme\default\template\product\manufacturer.tpl

находим

<td width="25%"><?php if (isset($products[$j])) { ?>
вставляем

<div>
          <?php if ($display_price) { ?>
          <?php if ($products[$j]['quantity']>0) { ?>
          <?php } else { ?>
          <div>
          <div id="header">
          <div class="div91">
          </div>
          <?php } ?>
          <?php } ?> 

Работает.

post-3931-0-27272400-1301841317_thumb.jpg

Для отображения в Последних добавленных.

открываем catalog\controller\module\latest.php

находим массив

$this->data['products'][] = array(
            			'name'    => $result['name'],
						'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&manufacturer_id=' . $this->request->get['manufacturer_id'] . '&product_id=' . $result['product_id']),
						'add'	  => $add
          			);

добавляем поле 'quantity'=> $result['quantity'],

$this->data['products'][] = array(
            			'name'    => $result['name'],
						'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,
						'quantity'=> $result['quantity'],
						'href'    => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&manufacturer_id=' . $this->request->get['manufacturer_id'] . '&product_id=' . $result['product_id']),
						'add'	  => $add
          			);

открываем catalog\view\theme\default\template\module\latest_home.tpl

находим

<td style="width: 25%;"><?php if (isset($products[$j])) { ?>
добавляем после этой строчки

<div>
          <?php if ($display_price) { ?>
          <?php if ($products[$j]['quantity']>0) { ?>
          <?php } else { ?>
          <div>
          <div id="header">
          <div class="div91">
          </div>
          <?php } ?>
          <?php } ?> 

Работает.

post-3931-0-57772600-1301841329_thumb.jpg

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


в пхп я не очень, делал интуитивно, на основе этой темы.

может не оптимально, но главное работает :)

версия магазина ocstore_v0.1.4

Спасибо!

Всё замечательно работает, у меня ocStore 0.1.9

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


У кого установлен модуль для отображения категорий на главной, то тут тоже можно немножко поправить:

1. В файле catalog\view\theme\default\template\module\webme_categories_at_homepage.tpl

после строчки

<td style="width: 25%;"><?php if (isset($w_category["products"][$j])) { ?>
вставляем
<div>
          <?php if ($w_category["products"][$j]['quantity']>0) { ?>
          <?php } else { ?>
          <div>
          <div id="header">
          <div class="div91">
          </div>
          <?php } ?>
2.В файле opencart\www\catalog\controller\module\webme_categories_at_homepage.php

меняем

$this->data['w_categories'][$category_id]['products'][] = array(
						'name'    => $result['name'],
						'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=' . $category_id . '&product_id=' . $result['product_id']),
						'add'	  => $add
					);
на

$this->data['w_categories'][$category_id]['products'][] = array(
						'name'    => $result['name'],
						'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,
						'quantity'=> $result['quantity'],
						'special' => $special,
						'href'    => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/product&path=' . $category_id . '&product_id=' . $result['product_id']),
						'add'	  => $add
					);
т.е. просто дописываем
'quantity'=> $result['quantity'],
Всё.

Работает.

post-6715-0-91099300-1302126890_thumb.jpg

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


default\template\module\latest_home.tpl

<div>
          <?php if ($display_price) { ?>
          <?php if (!$products[$j]['special']) { ?>
          <?php } else { ?>
           <div>
           <div class="best-price">
          </div>
           <?php } ?>
           <?php } ?>	
       

	   <div>
           <?php if ($products[$j]['quantity']>0) { ?>
          <?php } else { ?>
          <div>
          <div id="header">
          <div class="out-of-stock">
          </div>
          <?php } ?>

category.php

$this->data['products'][] = array(
            			'name'    => $result['name'],
						'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,
						'quantity'=> $result['quantity'],
						'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
          			);
        		}
только что добавили: 'quantity'=> $result['quantity'],

"ЛУЧШИЕ ЦЕНЫ" (BEST PRICE) и "ПРОДАНО" (OUT OF STOCK) не могу работать вместе

....line 28 ( <?php if ($products[$j]['quantity']>0) { ?> )

ЛУЧШИЕ ЦЕНЫ работает самостоятельно, но когда я пытаюсь добавить код ПРОДАНА - не работает

post-6857-0-11568600-1302446910_thumb.jpg

post-6857-0-00848100-1302447280_thumb.jpg

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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