Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

WAP version of OScommerce Development Issue


sabbirahmed

Recommended Posts

Posted

Hello

 

I am facing a problem with developing the oscommerce shopping cart pages to convert in WML. I got some WAP enable oscommerce script supplied by some other developer under oscommerce resources. But it only got the pages to show the available products and their description. What i am trying to do is to bring the shopping cart pages under the WML using the supplied WAP enable pages. But after adding the shopping_cart.php page, the WAP simulator shows me empty page. So there is something wrong which i dont know what it is. I am putting the code snippet here.

 

<?php

###########################################################################

# OsCommerce WAP 1.1 #

# This file is part of the wap tweak for OsCommerce © copyright 2004 #

# by Tom Nitzschner ([email protected]) #

# http://www.toms-home.com #

# #

# As always, make a backup before messing with anything. All code #

# release by me is considered sample code only. It may be fully #

# functual, but you use it at your own risk, if you break it, #

# you get to fix it too. No waranty is given or implied. #

# #

# All my work is released under the GNU GENERAL PUBLIC LICENSE. #

# Please see the README for more information. #

###########################################################################

 

# User changable item below

# You can set the maximum amount of characters from the description

# that will be displayed. I would not reccomend setting it too high,

# as that can cause timeouts while a WAP device reads the data and

# some devices have limits on the amount of text they can display

 

//$max_chars = 300;

 

# End user changable settings.

# Do NOT change anything below unless you really know what you are doing.

 

header( 'content-Type: text/vnd.wap.wml');

 

// Print the file text header

echo '<?xml version="1.0" ?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">';

?>

 

<wml>

<template>

<do type="prev" label="Back"><prev/></do>

<do type="accept" label="Main"><go href="wapindex.php"/></do>

</template>

 

<card id="item" title="Product Item">

<p align="center"><?php echo "<img src='images/shurjo_logo.png' width='150' height='152'/><br/>"; ?></p>

<?php

require("includes/wap_top.php");

error_reporting(1);

if ($cart->count_contents() > 0) {

include(DIR_WS_CLASSES . 'payment.php');

$payment_modules = new payment;

}

 

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_SHOPPING_CART);

 

$breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_SHOPPING_CART));

?>

<?php

if ($cart->count_contents() > 0) {

?>

<?php

$info_box_contents = array();

$info_box_contents[0][] = array('align' => 'center',

'params' => 'class="productListing-heading"',

'text' => TABLE_HEADING_REMOVE);

 

$info_box_contents[0][] = array('params' => 'class="productListing-heading"',

'text' => TABLE_HEADING_PRODUCTS);

 

$info_box_contents[0][] = array('align' => 'center',

'params' => 'class="productListing-heading"',

'text' => TABLE_HEADING_QUANTITY);

 

$info_box_contents[0][] = array('align' => 'right',

'params' => 'class="productListing-heading"',

'text' => TABLE_HEADING_TOTAL);

 

$any_out_of_stock = 0;

$products = $cart->get_products();

for ($i=0, $n=sizeof($products); $i<$n; $i++) {

// Push all attributes information in an array

if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) {

while (list($option, $value) = each($products[$i]['attributes'])) {

echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . $option . ']', $value);

$attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix

from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa

where pa.products_id = '" . (int)$products[$i]['id'] . "'

and pa.options_id = '" . (int)$option . "'

and pa.options_id = popt.products_options_id

and pa.options_values_id = '" . (int)$value . "'

and pa.options_values_id = poval.products_options_values_id

and popt.language_id = '" . (int)$languages_id . "'

and poval.language_id = '" . (int)$languages_id . "'");

$attributes_values = tep_db_fetch_array($attributes);

 

$products[$i][$option]['products_options_name'] = $attributes_values['products_options_name'];

$products[$i][$option]['options_values_id'] = $value;

$products[$i][$option]['products_options_values_name'] = $attributes_values['products_options_values_name'];

$products[$i][$option]['options_values_price'] = $attributes_values['options_values_price'];

$products[$i][$option]['price_prefix'] = $attributes_values['price_prefix'];

}

}

}

 

