Редактирование дизайна компоненты Магазин-Товар

Статус
В этой теме нельзя размещать новые ответы.

vilyaban

Постоялец
Регистрация
8 Май 2008
Сообщения
111
Реакции
2
Возможно ли вписать код компоненты Магазин:Товар в свою таблицу?

Как ни пытался - все время выдает ошибки.
Если удалить в исходном коде все элементы таблицы -магазин работает.
Но если добавить свою таблицу и туда вписывать код - сразу ошибка. :nezn:
 
Возможно ли вписать код компоненты Магазин:Товар в свою таблицу?

Как ни пытался - все время выдает ошибки.
Если удалить в исходном коде все элементы таблицы -магазин работает.
Но если добавить свою таблицу и туда вписывать код - сразу ошибка. :nezn:
Какая ошибка?
Таблица - это тег table или таблица MySql?
Короче, уточни вопрос.
 
Какая ошибка?
Таблица - это тег table или таблица MySql?
Короче, уточни вопрос.

Таблица - table. Короче, нужно разместить элементы товара (картинка, название, описание, кнопку заказа ...) по разным ячейкам таблицы. А таблица должна быть с заголовками столбцов.

В стандартном варианте - сверху вниз - картинка, описание...

Наименование, описание, и т.д. - в таблицу вписываются, а вот как разместить изображение в первом столбце, а кнопку "В корзину" - в последнем?

Добавлено через 31 минуту
Еще раз все перепробовал, получается вот что:

- Добавляю код table в компонент "Магазин.Товар" - в поле "Объект в списке" после "$f_AdminButtons".

Вписываю поля $f_Name, $f_Description ... в таблицу - все работает.

Остается вписать f_Image и кнопку "В корзину".

Добавлено через 58 минут
В поле "Объект в списке" после надписи
# КОНЕЦ ВЫВОДА СПИСКА ВАРИАНТОВ ТОВАРА В РЕЖИМЕ АДМИНИСТРИРОВАНИЯ
идет код картинки и кнопки
 
С картинкой вопрос решился:
- вставил в нужную ячейку этот код
PHP:
".opt($f_Image, "<img src='$f_Image_url' border='0'>")."
. Старый - удалил.

Остался вопрос с кнопкой "В корзину". Вот ее код:
PHP:
# Кнопка "Добавить в корзину" (не показывается в режиме администрирования или если есть варианты товара)
if(!$admin_mode && !listQuery("SELECT COUNT(*) as n FROM Message$classID WHERE Parent_Message_ID=$f_RowID AND Checked=1", '$data[n]')) {
  $result .= "
<form method='post' action='/cms/modules/shop/post.php' style='margin:0px;'>
  <input type='hidden' name='redirect_url' value='$GLOBALS[uri_path]'>
  <input type='hidden' name='cart_mode' value='add'>
  <input type='hidden' name='cart[$classID][$f_RowID]' value='1'> 
  <input type='submit' value='в корзину'>
</form>";
}

else if(!$admin_mode) {
   # у товара есть варианты
   $result .= "<a href='$fullLink'><b>Подробнее...</b></a>";
}
Проблема в том, что здесь делается выбор, есть ли у товара варианты или нет. В зависимости от этого, выводится форма с кнопкой "В корзину" или ссылка "Подробнее". Если бы вариантов товара не было, можно было бы просто перенести форму в нужную ячейку.
Но так как у товара есть варианты - нужно переносить весь код, а это не получается.
Изменения, скорее всего, надо внести здесь:
PHP:
if(!$admin_mode && !listQuery("SELECT COUNT(*) as n FROM Message$classID WHERE Parent_Message_ID=$f_RowID AND Checked=1", '$data[n]'))
 
market.jpg


Вот результат моих переделок. Только вопрос с кнопкой "В корзину" все еще висит. :bc:
 
Проблема в том, что здесь делается выбор, есть ли у товара варианты или нет. В зависимости от этого, выводится форма с кнопкой "В корзину" или ссылка "Подробнее". Если бы вариантов товара не было, можно было бы просто перенести форму в нужную ячейку.
Но так как у товара есть варианты - нужно переносить весь код, а это не получается.
Изменения, скорее всего, надо внести здесь:
PHP:
if(!$admin_mode && !listQuery("SELECT COUNT(*) as n FROM Message$classID WHERE Parent_Message_ID=$f_RowID AND Checked=1", '$data[n]'))
Что то я не понял сути проблемы, (admin_mode && !listQuery) это идет проверка режима админестратирование и запрос в базу.
Проще что бы не парится выкладываю компонент где есть дочерние товары с кнопками и т.п
думаю с помощью него разберетесь.
Объект в списке
PHP:
$f_AdminButtons
 
