0 Пользователей и 1 Гость просматривают эту тему.
  • 81 Ответов
  • 26080 Просмотров
*

Bowa

  • Захожу иногда
  • 363
  • 5 / 0
Проблема такая: Не рублю в коде совершенно! Из кнопки "добавить в карзину" хочу убрать окошко количество и стрелки больше - меньше. Сам код вот:
Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 
mm_showMyFileName(__FILE__);
/** This template is used for the quantity box arrangement of products, within the add-to-cart form */

extract( $quantity_options );

$html = '';
if(!$child && $display_type != 'hide') {
    $html = '<label for="quantity'.$prod_id.'" class="quantity_box">'.$VM_LANG->_('PHPSHOP_CART_QUANTITY').':&nbsp;</label>';
}
switch($display_type) {
    case "radio" : //Radio Box
        $html .= '<input type="hidden" id="quantity'.$prod_id.'" name="quantity[]" value="'.$quantity.'" />';
        $html .= '<input type="radio" class="quantitycheckbox" id="selItem'.$prod_id.'" name="selItem" value="0" ';
        if ($quantity > 0 ) {
            $html .= 'checked="checked" ';
        }
        $html .= 'onclick="alterQuantity(this.form)" />';
        break;
    case "hide" : // Hide box - but set quantity to 1!
        $html .= '<input type="hidden" id="quantity'.$prod_id.'" name="quantity[]" value="1" />';
        break;
    case "check" :
        $html .= '<input type="hidden" id="quantity'.$prod_id.'" name="quantity[]" value="'.$quantity.'" style="vertical-align: middle;"/>
        <input type="checkbox" class="quantitycheckbox" id ="selItem'.$id.'" name="check[]" ';
        if ($quantity > 0 ) {
            $html .= 'checked="checked"';
        }
        $html .= ' value="1" onclick="javascript: if(this.checked==true) document.getElementById(\'quantity'.$prod_id.'\').value = 1; else {document.getElementById(\'quantity'.$prod_id.'\').value=0;} "/> ';
        break;
    case "drop" :
        $code = '<select class="inputboxquantity" id="quantity'.$prod_id.'" name="quantity[]">';
        for($i=$quantity_start;$i<$quantity_end+1;$i += $quantity_step) {
            $code .= '  <option value="'.$i.'"';
            if ($i == $quantity) {
                $code .= ' selected="selected"';
            }
            $code .= '>'.$i."</option>\n";
        }
        $code .= "</select>\n";
        $html .= $code;
        break;
    case "none" :
    default:
        $html .= '<input type="text" class="inputboxquantity" size="4" id="quantity'.$prod_id.'" name="quantity[]" value="'.$quantity.'" />
        <input type="button" class="quantity_box_button quantity_box_button_up" onclick="var qty_el = document.getElementById(\'quantity'.$prod_id.'\'); var qty = qty_el.value; if( !isNaN( qty )) qty_el.value++;return false;" />
        <input type="button" class="quantity_box_button quantity_box_button_down" onclick="var qty_el = document.getElementById(\'quantity'.$prod_id.'\'); var qty = qty_el.value; if( !isNaN( qty ) &amp;&amp; qty > 0 ) qty_el.value--;return false;" />
        ';
        break;
}
echo $html;
?>

Может кто понимает? и подскажет что тут удалить? Большое спасибо!
*

Usury

  • Новичок
  • 7
  • 1 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #1 : 07.10.2010, 18:22:20 »
В файле product_detail/includes/addtocart_form.tpl.php
Код
    /*if ($children == "drop") { 
        echo $ps_product_attribute->show_quantity_box($product_id,$product_id);
    }
    if ($children == "radio") {
        echo $ps_product_attribute->show_radio_quantity_box();
    }*/

В файле browse/includes/addtocart_form.tpl.php
Код
 <?php /*echo $ps_product_attribute->show_quantity_box($product_id,$product_id); ?><br /><?php */?>

Эффект достигнут,  аспирин лежит в аптечке))
*

Bowa

  • Захожу иногда
  • 363
  • 5 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #2 : 07.10.2010, 18:37:20 »