for ($i=0, $n=sizeof($products); $i<$n; $i++) {

if (($i/2) == floor($i/2)) {

$info_box_contents[] = array('params' => 'class="productListing-even"');

} else {

$info_box_contents[] = array('params' => 'class="productListing-odd"');

}

 

$cur_row = sizeof($info_box_contents) - 1;

 

$info_box_contents[$cur_row][] = array('align' => 'center',

'params' => 'class="productListing-data" valign="top"',

'text' => tep_draw_checkbox_field('cart_delete[]', $products[$i]['id']));

 

$products_name = '<table border="0" cellspacing="2" cellpadding="2">' .

' <tr>' .

' <td class="productListing-data" align="center"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">' . tep_image(DIR_WS_IMAGES . $products[$i]['image'], $products[$i]['name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td>' .

' <td style="font-size:11px;" valign="top"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '"><b>' . $products[$i]['name'] . '</b></a>';

 

if (STOCK_CHECK == 'true') {

$stock_check = tep_check_stock($products[$i]['id'], $products[$i]['quantity']);

if (tep_not_null($stock_check)) {

$any_out_of_stock = 1;

 

$products_name .= $stock_check;

}

}

 

if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) {

reset($products[$i]['attributes']);

while (list($option, $value) = each($products[$i]['attributes'])) {

$products_name .= '<br><small><i> - ' . $products[$i][$option]['products_options_name'] . ' ' . $products[$i][$option]['products_options_values_name'] . '</i></small>';

}

}

 

$products_name .= ' </td>' .

' </tr>' .

'</table>';

 

$info_box_contents[$cur_row][] = array('params' => 'class="productListing-data"',

'text' => $products_name);

 

$info_box_contents[$cur_row][] = array('align' => 'center',

'params' => 'class="productListing-data" valign="top"',

'text' => tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4"') . tep_draw_hidden_field('products_id[]', $products[$i]['id']));

 

$info_box_contents[$cur_row][] = array('align' => 'right',

'params' => 'class="productListing-data" valign="top"',

'text' => '<b>' . $currencies->display_price($products[$i]['final_price'], tep_get_tax_rate($products[$i]['tax_class_id']), $products[$i]['quantity']) . '</b>');

}

 

new productListingBox($info_box_contents);

?>

<?php echo SUB_TITLE_SUB_TOTAL; ?> <?php echo $currencies->format($cart->show_total()); ?>

<?php

if ($any_out_of_stock == 1) {

if (STOCK_ALLOW_CHECKOUT == 'true') {

?>

<br><?php echo OUT_OF_STOCK_CAN_CHECKOUT; ?>

<?php

} else {

?>

<?php echo OUT_OF_STOCK_CANT_CHECKOUT; ?>

<?php

}

}

?>

 

<?php echo tep_image_submit('button_update_cart.gif', IMAGE_BUTTON_UPDATE_CART, tep_get_all_get_params(array('action'))); ?>

<?php

$back = sizeof($navigation->path)-2;

if (isset($navigation->path[$back])) {

?>

<?php echo '<a href="' . tep_href_link($navigation->path[$back]['page'], tep_array_to_string($navigation->path[$back]['get'], array('action')), $navigation->path[$back]['mode']) . '">' . tep_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING) . '</a>'; ?>

<?php

}

?>

<?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, tep_get_all_get_params(array('action')), 'SSL') . '">' . tep_image_button('button_checkout.gif', IMAGE_BUTTON_CHECKOUT) . '</a>'; ?>

 

<?php

$initialize_checkout_methods = $payment_modules->checkout_initialization_method();

 

if (!empty($initialize_checkout_methods)) {

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

<td align="right" class="main" style="padding-right: 50px;"><?php echo TEXT_ALTERNATIVE_CHECKOUT_METHODS; ?></td>

</tr>

<?php

reset($initialize_checkout_methods);

while (list(, $value) = each($initialize_checkout_methods)) {

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

<td align="right" class="main"><?php echo $value; ?></td>

</tr>

<?php

}

}

else {

?>

<?php new infoBox(array(array('text' => TEXT_CART_EMPTY))); ?>

 

<?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>

 

<?php

}

}

else

{ echo "No products"; }

?>

 

 

</card>

</wml>

 

// END HERE

 

 

If you have any idea about this or anyone have developed any WAP enable full fledged shopping cart system in oscommerce, please respond. I need it badly and hope to get a response from you.

 

Thanks

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...