<table cellpadding=0 cellspacing=0 border=0 class=c_new align=left><tr><td valign=top>
<table border=0 cellpadding=0 cellspacing=0 class=c_main align=left>
<tr><td class=c_verx>
<a class=c_link_01 href='$fullLink'>".opt($f_prtualetn, "$f_prtualetn")." ".opt($f_protivparaz, "$f_protivparaz")." ".opt_case($f_toys, "$f_toys", "$f_Vendor")." </a>
</td></tr>
<tr><td class=cat_td_img colspan=2>
".opt_case($f_SmallImg1, "<a href='$fullLink'><img src=$f_SmallImg1 border=0 class=cat_img></a>","<img src=/images1/nofoto.jpg border=0 class=cat_img>")."
<br><div class=c_op><a class=c_opis href='$fullLink'>$f_Name</a></div>
</td></tr>
<tr><td class=c_kolbaska>
<table cellpadding=0 cellspacing=0 border=0 class=c_cena align=center>
<tr><td class=c_korz>
<form method=post action=\"/netcat/modules/netshop/post.php\" style=\"margin:0\">
<input type='hidden' name='redirect_url' value='$GLOBALS[uri_path]'>
      <input type='hidden' name='cart_mode' value='add'>
      <input type='hidden' name='cart[$classID][$f_RowID]' value='1'> 
<input type=image src=/images1/korzinka.jpg alt='В корзину'>
      </form>
 
</td>
<td class=c_sto>".$shop->FormatCurrency($Price, $Currency,  true, "")."</td>
<td class=c_ves>" .opt_case($f_Ves, "<b>$f_Ves</b> кг", "
" .opt_case($f_Ves_GR, "<b>$f_Ves_GR</b> гр", "<b>1</b> шт"). "
"). "</td>
</tr></table>
</td></tr>
";
 
  $this_item_variants = listQuery("SELECT * FROM Message$classID WHERE Parent_Message_ID=$f_RowID ORDER BY Priority DESC",
'
<tr><td class=c_kolbaska>
<table cellpadding=0 cellspacing=0 border=0 class=c_cena align=center>
<tr><td class=c_korz>
<form method=post action=\"/netcat/modules/netshop/post.php\" style=\"margin:0\">
          <input type=hidden name=redirect_url value=\"$GLOBALS[uri_path]\">
          <input type=hidden name=cart_mode value=add>
          <input type=hidden name=\"cart[{$GLOBALS[classID]}][{$data[Message_ID]}]\" value=1> 
<input type=image src=/images1/korzinka.jpg alt=\"В корзину\">
</form>
</td>
<td class=c_sto>   ".($data[$GLOBALS["shop"]->PriceColumn] 
          ? $GLOBALS["shop"]->FormatCurrency($data[$GLOBALS["shop"]->PriceColumn], $data[$GLOBALS["shop"]->CurrencyColumn])
          : "цена не указана")."</td>
<td class=c_ves>" .opt_case($data[Ves], "<b>$data[Ves]</b> кг", "" .opt_case($data[Ves_GR], "<b>$data[Ves_GR]</b> гр", "<b>1</b> шт"). ""). "
 
    </td>
</tr></table>
</td></tr>');
  if($this_item_variants) {
    $result .= "
    $this_item_variants
    ";
  }
 
$result .= opt($f_Image, "")."";
# Кнопка "Добавить в корзину" (не показывается в режиме администрирования или если есть варианты товара)
if(!$admin_mode && !listQuery("SELECT COUNT(*) as n FROM Message$classID WHERE Parent_Message_ID=$f_RowID AND Checked=1", '$data[n]')) {
  $result .= "
";
}
else if(!$admin_mode) {
   # у товара есть варианты
   $result .= "";
}
$result .= "<tr><td><img src=/images1/niz.jpg></td></tr>
</td></tr></table>
</td></tr></table>

Пример использование: dogsmart.ru
 
Что то я не понял сути проблемы

Нужно, чтобы в "Объекте в списке" отображались все варианты товара (цвета), как в "Отображении объекта" с кнопкой "В корзину" для каждого цвета.

Добавлено через 15 минут
То, что нужно, спасибо. :thenks:
 
Опять не понял сути, может будете развернуто спрашивать )))
Нужно что бы было 2 столбца ?
 
command26, отредактируй шаблон вывода, у тебя есть префикс списка объектов, суфис списка объктов и объкт в списке, плюс есть функция проверки на четность(проверять номер объекта).. что б это сделать достаточно знать немного HTML и совсем чуток PHP.. делать это за тебя врядли кто то будет =) дерзай =)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху