Новости Joomla

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

MAUS

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Здравствуйте. Нужна помощь.
Есть Joomla и VirtueMart . Был сделан калькулятор считающий по нужной формуле. Результат выводится в поле . Но при нажатии на кнопку купить естественно в корзину идет цена товара до калькуляции. Калькулятор находится в файле addtocart_form.tpl.php .
Вот код :
Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>

<div class="vmCartContainer">
   
<?php
mm_showMyFileName(__FILE__);
// This function lists all product children ( = Items)
// or, when not children are defined, the product_id
// SO LEAVE THIS IN HERE!
list($html,$children) = $ps_product_attribute->list_attribute( ( $product_parent_id > 0 )  ? $product_parent_id : $product_id );

    $price_inf = ps_product :: get_field( $product_id, "price");
    $price_base = $price_inf["product_price"];
    $discount_inf = ps_product :: get_discount( $product_id );
    $price_discount = (!$discount_inf["is_percent"])?$discount_inf["amount"]:
    $price_base * $discount_inf["amount"];
    $real_price = $price_base - $price_discount;
    $product_inf = ps_product :: get_field( $product_id, "product_packaging");
    $productS = $product_inf["product_packaging"];


if ($children != "multi") {

    if( CHECK_STOCK == '1' && !$product_in_stock ) {
         $notify = true;
    } else {
        $notify = false;
    }

?>
    <form action="<?php echo $mm_action_url ?>index.php" method="post" name="addtocart" id="<?php echo uniqid('addtocart_')?>" class="addtocart_form" <?php if( $this->get_cfg( 'useAjaxCartActions', 1 ) && !$notify ) { echo 'onsubmit="handleAddToCart( this.id );return false;"'; } ?>>

<?php
}
echo $html;

