Автор Тема: артикул  (Прочитано 12703 раз)

Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
артикул
« : Августа 30, 2012, 10:52:07 pm »
здравствуйте
сайт тут
хочу добавить артикул на главную страницу. т.е. чтобы под каждым товаром выводился его каталоговый номер
я так понял что за это отвечает код
{* product code *}
{if $product_info[12] ne ""}


<tr>


  <td style="vertical-align: top"><b>{$smarty.const.ADMIN_PRODUCT_CODE}:&nbsp;</b></td>


  <td>[{$product_info[12]}]<br />&nbsp;</td>


</tr>
{/if}
но если вставляю его в home.tpl.html то ничего не видно кроме []

Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: артикул
« Ответ #1 : Августа 31, 2012, 12:12:31 am »
slamm спасибо за быстрый ответ
сайт вот он в прошлом линке букву пропустил
изменения в home.tpl.html
<div class="middle" style="top:50px">
  {* special offers *}
{if $special_offers ne NULL}

<table cellspacing="0" cellpadding="5px" width="100%">

{foreach name=special from=$special_offers item=special_offer}
       {if $smarty.foreach.special.index is div by 3}<tr style="text-align: justify; vertical-align: top;">{/if}
       
    <td style="text-align: center; width: 30%">
              <div style="height:150px">
      <a href="./{$special_offer.hurl}">
    <img src="./products_pictures/{$special_offer.picture}" border="0" alt="{$special_offer.name}" />
      </a>
              </div>
      <a href="./{$special_offer.hurl}">{$special_offer.name}</a><br />
      [{$special_offers[i][5]}]<br />

      <font class="pprice"><b>{$special_offer.Price}</b></font>
    </td>
{if ($smarty.foreach.special.index +1) is div by 3}</tr>{/if}

{/foreach}
</table>

{/if}
{* end of special offers *}
{$index}
    </div>
и вот файл home.php
// front-end homepage
    if (!$categoryID && !isset($productID))
    {   
        $f = file("./core/aux_pages/index");
        $out = implode("", $f);
$smarty->assign("index", $out); 
       
//special offers
$result = array();
$q = db_query("SELECT ".PRODUCTS_TABLE.".productID, name, picture, Price, brief_description, hurl, product_code FROM ".SPECIAL_OFFERS_TABLE.",".PRODUCTS_TABLE." where ".PRODUCTS_TABLE.".productID=".SPECIAL_OFFERS_TABLE.".productID  order by sort_order") or die (db_error());
while ($row1 = db_assoc_q($q))
{

if (file_exists("./products_pictures/".$row1['picture']))
{
   $s = rtrim($row1['picture'], '.jpg');
   $row1['picture'] = $s."-S.jpg";
                   $row1['Price'] = round($row1['Price']/CURRENCY_val,2);
   $row1['Price'] = show_price($row1['Price']);
                   $row1['list_price'] = round($row1['list_price']/CURRENCY_val,2);
   $row1['list_price'] = show_price($row1['list_price']);

   if ($row1['hurl'] != "" && CONF_CHPU) {$row1['hurl'] = REDIRECT_PRODUCT."/".$row1['hurl'];} else {$row1['hurl'] = "index.php?productID=".$row1['productID'];}
   $result[] = $row1;
}

}
$smarty->assign("special_offers",$result);
   }

?>
ничего не дали :(

nictboom

  • Гость
Re: артикул
« Ответ #2 : Августа 31, 2012, 12:19:45 am »
тогда в шаблон {$special_offer.product_code}

Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: артикул
« Ответ #3 : Августа 31, 2012, 12:29:34 am »
slamm, nictboom  огромное спасибо
не примите за наглость вопрос - а можно ли тем же способом воткнуть артикул везде где появляется товар
т.е.: в результате поиска вижу только цену, а хотелось бы и атикул и наличие на складе

nictboom

  • Гость
Re: артикул
« Ответ #4 : Августа 31, 2012, 12:40:21 am »
в product_brief.tpl.html добавить {$product_info[12]}

Оффлайн cool_roman

  • Пользователь
  • **
  • Сообщений: 78
    • Просмотр профиля
Re: артикул
« Ответ #5 : Августа 31, 2012, 12:44:09 am »
через час добавлю еще 1 в карму :)
работает :) спасибо