Просто ГИГАНТСКОЕ СПАСИБО! +
*

Bowa

  • Захожу иногда
  • 363
  • 5 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #3 : 07.10.2010, 19:25:53 »
Не большой баг  :(

Все что требовалось пропало но при нажатии на кнопку товар не добовляется в корзину....

Хелп пожалуйста....
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: Изменение види кнопка ADDTOCART
« Ответ #4 : 07.10.2010, 19:42:58 »
Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); 
mm_showMyFileName(__FILE__);
/** This template is used for the quantity box arrangement of products, within the add-to-cart form */

extract( $quantity_options );

$html = '';
if(!$child && $display_type != 'hide') {
    $html = '<label for="quantity'.$prod_id.'" class="quantity_box">'.$VM_LANG->_('PHPSHOP_CART_QUANTITY').':&nbsp;</label>';
}
switch($display_type) {
    case "radio" : //Radio Box
        $html .= '<input type="hidden" id="quantity'.$prod_id.'" name="quantity[]" value="'.$quantity.'" />';
        $html .= '<input type="radio" class="quantitycheckbox" id="selItem'.$prod_id.'" name="selItem" value="0" ';
        if ($quantity > 0 ) {
            $html .= 'checked="checked" ';
        }
        $html .= 'onclick="alterQuantity(this.form)" />';
        break;
    case "hide" : // Hide box - but set quantity to 1!
        $html .= '<input type="hidden" id="quantity'.$prod_id.'" name="quantity[]" value="1" />';
        break;
    case "check" :
        $html .= '<input type="hidden" id="quantity'.$prod_id.'" name="quantity[]" value="'.$quantity.'" style="vertical-align: middle;"/>
        <input type="checkbox" class="quantitycheckbox" id ="selItem'.$id.'" name="check[]" ';
        if ($quantity > 0 ) {
            $html .= 'checked="checked"';
        }
        $html .= ' value="1" onclick="javascript: if(this.checked==true) document.getElementById(\'quantity'.$prod_id.'\').value = 1; else {document.getElementById(\'quantity'.$prod_id.'\').value=0;} "/> ';
        break;
    case "drop" :
        $code = '<select class="inputboxquantity" id="quantity'.$prod_id.'" name="quantity[]">';
        for($i=$quantity_start;$i<$quantity_end+1;$i += $quantity_step) {
            $code .= '  <option value="'.$i.'"';
            if ($i == $quantity) {
                $code .= ' selected="selected"';
            }
            $code .= '>'.$i."</option>\n";
        }
        $code .= "</select>\n";
        $html .= $code;
        break;
    case "none" :
    default:
        $html .= '<input type="text" class="inputboxquantity" size="4" id="quantity'.$prod_id.'" name="quantity[]" value="'.$quantity.'" />
        <input type="button" class="quantity_box_button quantity_box_button_up" onclick="var qty_el = document.getElementById(\'quantity'.$prod_id.'\'); var qty = qty_el.value; if( !isNaN( qty )) qty_el.value++;return false;" />
        <input type="button" class="quantity_box_button quantity_box_button_down" onclick="var qty_el = document.getElementById(\'quantity'.$prod_id.'\'); var qty = qty_el.value; if( !isNaN( qty ) &amp;&amp; qty > 0 ) qty_el.value--;return false;" />
        ';
        break;
}
echo $html;
?>
верните все обратно, а просто после extract( $quantity_options ); вставьте:
$display_type = 'hide';
*

Usury

  • Новичок
  • 7
  • 1 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #5 : 07.10.2010, 20:10:06 »
i-com Красивое решение!
*

Bowa

  • Захожу иногда
  • 363
  • 5 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #6 : 07.10.2010, 23:46:27 »
Огромное спасибо еще раз! Все работает на 100%!
*

osipov85

  • Новичок
  • 6
  • 0 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #7 : 27.10.2010, 15:25:06 »
а как форму количество расположить слева от кнопки купить, а то у меня она сверху над кнопкой купить?
*

s081081

  • Захожу иногда
  • 111
  • 0 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #8 : 30.10.2010, 21:25:01 »
