Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

timinark

Banned
  • Posts

    56
  • Joined

  • Last visited

Posts posted by timinark

  1. This is a great contribution.

     

    I am having one small issue. My goal tracking is not working well. I have set three goals shopping cart, create account, check out. The only one seemingly working is create account. I must have tracking installed correctly, because I am getting ecommerce numbers.

     

    Any ideas?

     

    Tim

  2. I have this contrib installed, but I have never been able to get to work correctly. In Admin every attempt to enter a new page gives me Page Title Required.

     

    I am hosting on an IIS box and have register globals off. Any help would be gratefully appreciated.

     

    Tim

     

    Sorry to bump, but does anyone have an idea about this? Everything seemd to work right. I have been modifying file straight out of the database, but that's not handy.

     

    If I have a title or not, or try to modify an existing file same problem.

     

    Tim

  3. Thanks for this great contribution.

     

    On the Google side, I am not getting the same numbers as I get from my log analyser. I hope that it's just because they are not quite up to speed. Is anyone getting results from their Google Adwords campaigns. I thought that GA was to track that automatically?

     

    Is there a way to get information on content? I am not getting the information after the query string. Is this something I have to configure on GA?

     

    It's great that I am getting data, but, is there a discussion about how to make the data actionable, especially how it relates to OSC?

     

    Tim

  4. Hi Tim

     

    You should read the posts above, they will probably answer your question. Check image setup that you don't have both width and heights set.

     

    Also see my above posts regarding windows. Try to turn caching off first.

     

    Aaron

     

    Server caching did it for me. I turned it off, all is well.

     

    Awesome contribution. Super easy installation ( that they could all be so easy! ) I went from a 100 sec load time ( at 28.8) to under 40 seconds ( still tweaking!)

     

    Thanks Tim

  5. Stock is not tracked for downloadable products with QT Pro just like in base osCommerce. This would require mods in several places as the stock reduction/addition is somewhat scattered about in osCommerce.

     

    I think I maybe able to use this but I need an idea about how to mask the option value from the site and only have it appear on the invoice. I could make an item with 10 different option values ( like a serial number) and not display until someone got the checkout confirmation/ invoice email.

     

    Any ideas about how I can make that happen?

     

     

    Tim

  6. Hi,

     

    I have searched through this thread and I need a bit of help. I am attempting to use this contribution on a downloadable product. I have installed and it appears to not hinder anything, but it won't reduce the stock when an item is sold and it won't register that a particular item is sold out. Lets say that I have 10 distinct files I want them to only able to be purchased one time each.

     

    I have tried a number of different settings and just not getting good results. I did read that there were some issues with downloads. Have these been resolved?

     

    Is it possible to use this contribution for downloadable items? If so, the best way to configure the attributes?

     

    Thanks

     

    Tim

  7. Hi. I am getting a script error when I am adding to cart.

     

    MS says:

     

     

    <script LANGUAGE="JavaScript"><!--

    function chkstk(frm) {

    var stk={};

    var instk=false;

    if (frm.attrcomb.type=='select-one') {

    var attrs=frm.attrcomb.value.split(',');

    }

    else {

    for (i=0; i,frm.attrcomb.length; i++) <<----Here {Length is null or not an object}

    { if (frm.attrcomb.checked) {

    var attrs=frm.attrcomb.value.split(',');

    break;

    }

    }

    }

    var id=Array(1);

    for (i=0; i<attrs.length; i++) {

    id=attrs.split('-')[1];

    }

    if (stk[id[0]]) instk=true;

    return instk;

    }

    function chksel() {

    var instk=chkstk(document.cart_quantity);

    if (!instk) alert('The combination of options you have selected is currently out of stock. Please select another combination.');

    return instk;

    }

    document.cart_quantity.onsubmit=chksel;

    //--></SCRIPT>

     

    I have a stock site less register globals. My attribute type is radio button with one attribute.

     

    If this has been covered before I apologize.

     

    Thanks

    Tim

  8. Hi!,

     

    This is a great contribution, but I a having one problem. It will not let me modify a file, stating in messagestack that I need a title.

     

    Any clues? Everything else is okay, Install is okay. I can add files. I do have to use the registerglobals contrib, but I look ed through things and saw no stray vars.

     

    Help me, please

     

    Tim

     

    Has anyone got this to work with Register Globals ? Is thier some other contribution that works with register_globals off?

     

    Anybody?

     

     

    Thanks, Tim

  9. Hi!,

     

    This is a great contribution, but I a having one problem. It will not let me modify a file, stating in messagestack that I need a title.

     

    Any clues? Everything else is okay, Install is okay. I can add files. I do have to use the registerglobals contrib, but I look ed through things and saw no stray vars.

     

    Help me, please

     

    Tim

  10. Hi Tim

    Your not that clueless (!!) - at least you have used the debug code - most folk don't seem to even find that!

     

    For what it is worth here is my code from that file for this contrib. Bear in mind I use a 'customised' attribute sets and I also have other modifications in my code (so your line numbers are likely to be a lot less), but look for the same variables in your code and check the $POST and $GET usage. I'm thinking you will need a $_GET on the pID somewhere (maybe section 4 of 4 below?).

     

    This may or may not help (I hope it doesn't confuse!). (NB The 'linkmatics' reference indicates comments by myself to delineate custom & contrib code from core osC - just ignore).

     

    Hope this is some help - if it helps out do feedback to Joey in here. I did not manage to give him all the required fixes for register_globals and now my code is too different to help I'm afraid (although the basic structure is basically the same)

     

    Good luck, Chris.

     

    ps - Joey, I am running with something like 10 attribute sets per product, a number of which are 50 or more elements. Sets are used to created attributes automatically  as around 150 products are loaded via easypopulate and results in around 40,000 products attributes. I can refresh at will - great stuff!

    Thanks for the work you have put in.

    cheers

    Chris.

    Starting Line 162 (my code)

    // >>>> BOF Linkmatics attribute sets ?(1 of 4) calling custom function - delete product - Begin
    ?jjg_db_attributeSets($_POST['products_attributes_sets_id'], $products_id, $action );
    // <<<< EOF Linkmatics attribute sets calling custom function - delete product - End

    Starting line 366 (my code)

    // >>>> BOF Linkmatics attribute sets (2 of 4) calling custom function - update product - Begin
    ?	$arr_pas = array();
    ?	$arr_remove_sets = array();
    ?	for( $i=0; $i<$_POST['AttributeSetCount']; $i++ ){
    ? ? ? ?$arr_pas[$i] = $_POST["products_attributes_sets_id_".$i];
    ? ? if( $_POST["remove_products_attributes_sets_id_".$i] == "on" ){
    ? ? ? $arr_remove_sets["remove_products_attributes_sets_id_".$i] = $_POST["products_attributes_sets_id_".$i];
    ? ? ? ? ? }
    ? ? else {
    ? ? ? $arr_remove_sets["remove_products_attributes_sets_id_".$i] = -1;
    ? ? ? ?}
    ? ? ? ? }
    ? ? ?jjg_db_attributeSets( $arr_pas, $products_id, $action, $arr_remove_sets );
    
    // <<<< EOF Linkmatics attribute sets - calling custom function - update product - End

     

    Starting line 847 (my code)

    // >>>> BOF Linkmatics attributes sets (3 of 4) - building attributes array - Begin
    ? ?$attribute_sets_array = array(array('id' => '', 'text' => TEXT_NONE));
    ? ?$attribute_sets_names_array = array();
    ? ?$attribute_sets_query = tep_db_query("select products_attributes_sets_id, products_attributes_sets_name from " . TABLE_PRODUCTS_ATTRIBUTES_SETS . " order by products_attributes_sets_name");
    ? ?while ($attribute_sets = tep_db_fetch_array($attribute_sets_query)) {
    ? ? ?$attribute_sets_array[] = array('id' => $attribute_sets['products_attributes_sets_id'],
    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'text' => $attribute_sets['products_attributes_sets_name']);
    ? ? ?$attribute_sets_names_array[ $attribute_sets['products_attributes_sets_id'] ] = $attribute_sets['products_attributes_sets_name'];
    ? ?}
    // <<<< EOF Linkmatics attributes sets (3 of 4) - building attributes array - End

     

    Starting line 962 (my code) -- I seem to remember a problem in here, maybe to do with needing a $_GET ....  e.g: if( isset($_GET['pID']) ){

     

    <?php // >>>> BOF Linkmatics attributes edit (4 of 4) - building list of Attribute Sets Used - Begin ?>
    <?php
    if( empty($pInfo->products_id) ){
    
    ? ? $iteration = 0;
    
    }else{
    
    ? ? ? ? ? ?$getOptionsCount_query = tep_db_query('SELECT count(
    ? ? ? ? ? ?DISTINCT ?products_attributes_sets_id ) as count
    ? ? ? ? ? ?FROM ?'. TABLE_PRODUCTS_ATTRIBUTES_SETS_TO_PRODUCTS .'
    ? ? ? ? ? ?WHERE ?`products_id` ?='.$pInfo->products_id);
    ? ? $arr_getOptionsCount = tep_db_fetch_array($getOptionsCount_query);
    
    ? ? $arr_pas_id = jjg_db_getAttributeSetId($pInfo->products_id);
    ? ? if( !empty($arr_pas_id) ){
    
    ? ? ? ? $iteration = $arr_getOptionsCount['count'];
    
    ? ? }
    }
    
    for($i=0; $i <= $iteration; $i++){
    ?>
    ? ? ? ? ?<tr>
    ? ? ? ? ? ?<td class="main">
    ? ? ? ? ? ?<?php
    ? ? ? ? ? ?	if( isset($_GET['pID']) ){
    ? ? ? ? ? ? ? ?	if( $i == $iteration ?){
    ? ? ? ? ? ? ? ? ?echo "Add An " . TEXT_PRODUCTS_ATTRIBUTES_SET;
    ? ? ? ? ? ? ? ? ? ?}else{
    ? ? ? ? ? ? ? ? ?echo "Using " . TEXT_PRODUCTS_ATTRIBUTES_SET;
    ? ? ? ? ? ? ? ? ? ?}
    ? ? ? ? ? ?	}
    
    ? ? ? ? ? ??>
    ? ? ? ? ? ?</td>
    ? ? ? ? ? ?<td class="main">
    ? ? ? ? ? ?	<?php
    ? ? ? ? ? ?	if(isset($_GET['pID']) ){
    ? ? ? ? ? ? ?if( $i == $iteration ){
    ? ? ? ? ? ? ?	echo tep_draw_separator('pixel_trans.gif', '30', '1').
    ? ? ? ? ? ? ? ? ? ? ? ?'<a href="' . tep_href_link(
    ? ? ? ? ? ? ? ? ? ? ? ?FILENAME_PRODUCTS_ATTRIBUTES_SETS_EDIT, 'pID='.$_GET['pID']) .
    ? ? ? ? ? ? ? ? ? ? ? ?'" >'. tep_image_button('button_add_as.gif',
    ? ? ? ? ? ? ? ? ? ? ? ?'[Click To Add And A.S.]' ) ?.'</a>';
    ? ? ? ? ? ? ?}else{
    ? ? ? ? ? ? ?	echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ';
    ? ? ? ? ? ? ?	echo $attribute_sets_names_array[$arr_pas_id[$i]];
    ? ? ? ? ? ? ?	echo tep_draw_separator('pixel_trans.gif', '24', '15');
    ? ? ? ? ? ? ?	echo tep_draw_checkbox_field('remove_products_attributes_sets_id_'.$i);
    ? ? ? ? ? ? ?	echo "<font size=-3>(Remove Set)</font>";
    ? ? ? ? ? ? ?	echo tep_draw_hidden_field('products_attributes_sets_id_'.$i,
    ? ? ? ? ? ? ? ? ? ? ? ?$arr_pas_id[$i]);
    ? ? ? ? ? ? ?}
    ? ? ? ? ? ? ? ?}
    ? ? ? ? ? ??>
    
    ? ? ? ? ? ?</td>
    ? ? ? ? ?</tr>
    <?php
    }
    ?>
    ? ? ? ? ?<tr>
    ? ? ? ? ? ?<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?>
    ? ? ? ? ? ?<?php echo tep_draw_hidden_field('AttributeSetCount', $arr_getOptionsCount['count']+1); ?>
    ? ? ? ? ? ?</td>
    ? ? ? ? ?</tr>
    <?php // >>>> EOF Linkmatics attributes edit (4 of 4) - ?building list of Attribute Sets Used - End ?>

     

    Chris,

     

    I can almost taste it

     

    I changed 2 "isset($pID)" references to this

    isset($HTTP_GET_VARS['pID'] (because this was the reference throughout) in the line around 962

     

    I now get the Add An Attribute line on categories

     

    When I hit the link, all okay, save okay, but does not update

     

    I get this on the success page ( my registerglobals info )

     

    GET

    action -> 'save'

    products_id -> '16394'

    cPath -> '21_24'

    ----------

    POST

    attSetId_0 -> '1'

    attSetId_1 -> '2'

    asRowCount -> '2'

    x -> '35'

    y -> '16'

     

    Thinking I have to change some POST lines I go back

    and add

    $HTTP_POST_VARS to

     

    if( $_POST["remove_products_attributes_sets_id_".$i] == "on" ){

    $arr_remove_sets["remove_products_attributes_sets_id_".$i] = $_POST["products_attributes_sets_id_".$i];

     

    But no go. Any ideas?

  11. Hi Tim

    Your not that clueless (!!) - at least you have used the debug code - most folk don't seem to even find that!

     

    For what it is worth here is my code from that file for this contrib. Bear in mind I use a 'customised' attribute sets and I also have other modifications in my code (so your line numbers are likely to be a lot less), but look for the same variables in your code and check the $POST and $GET usage. I'm thinking you will need a $_GET on the pID somewhere (maybe section 4 of 4 below?).

     

    This may or may not help (I hope it doesn't confuse!). (NB The 'linkmatics' reference indicates comments by myself to delineate custom & contrib code from core osC - just ignore).

     

    Hope this is some help - if it helps out do feedback to Joey in here. I did not manage to give him all the required fixes for register_globals and now my code is too different to help I'm afraid (although the basic structure is basically the same)

     

    Good luck, Chris.

     

    ps - Joey, I am running with something like 10 attribute sets per product, a number of which are 50 or more elements. Sets are used to created attributes automatically  as around 150 products are loaded via easypopulate and results in around 40,000 products attributes. I can refresh at will - great stuff!

    Thanks for the work you have put in.

    cheers

    Chris.

    Starting Line 162 (my code)

    // >>>> BOF Linkmatics attribute sets ?(1 of 4) calling custom function - delete product - Begin
    ?jjg_db_attributeSets($_POST['products_attributes_sets_id'], $products_id, $action );
    // <<<< EOF Linkmatics attribute sets calling custom function - delete product - End

    Starting line 366 (my code)

    // >>>> BOF Linkmatics attribute sets (2 of 4) calling custom function - update product - Begin
    ?	$arr_pas = array();
    ?	$arr_remove_sets = array();
    ?	for( $i=0; $i<$_POST['AttributeSetCount']; $i++ ){
    ? ? ? ?$arr_pas[$i] = $_POST["products_attributes_sets_id_".$i];
    ? ? if( $_POST["remove_products_attributes_sets_id_".$i] == "on" ){
    ? ? ? $arr_remove_sets["remove_products_attributes_sets_id_".$i] = $_POST["products_attributes_sets_id_".$i];
    ? ? ? ? ? }
    ? ? else {
    ? ? ? $arr_remove_sets["remove_products_attributes_sets_id_".$i] = -1;
    ? ? ? ?}
    ? ? ? ? }
    ? ? ?jjg_db_attributeSets( $arr_pas, $products_id, $action, $arr_remove_sets );
    
    // <<<< EOF Linkmatics attribute sets - calling custom function - update product - End

     

    Starting line 847 (my code)

    // >>>> BOF Linkmatics attributes sets (3 of 4) - building attributes array - Begin
    ? ?$attribute_sets_array = array(array('id' => '', 'text' => TEXT_NONE));
    ? ?$attribute_sets_names_array = array();
    ? ?$attribute_sets_query = tep_db_query("select products_attributes_sets_id, products_attributes_sets_name from " . TABLE_PRODUCTS_ATTRIBUTES_SETS . " order by products_attributes_sets_name");
    ? ?while ($attribute_sets = tep_db_fetch_array($attribute_sets_query)) {
    ? ? ?$attribute_sets_array[] = array('id' => $attribute_sets['products_attributes_sets_id'],
    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'text' => $attribute_sets['products_attributes_sets_name']);
    ? ? ?$attribute_sets_names_array[ $attribute_sets['products_attributes_sets_id'] ] = $attribute_sets['products_attributes_sets_name'];
    ? ?}
    // <<<< EOF Linkmatics attributes sets (3 of 4) - building attributes array - End

     

    Starting line 962 (my code) -- I seem to remember a problem in here, maybe to do with needing a $_GET ....  e.g: if( isset($_GET['pID']) ){

     

    <?php // >>>> BOF Linkmatics attributes edit (4 of 4) - building list of Attribute Sets Used - Begin ?>
    <?php
    if( empty($pInfo->products_id) ){
    
    ? ? $iteration = 0;
    
    }else{
    
    ? ? ? ? ? ?$getOptionsCount_query = tep_db_query('SELECT count(
    ? ? ? ? ? ?DISTINCT ?products_attributes_sets_id ) as count
    ? ? ? ? ? ?FROM ?'. TABLE_PRODUCTS_ATTRIBUTES_SETS_TO_PRODUCTS .'
    ? ? ? ? ? ?WHERE ?`products_id` ?='.$pInfo->products_id);
    ? ? $arr_getOptionsCount = tep_db_fetch_array($getOptionsCount_query);
    
    ? ? $arr_pas_id = jjg_db_getAttributeSetId($pInfo->products_id);
    ? ? if( !empty($arr_pas_id) ){
    
    ? ? ? ? $iteration = $arr_getOptionsCount['count'];
    
    ? ? }
    }
    
    for($i=0; $i <= $iteration; $i++){
    ?>
    ? ? ? ? ?<tr>
    ? ? ? ? ? ?<td class="main">
    ? ? ? ? ? ?<?php
    ? ? ? ? ? ?	if( isset($_GET['pID']) ){
    ? ? ? ? ? ? ? ?	if( $i == $iteration ?){
    ? ? ? ? ? ? ? ? ?echo "Add An " . TEXT_PRODUCTS_ATTRIBUTES_SET;
    ? ? ? ? ? ? ? ? ? ?}else{
    ? ? ? ? ? ? ? ? ?echo "Using " . TEXT_PRODUCTS_ATTRIBUTES_SET;
    ? ? ? ? ? ? ? ? ? ?}
    ? ? ? ? ? ?	}
    
    ? ? ? ? ? ??>
    ? ? ? ? ? ?</td>
    ? ? ? ? ? ?<td class="main">
    ? ? ? ? ? ?	<?php
    ? ? ? ? ? ?	if(isset($_GET['pID']) ){
    ? ? ? ? ? ? ?if( $i == $iteration ){
    ? ? ? ? ? ? ?	echo tep_draw_separator('pixel_trans.gif', '30', '1').
    ? ? ? ? ? ? ? ? ? ? ? ?'<a href="' . tep_href_link(
    ? ? ? ? ? ? ? ? ? ? ? ?FILENAME_PRODUCTS_ATTRIBUTES_SETS_EDIT, 'pID='.$_GET['pID']) .
    ? ? ? ? ? ? ? ? ? ? ? ?'" >'. tep_image_button('button_add_as.gif',
    ? ? ? ? ? ? ? ? ? ? ? ?'[Click To Add And A.S.]' ) ?.'</a>';
    ? ? ? ? ? ? ?}else{
    ? ? ? ? ? ? ?	echo tep_draw_separator('pixel_trans.gif', '24', '15') . ' ';
    ? ? ? ? ? ? ?	echo $attribute_sets_names_array[$arr_pas_id[$i]];
    ? ? ? ? ? ? ?	echo tep_draw_separator('pixel_trans.gif', '24', '15');
    ? ? ? ? ? ? ?	echo tep_draw_checkbox_field('remove_products_attributes_sets_id_'.$i);
    ? ? ? ? ? ? ?	echo "<font size=-3>(Remove Set)</font>";
    ? ? ? ? ? ? ?	echo tep_draw_hidden_field('products_attributes_sets_id_'.$i,
    ? ? ? ? ? ? ? ? ? ? ? ?$arr_pas_id[$i]);
    ? ? ? ? ? ? ?}
    ? ? ? ? ? ? ? ?}
    ? ? ? ? ? ??>
    
    ? ? ? ? ? ?</td>
    ? ? ? ? ?</tr>
    <?php
    }
    ?>
    ? ? ? ? ?<tr>
    ? ? ? ? ? ?<td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?>
    ? ? ? ? ? ?<?php echo tep_draw_hidden_field('AttributeSetCount', $arr_getOptionsCount['count']+1); ?>
    ? ? ? ? ? ?</td>
    ? ? ? ? ?</tr>
    <?php // >>>> EOF Linkmatics attributes edit (4 of 4) - ?building list of Attribute Sets Used - End ?>

     

    Chris,

     

    I can almost taste it

     

    I changed 2 "isset($pID)" references to this

    isset($HTTP_GET_VARS['pID'] (because this was the reference throughout) in the line around 962

     

    I now get the Add An Attribute line on categories

     

    When I hit the link, all okay, save okay, but does not update

  12. In the installation instructions I try to clarify what the big deal is with register_globals, I see that you read it but I need to have people use this with register_globals set to "off" so that I can perfect that fix. 

     

    If you see a URL that looks something like this: cPath=&pId=

    Where the number is missing after the equal sign then that piece of code is assuming register_globals set to "on", but I think I changed them all.  I could have easily missed  something though.

     

    Look at the URLs either in the address bar or when you hold your cursor over a link you'll see the URL on the status bar (lower left).

     

    Good luck.

     

    Joey

     

    Joey,

     

    I have this installed and all looks good. It writes the correct data to the database, no problems except on categories.php. It will not display the options. I have inserted the registerglobals debug code and got this:

     

    GET

    cPath -> '21_24'

    pID -> '16394'

    action -> 'new_product'

     

    It looks like it's all there but not matching the product id with the attributes sets?

     

    Maybe?

     

    I have been trying to reconcile Chris's discussion about variables and wonder if there might be something with pid?

     

    Thanks

     

    Tim (clueless)

  13. Joey,

     

    This looks like a fantastic contrib, but before I dive in I had a quick question. My site is register_globals off. The instructions on the contrib state:

     

    ASSUMPTION: register_globals setting is enabled.

     

    Are there additional steps I should include. I did read your preface on register_globals, but wasn't sure if I was required to make changes to the subsequent code.

     

    Thank you

     

    Tim

×
×
  • Create New...