Ответить Новая тема Новый опрос 
Всего: 2 1 2 >
 Добавить поля в товар
IceCOOL
Cпециалист
Сообщений: 136
Регистрация: 15-10-2010


15-10-2010 10:55
Добрый день. Магазин на престе. Нужно добавить дополнительные поля к товару, а именно:

Цена в магазине А
Цена в магазине Б
Наличие товара в магазине а
Наличие товара в магазине Б

Данные поля имеют информационную направленность, и кроме как просто отображаться в товаре, ничего делать не должны. Эти поля забиваются импортом, либо в админке магазина. Подскажате как быть?! Пожалуйста, а то после Drupal как - то тяжко..
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009


15-10-2010 10:57
Можно как свойства сделать
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
IceCOOL
Cпециалист
Сообщений: 136
Регистрация: 15-10-2010


15-10-2010 12:55
Спасибо за ответ. Уважаемый ors, я так понимаю, свойства товара выводятся всей массой в характеристиках товара снизу. Возникает вопрос, а как тогда сделать так, чтобы свойства товара , а именно

цена а, наличие а
Цена б, наличие б

Выводились под ценой интернет магазина, а на вкладке с хар-ками отсутствовали )

О_о

Еще раз спасибо за Ваш ответ.
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009


15-10-2010 14:27
редактируйте product.tpl
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
IceCOOL
Cпециалист
Сообщений: 136
Регистрация: 15-10-2010


15-10-2010 14:50
Это понятно...Дак не совсем понятно, как разделить характеристки, они же идут кучей.... И все отображаются на вкладке хар-ки...
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
IceCOOL
Cпециалист
Сообщений: 136
Регистрация: 15-10-2010


15-10-2010 20:21
вроде разобрался, не через характеристики, а прописывая изменения в
admin/tabs/adminproducts
classes/product.php
/themes/yourtheme/products.tpl
/themes/yourtheme/products-list.tpl

кому интересно, могу рассказать!
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Fant63
Профессионал
Сообщений: 543
Откуда: Тольятти
Регистрация: 23-02-2010


16-10-2010 18:27
Я думаю многим это было бы полезно - пишите тут ))
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Doping
Новичок
Сообщений: 17
Регистрация: 14-10-2010


18-10-2010 05:29
IceCOOL

+1 тоже буду признателен за информацию, как добавить доп. поля.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
DNN


Новичок
Сообщений: 67
Откуда: Санкт-Петербург
Регистрация: 23-09-2010


18-10-2010 05:36
IceCOOL, расскажи пожалуйста;)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
IceCOOL
Cпециалист
Сообщений: 136
Регистрация: 15-10-2010


18-10-2010 09:43
Не вопрос, ребята!

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

В общем решение не заставило себя ждать/
файлы, которые будем менять
=======================
admin/tabs/adminproducts
classes/product.php
/themes/yourtheme/products.tpl
/themes/yourtheme/products-list.tpl
===========================

Откройте файл admin/tabs/adminproducts

Найдите строку 1684
Цитата:
<?php echo '


После этого вставьте
Цитата:
<tr>
  <td class="col-left">'.$this->l('Price_mira:').' </td>
  <td><input type="text" name="price_mira" value="'.(($from = $this->getFieldValue($obj, 'price_mira'))).'" />
    <p>'.$this->l('Price-mira').'</p>
  </td>
</tr>

<tr>
  <td class="col-left">'.$this->l('Price_prof:').' </td>
  <td><input type="text" name="price_prof" value="'.(($from = $this->getFieldValue($obj, 'price_prof'))).'" />
    <p>'.$this->l('Price-prof').'</p>
  </td>
</tr>

<tr>
  <td class="col-left">'.$this->l('Kol-Mira:').' </td>
  <td><input type="text" name="kol_mira" value="'.(($from = $this->getFieldValue($obj, 'kol_mira'))).'" />
    <p>'.$this->l('kol-mira').'</p>
  </td>
</tr>

<tr>
  <td class="col-left">'.$this->l('Kol-prof:').' </td>
  <td><input type="text" name="kol_prof" value="'.(($from = $this->getFieldValue($obj, 'Kol_prof'))).'" />
    <p>'.$this->l('Kol_prof').'</p>
  </td>
</tr>


Эт я 4 поля добавил.

Далее.

Открываем файл classes/product.php

Строка 18
Цитата:
class  Product extends ObjectModel


Вставляем наши поля
Цитата:
/** @var string price_mira */
public  $price_mira;
/** @var string price_prof */
public  $price_prof;
/** @var string kol_mira */
public  $kol_mira;
/** @var string kol_prof */
public  $kol_prof;


Ищем строку 167
Цитата:
protected $fieldsValidate = array(

и вставляем инфо о наших полях
Цитата:
'price_mira'=> 'isPrice','price_prof'=> 'isPrice','kol_mira'=> 'isFloat','kol_prof'=> 'isFloat',


идем на строку 231
Находим
Цитата:
public function getFields()
{
  parent::validateFields();
  if (isset($this->id))
  $fields['id_product'] = intval($this->id);


И вставляем туда
Цитата:
$fields['id_product'] = intval($this->id);
   
  $fields['price_mira'] = psql($this->price_mira);
    $fields['price_prof'] = psql($this->price_prof);
    $fields['kol_mira'] = psql($this->kol_mira);
      $fields['kol_prof'] = psql($this->kol_prof);


С этим файлом все.

открываем шаблон

Цитата:
/themes/yourtheme/products.tpl
/themes/yourtheme/products-list.tpl


И прописываем отображение полей, например
Цитата:
<p class="price-ecotax">{l s='include'} <span id="ecotax_price_display">{convertPrice price=$product->ecotax}</span> {l s='for green tax'}</p>
  {/if}
  <hr>
{if not $product->price_mira==0}Мира {$product->price_mira}  руб <br>{/if}
{if not $product->price_prof==0}Проф {$product->price_prof}  руб <br>{/if}
{if not $product->kol_mira==0}Мира {$product->kol_mira}  шт <br>{/if}
{if not $product->kol_prof==0}Проф {$product->kol_prof}  шт <br>{/if}
<hr>



Не забудьте добавить в таблицу ps_products соответствующие поля!!!




 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос 
Всего: 2 1 2 >