А в каком файлике можно убрать стрелки больше меньше, и отредактировать ширину поля ввода цифр 8)
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
Re: Изменение види кнопка ADDTOCART
« Ответ #9 : 19.11.2010, 08:37:34 »
а как добавить туда функцию просто добавить товар в корзину беез перехода
*

adjuster

  • Давно я тут
  • 786
  • 55 / 2
Re: Изменение види кнопка ADDTOCART
« Ответ #10 : 27.11.2010, 21:38:54 »
а как добавить туда функцию просто добавить товар в корзину беез перехода
Нужно в настройках магазина:
Настройки - закладка Сайт - Выберите шаблон для магазина - Настройки
здесь поставить YES в возможности Use AJAX to add, update or delete products from the cart?
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #11 : 06.01.2011, 23:44:02 »
да дествительно интерестное регение с этой иногда ненужной вещью...
Правда я не забивал особо голову и прописал в шаблоне
Код
<div style="display:none;"></div>
...
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #12 : 17.03.2011, 17:25:15 »
А я вот такую кнопку купить сделал: www.teremochek.com - пришлось маленько подковырять browse, flypage, shop.browse.php и еще по мелочи ;). CSS разумеется ;). Если интересно - пишите - отчитаюсь как делать ;)
*

xzet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #13 : 26.03.2011, 01:04:21 »
очень понравился ваш вариант кнопки ,не могли бы описать что и как делать,уже 4 дня мучаюсь над изменением вида формы добавления в корзину. буду очень признателен
*

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #14 : 26.03.2011, 22:16:34 »
Вот завтра днем и опишу ;)
*

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #15 : 27.03.2011, 11:49:28 »
Ну внешность кнопки описывается в CSS (само-собой), приведу мой фрагмент описания стилей:
Код
.jv-cart-price {
margin: 10px 0 0 0;
padding: 0 0 0 5px;
height: 28px;
display: block;
overflow: hidden;
background: #5594b3 url(../images/bg-card-price.png) no-repeat 0 -28px;
}
.jv-cart-price-inner {
height: 28px;
overflow: hidden;
background: url(../images/bg-card-price.png) no-repeat 100% 0;
}
.jv-cart {
float: left;
}
.jv-price {
padding: 0 5px 0 0;
float: right;
height: 28px;
background: url(../images/bg-card-price.png) no-repeat 100% -84px;
}
.jv-price-inner {
padding: 0 0 0 5px;
float: right;
height: 28px;
line-height: 28px;
background: url(../images/bg-card-price.png) no-repeat 0 -56px;
}
Эти стили с небольшой доработкой я подсмотрел на одном сайте ;)
Далее они используются следующим образом в файле components/com_virtuemart/themes/default/templates/browse/includes/addtocart_form.tpl.php:
Код
<div class="jv-cart-price"><div class="jv-cart-price-inner">

<div class="jv-cart">
<form action="<?php echo  $mm_action_url ?>index.php" method="post"  name="addtocart" id="addtocart<?php echo $i ?>" <?php if( $this->get_cfg( 'useAjaxCartActions', 1 ) && !$notify ) { echo 'onsubmit="handleAddToCart( this.id );return false;"'; } ?>>
    <input type="hidden" name="option" value="com_virtuemart" />
    <input type="hidden" name="page" value="shop.cart" />
    <input type="hidden" name="Itemid" value="<?php echo ps_session::getShopItemid(); ?>" />
    <input type="hidden" name="func" value="cartAdd" />
    <input type="hidden" name="prod_id" value="<?php echo $product_id; ?>" />
    <input type="hidden" name="product_id" value="<?php echo $product_id ?>" />
    <input type="hidden" name="quantity" value="1" />
    <input type="hidden" name="set_price[]" value="" />
    <input type="hidden" name="adjust_price[]" value="" />
    <input type="hidden" name="master_product[]" value="" />
    <input type="submit" class="addtocart_button_snapshot" value="<?php echo $VM_LANG->_('PHPSHOP_CART_ADD_TO')?>" title="<?php echo $VM_LANG->_('PHPSHOP_CART_ADD_TO')?>" />
    </form>
