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

Тема в разделе "NetCat", создана пользователем vilyaban, 28 авг 2008.

Статус темы:
Закрыта.
  1. vilyaban

    vilyaban Постоялец

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

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

    Muerto Писатель

    Регистр.:
    5 окт 2006
    Сообщения:
    156
    Симпатии:
    37
    Какая ошибка?
    Таблица - это тег table или таблица MySql?
    Короче, уточни вопрос.
     
  3. vilyaban

    vilyaban Постоялец

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

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

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

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

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

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

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

    Добавлено через 58 минут
    В поле "Объект в списке" после надписи
    идет код картинки и кнопки
     
  4. vilyaban

    vilyaban Постоялец

    Регистр.:
    8 май 2008
    Сообщения:
    111
    Симпатии:
    1
    С картинкой вопрос решился:
    - вставил в нужную ячейку этот код
    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]')) 
     
  5. vilyaban

    vilyaban Постоялец

    Регистр.:
    8 май 2008
    Сообщения:
    111
    Симпатии:
    1
    [​IMG]

    Вот результат моих переделок. Только вопрос с кнопкой "В корзину" все еще висит. :bc:
     
  6. Kosand

    Kosand Создатель

    Регистр.:
    29 сен 2006
    Сообщения:
    11
    Симпатии:
    0
  7. untwist

    untwist Постоялец

    Регистр.:
    30 сен 2006
    Сообщения:
    121
    Симпатии:
    35
    Что то я не понял сути проблемы, (admin_mode && !listQuery) это идет проверка режима админестратирование и запрос в базу.
    Проще что бы не парится выкладываю компонент где есть дочерние товары с кнопками и т.п
    думаю с помощью него разберетесь.
    Объект в списке
    PHP:
    $f_AdminButtons
     
    <table cellpadding=0 cellspacing=0 border=class=c_new align=left><tr><td valign=top>
    <
    table border=0 cellpadding=0 cellspacing=class=c_main align=left>
    <
    tr><td class=c_verx>
    <
    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=class=cat_img></a>","<img src=/images1/nofoto.jpg border=class=cat_img>")."
    <br><div class=c_op><class=c_opis href='$fullLink'>$f_Name</a></div>
    </
    td></tr>
    <
    tr><td class=c_kolbaska>
    <
    table cellpadding=0 cellspacing=0 border=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
     
    vilyaban нравится это.
  8. vilyaban

    vilyaban Постоялец

    Регистр.:
    8 май 2008
    Сообщения:
    111
    Симпатии:
    1
    Нужно, чтобы в "Объекте в списке" отображались все варианты товара (цвета), как в "Отображении объекта" с кнопкой "В корзину" для каждого цвета.

    Добавлено через 15 минут
    То, что нужно, спасибо. :thenks:
     
  9. untwist

    untwist Постоялец

    Регистр.:
    30 сен 2006
    Сообщения:
    121
    Симпатии:
    35
    Опять не понял сути, может будете развернуто спрашивать )))
    Нужно что бы было 2 столбца ?
     
  10. fuck0ff

    fuck0ff Постоялец

    Регистр.:
    2 сен 2007
    Сообщения:
    92
    Симпатии:
    50
    command26, отредактируй шаблон вывода, у тебя есть префикс списка объектов, суфис списка объктов и объкт в списке, плюс есть функция проверки на четность(проверять номер объекта).. что б это сделать достаточно знать немного HTML и совсем чуток PHP.. делать это за тебя врядли кто то будет =) дерзай =)
     
Статус темы:
Закрыта.