[solved]cart module options

Have a question or a suggestion about a 3rd party addon module or plugin?
Let us know here.
Post Reply
kurashiki_ben
Forum Members
Forum Members
Posts: 86
Joined: Sun Jul 05, 2009 2:37 am

[solved]cart module options

Post by kurashiki_ben »

Cart version 1.4.2

Hello,

Does anyone know what the options are for the my cart page?

I want to display the cart total, but I can't find the correct option.
I have tried $carttotal which works in the cart view page, but it results in a null value in the my cart page.

here's my template:
(the $cart_itemcount works fine)

Code: Select all

{* mycart form template *}
{$formstart}
<table align="center" width="100%">
<tbody>
    <tr>
<td align="left" border="0">
<strong>商品の数: </strong></td><td align="left"><strong>{$cart_itemcount}</strong></td></tr>
{if isset($submitname)}
<tr>
<td align="center"><strong>かごの合計:<br />(税込み) </strong></td>
<td>{math equation='x * y' x=$carttotal y=1.05 assign='tmp2'}{$tmp2|number_format:0}{$currencysymbol}
</td>
</tr>
{/if}
</tbody>
</table>
<div align="center"><input type="button" id="kagoni" name="kagoni" onclick="window.location='index.php?page=kago'" value="買い物かご"/>
</div>
{$formend}
<br />
Thanks

Ben
Last edited by kurashiki_ben on Mon Oct 12, 2009 4:57 am, edited 1 time in total.
SideshowBob
Forum Members
Forum Members
Posts: 80
Joined: Thu Sep 13, 2007 10:50 am

Re: cart module options

Post by SideshowBob »

Hi Ben,

I'm currently building an e-commerce site with the CG modules and, whilst generally the modules are excellent,  I found the lack of totals and subtotals quite surprising. I submitted a feature request.

I think there are two solutions here, either hack the module php to output the values you need or calculate the total using Smarty.

I chose the Smarty route as it keeps my upgrade options open.

Hope that helps,
Bob
kurashiki_ben
Forum Members
Forum Members
Posts: 86
Joined: Sun Jul 05, 2009 2:37 am

Re: cart module options

Post by kurashiki_ben »

thanks for your reply SideshowBob

Do you have an example of a Smarty tag that you used?

many thanks for your help

Regards

Ben
SideshowBob
Forum Members
Forum Members
Posts: 80
Joined: Thu Sep 13, 2007 10:50 am

Re: cart module options

Post by SideshowBob »

ah, I didn't use the MyCart function, I use a modified ViewCart. That could be your best option.

Anyway, here is the Smarty code I used to create Totals and subtotals. This is actually from the Confirm Order template from the Orders module but hopefully you get the idea.

Code: Select all

{assign var=total value=0} {* set total variable to 0 *}

      {foreach from=$destination->get_items() item='item'}

         {math equation="x * y" x=$item->get_quantity() y=$item->get_unit_price() assign=subtotal} {* set subtotal *}
         {math equation="x + y" x=$total y=$subtotal assign=total} {* add subtotal to total *}

         <tr>
            <td>{$Orders->Lang($item->get_item_type())}</td>
            <td>{$item->get_description()}</td>
            <td>{$item->get_quantity()}</td>
	    <td>{$currencysymbol}{$item->get_unit_price()|number_format:2}</td>
            <td>{$currencysymbol}{$subtotal|number_format:2}</td>
          </tr>
      {/foreach}
      <tr>
          <td colspan="5">Total: {$currencysymbol}{$total|number_format:2}</td>
      </tr>
kurashiki_ben
Forum Members
Forum Members
Posts: 86
Joined: Sun Jul 05, 2009 2:37 am

Re: cart module options

Post by kurashiki_ben »

SlideshowBob,

Thats great. Thanks for your answer. With that I found a solution.
I ended up calling the cart module twice. Once to show the itemcount, once for the total.

Code: Select all

<div id="cart">
{Cart action='mycart'}
{Cart action='viewcart' viewcarttemplate="hompagecart"}
</div>
mycart template:

Code: Select all

{* mycart form template *}
{$formstart}
<table id="basketcount" align="center" border="0" width="100%">
<tbody>
<tr>
<td align="left" width="50%">
<strong>商品の数: </strong></td>
<td align="left" width="50%">{$cart_itemcount}</td>
</tr>
</tbody>
</table>
{$formend}
modified viewcart template:

Code: Select all

{* homepagecartdisplay form template *}
{$formstart}
{if !isset($cartitems) || count($cartitems) > 0 }
<table id="homebasket" align="center" width="100%">
<tbody>
<tr>
<td align="left" width="50%"><strong>かごの合計:<br />(税込み) </strong></td>
<td align="left" width="50%">{math equation='x * y' x=$carttotal y=1.05 assign='tmp'}{$tmp|number_format:0}{$currencysymbol}</td>
</tr>
</tbody>
</table>
{/if}
<div align="center"><input type="button" id="kagoni" name="kagoni" onclick="window.location='index.php?page=kago'" value="買い物かご"/>
</div>
{$formend}
<br />
Best regards

Ben
Post Reply

Return to “Modules/Add-Ons”