</div>

<div class="jv-price">
<div class="jv-price-inner">
<?php
echo $product_price;
?>
</div>
</div>

</div>
</div>
аналогично и в таком же файле, но в папке product_details/includes.
Теперь для вывода цены нужно прописать переменную $product_price в список передаваемых в шаблоны. Делаем это в файле administrator/components/com_virtuemart/html/shop.browse.php, у меня это с 421 строки:
Код
			$tpl->set( 'i', $i );
$tpl->set( 'product_id', $db_browse->f('product_id') );
$tpl->set( 'product_in_stock', $db_browse->f('product_in_stock') );
$tpl->set( 'ps_product_attribute', $ps_product_attribute );
[color=red]//--- Добавим переменную product_price -----------------------------
$tpl->set( 'product_price', $product_price );
//--------------------------------------------------------------------
[/color] $products[$i]['form_addtocart'] = $tpl->fetch( 'browse/includes/addtocart_form.tpl.php' );
$products[$i]['has_addtocart'] = true;
Вот и получили кнопочку как здесь www.teremochek.com
Картинки к CSS предлагать или свои нарисуете?
*

xzet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #16 : 27.03.2011, 12:25:21 »
огромнейшее спасибо вам!
конечно с картинками и ксс сами справимся)
как только смогу заплюсую по полной))


« Последнее редактирование: 27.03.2011, 12:28:24 от xzet »
*

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #17 : 27.03.2011, 12:32:48 »
Ну и чудненько ;).
*

xzet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #18 : 27.03.2011, 12:36:27 »
и еще 1 вопрос.
какая часть файла addtocart_form.tpl.php отвечает за вывод атрибутов(т.е размер цвет и т.д). не как не могу понять
*

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #19 : 27.03.2011, 12:52:10 »
Этот файл отвечает только за вывод корзины. Атрибуты выводятся в шаблоне flypage.tpl.php - переменная $product_type. В стандартном шаблоне это выглядит так:
Код
 <td colspan="3"><?php echo $product_type ?></td>
*

xzet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #20 : 27.03.2011, 15:37:34 »
было бы так просто я бы давно уже нашёл)

$product_type отсутствует в flypage.tpl.php и при этом размер можно выбрать  выводиться вот так

ума не приложу как разъединить корзину и атрибуты :(
« Последнее редактирование: 27.03.2011, 15:41:01 от xzet »
*

Marakaya

  • Захожу иногда
  • 59
  • 1 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #21 : 27.03.2011, 22:18:27 »
Скажите пожалуйста, как сделать вот такой вариант.
 

Из вот такого.


Конечно же на русском языке что бы всё было)
*

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #22 : 27.03.2011, 22:30:25 »
было бы так просто я бы давно уже нашёл)

$product_type отсутствует в flypage.tpl.php и при этом размер можно выбрать  выводиться вот так

ума не приложу как разъединить корзину и атрибуты :(
Шлите файлы: flypage, addtocart_form из папок browse и flypage, theme.css
*

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #23 : 27.03.2011, 22:42:00 »
Скажите пожалуйста, как сделать вот такой вариант.
 
Из вот такого.



Конечно же на русском языке что бы всё было)
Ну честное слово это несложно, нужно немного знать CSS и подредактировать файл theme.css и возможно templates/product_details/includes/addtocart_form.tpl.php - там задается внешний вид кнопки "купить".
Поменять порядок отображения кнопки "купить" и кнопки "задать вопрос по товару" можно в файле templates/product_details/flypage.tpl.php или тот шаблон, который выбран у вас для отображения категории. Просто поставьте вывод:
Код
<tr>
  <td colspan="2"><?php echo $ask_seller ?></td>
</tr>
выше
Код
	<tr>
<td colspan="2">
<div class="browse_addtocart">
<br /><?php echo $addtocart ?>
</div>
</td>
</tr>
*

xzet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #24 : 28.03.2011, 00:10:18 »
Шлите файлы: flypage, addtocart_form из папок browse и flypage, theme.css

файлы