Оффлайн vico7

  • Чайник
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: артикул
« Ответ #6 : Декабря 30, 2012, 05:06:03 pm »
Здравствуйте! С наступающим Новым Годом!
Вопрос по этой теме.
В Lego 5.2 вставка в шаблон вывода артикула через
 {$product_info[12]}
работает, а  Lego 6 только через
  {$product_info.product_code}

Почему? В чем разница?

Оффлайн yuriy4508

  • Спец
  • ***
  • Сообщений: 137
    • Просмотр профиля
Re: артикул
« Ответ #7 : Января 05, 2013, 09:54:18 am »
а как сделать чтобы артикул сам генерировался и начинался например с 90001, т.е. при добавлении товара прибавляется 1.
как вариант можно id товара вывести в качестве артикула (редактировать его точно не буду), но тогда как сделать чтобы счет начинался с 90001?

Оффлайн yuriy4508

  • Спец
  • ***
  • Сообщений: 137
    • Просмотр профиля
Re: артикул
« Ответ #8 : Января 05, 2013, 06:51:57 pm »
{math equation="x + y" x=90000 y=$product_info.productID}

А куда это вставить и как использовать?
В catalog_Products_edit.html есть поле:
<input type="text" name="product_code" value="{$product_edit[11]}" style="width: 145px" />я поставил:
value="{math equation="x + y" x=90000 y=$product_info.productID}"но выдает ошибку...

Оффлайн yuriy4508

  • Спец
  • ***
  • Сообщений: 137
    • Просмотр профиля
Re: артикул
« Ответ #9 : Января 05, 2013, 07:06:18 pm »
сейчас подумал: это будет работать при редактировании товара, а если я создаю новый, то $product_info.productID еще пустой и появляется при нажатии сохранить. Правильно?
А предыдущую запись свою я переделал под вид
{math assign=sum equation="x + y" x=90000 y=$product_info.productID}<input type="text" name="product_code" value="{$sum}" style="width: 145px" />
В данном случае ругается:
Warning: math: parameter y is empty in ...smarty/plugins/function.math.php on line 55
« Последнее редактирование: Января 05, 2013, 07:07:56 pm от yuriy4508 »

nictboom

  • Гость
Re: артикул
« Ответ #10 : Января 05, 2013, 08:53:31 pm »
ну тогда нужно править catalog_product_edit.php.
[spoiler]
например после:
               $updateproduct['hurl'] = to_url($addproduct['name']) . "-" . $pid . "/";
добавить:
            $pcode = 90000;
            $pcode += $pid;
            $updateproduct['product_code']=$pcode; //add  product_code
или так:
            $updateproduct['product_code']=(int)$_POST['product_info']['categoryID']."_".$pid; //add  product_codeбудет такой артикул: id категории_id товара
[/spoiler]
« Последнее редактирование: Января 05, 2013, 08:56:20 pm от nictboom »

Оффлайн yuriy4508

  • Спец
  • ***
  • Сообщений: 137
    • Просмотр профиля
Re: артикул
« Ответ #11 : Января 06, 2013, 08:49:03 am »
ну тогда нужно править catalog_product_edit.php.
[spoiler]
например после:
               $updateproduct['hurl'] = to_url($addproduct['name']) . "-" . $pid . "/";
добавить:
            $pcode = 90000;
            $pcode += $pid;
            $updateproduct['product_code']=$pcode; //add  product_code
или так:
            $updateproduct['product_code']=(int)$_POST['product_info']['categoryID']."_".$pid; //add  product_codeбудет такой артикул: id категории_id товара
[/spoiler]

То что надо.

Оффлайн yuriy4508

  • Спец
  • ***
  • Сообщений: 137
    • Просмотр профиля
Re: артикул
« Ответ #12 : Января 06, 2013, 10:44:40 am »
if (!trim($_POST["hurl"]))
                        {
           
                          $new_hurl=to_url($_POST["name"])."-".$pid."/";
                          $updateproduct['hurl']=$new_hurl;   
                           $pcode = 90000;
            $pcode += $pid;
            $updateproduct['product_code']=$pcode; //add  product_code
                        }

Вот как у меня, но срабатывает через раз почему-то