if (USE_AS_CATALOGUE != '1' && $product_price != "" && !stristr( $product_price, $VM_LANG->_('PHPSHOP_PRODUCT_CALL') )) {
    ?>
        <?php if ($children != "multi") { ?>
    <div style="float: right;vertical-align: middle;"> <?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();
    }
    $button_lbl = $VM_LANG->_('PHPSHOP_CART_ADD_TO');
    $button_cls = 'addtocart_button1';
    if( CHECK_STOCK == '1' && !$product_in_stock ) {
         $button_lbl = $VM_LANG->_('VM_CART_NOTIFY');
         $button_cls = 'notify_button';
    }
    ?>
[b][i]<script type="text/javascript">
    function calculate(){
    var eId=<? echo $product_id ?>;
    var prodConfiguration,prodStacking,prodCount;
    var resultValue;
    var mInPack = <? echo $productS;?>;
    var price = <? echo $real_price;?> / mInPack;

    prodCount = new Number( document.getElementById('quantity'+eId).value);
   
    switch(document.getElementById('prodConfiguration'+eId).value)
    {
        case "unknown":prodConfiguration=-1;break;
        case "rectangle":prodConfiguration=0;break;
        case "square":prodConfiguration=0;break;
        case "trapezium":prodConfiguration=0.02;break;
        case "polygon":prodConfiguration=0.05;break;
        case "semicircle":prodConfiguration=0.05;break;
        case "bow":prodConfiguration=0.05;break;
        default: prodConfiguration=-1;break;
    }
   
    switch(document.getElementById('prodStacking'+eId).value)
    {
        case "unknown":prodStacking=-1;break;
        case "straight":prodStacking=0.05;break;
        case "diagonal":prodStacking=0.1;break;
        default: prodStacking=-1;break;
    }
   
    if((prodConfiguration == -1)||(prodStacking == -1) || (prodCount < 1))
        {
           
            resultValue = "<?php echo $VM_LANG->_('PHPSHOP_CART_STACKING_CALC1')?>";
        }
    else
        {   
           
            var P,G;
            P=Math.ceil((prodCount + prodCount*prodConfiguration + prodCount*prodStacking) / mInPack);
            G = ((P * mInPack)*(price));
            resultValue = G;
        }
        document.getElementById('totalValue').value=resultValue;
       
    }
    </script>
    <br/>
    <div style="vertical-align: middle;">
    <label for='<? echo("prodConfiguration$product_id")?>' class="quantity_box"><?php echo $VM_LANG->_('PHPSHOP_CART_CONFIG_NAME')?>:&nbsp;</label><select id='<? echo("prodConfiguration$product_id")?>' name='prodConfiguration' >
    <option value="unknown"><?php echo $VM_LANG->_('PHPSHOP_CART_CONFIG_TO1')?></option>
    <option value="rectangle"><?php echo $VM_LANG->_('PHPSHOP_CART_CONFIG_TO2')?></option>
    <option value="square"><?php echo $VM_LANG->_('PHPSHOP_CART_CONFIG_TO3')?></option>
    <option value="trapezium"><?php echo $VM_LANG->_('PHPSHOP_CART_CONFIG_TO4')?></option>
    <option value="polygon"><?php echo $VM_LANG->_('PHPSHOP_CART_CONFIG_TO5')?></option>
    <option value="semicircle"><?php echo $VM_LANG->_('PHPSHOP_CART_CONFIG_TO6')?></option>
    <option value="bow"><?php echo $VM_LANG->_('PHPSHOP_CART_CONFIG_TO7')?></option>
    </select>
    </div>
   
    <br />
      <label style="padding-left:122px;" for='<? echo("prodStacking$product_id")?>' class="quantity_box"><?php echo $VM_LANG->_('PHPSHOP_CART_STACKING_NAME')?>:&nbsp;</label>
    <select name="prodStacking" id='<? echo("prodStacking$product_id")?>' class="medium">
    <option value="unknown"><?php echo $VM_LANG->_('PHPSHOP_CART_CONFIG_TO1')?></option>
    <option value="straight"><?php echo $VM_LANG->_('PHPSHOP_CART_STACKING_TO1')?></option>
    <option value="diagonal"><?php echo $VM_LANG->_('PHPSHOP_CART_STACKING_TO2')?></option>
    </select>
 
    <br />
    <label for="totalValue" > <?php echo $VM_LANG->_('PHPSHOP_CART_STACKING_NAME0')?>: </label>
    <input style="width:64%;" type="text" id="totalValue" class="inputboxquantity" name="totalValue" value='<? echo $real_price;?> '/>
    <br />
    <?
   
    //echo $ps_product->get_field( $product_id, "name"); ?>
    <input type="button" class="<?php echo $button_cls ?>" value="<?php echo $VM_LANG->_('PHPSHOP_CART_STACKING_CALC')?>" onclick="javascript:calculate();" />[/i][/b]<input type="submit" class="<?php echo $button_cls ?>" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" />
   
    </div>
   
    <?php  } ?>
    <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="" />
   
    <?php
}
if ($children != "multi") { ?>
    </form>
<?php
}
    if($children == "radio") { ?>
   
    <script language="JavaScript" type="text/javascript">//<![CDATA[
    function alterQuantity(myForm) {
        for (i=0;i<myForm.selItem.length;i++){
            setQuantity = myForm.elements['quantity'];
            selected = myForm.elements['selItem'];
            j = selected[i].id.substr(7);
            k= document.getElementById('quantity' + j);
            if (selected[i].checked==true){
                k.value = myForm.quantity_adjust.value; }
            else {
                k.value  = 0;
            }
        }
    }
    //]]>   
    </script>
   
<?php } ?>
</div>

 Вопрос : как передать значение
Код
[u]  <input style="width:64%;" type="text" id="totalValue" class="inputboxquantity" name="totalValue" value='<? echo $real_price;?> '/>[/u]
для этой кнопки
Код
 <input type="submit" class="<?php echo $button_cls ?>" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" />
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart - SMS уведомления о сделаном заказе.

Автор bork

Ответов: 42
Просмотров: 21886
Последний ответ 26.07.2021, 22:11:25
от Oleg91
Отчеты и статистика для VirtueMart

Автор 4kict

Ответов: 25
Просмотров: 9897
Последний ответ 14.01.2021, 00:09:53
от gartes
IceVmCart - новый бесплатный модуль корзины для VirtueMart

Автор Grig2009

Ответов: 105
Просмотров: 51763
Последний ответ 05.02.2017, 11:44:02
от Super_Panda
Модуль недавно просмотренные товары для VirtueMart 1.1.X

Автор aleks_yug

Ответов: 97
Просмотров: 25034
Последний ответ 25.10.2016, 15:03:07
от Igoritaly
Хаки для убыстрения VirtueMart (уменьшение запросов и т.п.)

Автор yadrinez

Ответов: 197
Просмотров: 78006
Последний ответ 05.02.2016, 21:53:34
от flyingspook