*

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #25 : 28.03.2011, 12:00:20 »
Ну похоже, что картинка-то, имеющаяся не соответствует присланным файлам. Ссылочку киньте на сайтик ;)
*

xzet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #26 : 28.03.2011, 15:20:22 »
все соответствует ) вот сами посмотрите) http://get-naked.ru
*

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #27 : 28.03.2011, 16:56:40 »
все соответствует ) вот сами посмотрите) http://get-naked.ru
Сорри... Это я с другим перепутал ;)
Итак: правим addtocart_form.tpl.php. Переносим </div> с 39 на 38 строку, получается:
Код
    </div>
    <input type="submit" class="<?php echo $button_cls ?>" value="<?php //echo $button_lbl ?>" title="<?php echo $button_lbl ?>" />
на выходе получите кнопку отвязанную от поля количество и кнопок Up, Down. Далее, если есть желание ее засунуть еще куда, то код:
Код
    <input type="hidden" name="flypage" value="shop.<?php echo $flypage ?>" />
<input type="hidden" name="page" value="shop.cart" />
    <input type="hidden" name="manufacturer_id" value="<?php echo $manufacturer_id ?>" />
    <input type="hidden" name="category_id" value="<?php echo $category_id ?>" />
    <input type="hidden" name="func" value="cartAdd" />
    <input type="hidden" name="option" value="<?php echo $option ?>" />
    <input type="hidden" name="Itemid" value="<?php echo $Itemid ?>" />
    <input type="hidden" name="set_price[]" value="" />
    <input type="hidden" name="adjust_price[]" value="" />
    <input type="hidden" name="master_product[]" value="" />
Заключаете в контейнер <div> с нужным классом и уже в этом классе описываете где и как вам хотелось бы видеть собственно кнопку. Именно так я и делал - посмотрите выше мой код в посте #15.
*

Marakaya

  • Захожу иногда
  • 59
  • 1 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #28 : 28.03.2011, 22:45:24 »


Народ, помогите пожалуйста. Подскажите где конкретно редактировать кнопку купить, которая над задать вопрос. Всё уже облазил в theme.css. Ещё нужно сделать маааленький отступ от увеличения/уменьшения количества товаров, не впритык чтобы было. Кнопку купить нужно сделать такую же, как я показывал в посте выше.

Нужно сделать такой же вариант, как я постил выше.
*

Gremlin

  • Захожу иногда
  • 293
  • 11 / 0
Re: Изменение види кнопка ADDTOCART
« Ответ #29 : 28.03.2011, 23:39:46 »
В файле addtocart_form.tpl.php есть строчка:
Код
 <input type="submit" class="<?php echo $button_cls ?>" value="<?php //echo $button_lbl ?>" title="<?php echo $button_lbl ?>" />
которая и выводит кнопку. Внешний вид определяется в CSS theme.css, конкретный class следует указать вместо
Код
 class="<?php echo $button_cls ?>
, ну например
Код
class="myAddtocart_button"
и уже его описание внести в theme.css. В этом классе описать фон, размеры, отступы, шрифт и т.д. - все, что хотите. Именно это я и описывал, когда показывал свою кнопку.
Ну вроде все...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Кнопка "добавить в корзину" в категориях

Автор CloudStr

Ответов: 0
Просмотров: 1638
Последний ответ 08.12.2013, 19:04:17
от CloudStr
Изменение стиля отражения сопутствующих товаров

Автор GROT

Ответов: 2
Просмотров: 1131
Последний ответ 20.09.2013, 21:19:46
от fsv
Изменение назначения поля формы "Задайте вопрос по этому товару"

Автор Boroda4

Ответов: 10
Просмотров: 2203
Последний ответ 05.03.2013, 13:18:01
от fsv
Изменение сколлбара в browse_2

Автор katjuha6

Ответов: 4
Просмотров: 1449
Последний ответ 13.02.2013, 02:30:53
от katjuha6
Кнопка "Добавить в корзину" в категориях товаров VirtueMart 1.1.3

Автор Samcat

Ответов: 14
Просмотров: 20020
Последний ответ 21.11.2012, 13:52:33
от kent_193