Jump to content
Latest News: (loading..)

milerwan

Members
  • Content count

    229
  • Joined

  • Last visited

  • Days Won

    7

milerwan last won the day on January 15

milerwan had the most liked content!

1 Follower

About milerwan

  • Rank
    Osc fan
  • Birthday 12/14/1976

Profile Information

Recent Profile Visitors

10,406 profile views
  1. milerwan

    Payment fee

    Is it to add PayPal fee ? Which payment methods are concerned ?
  2. Hi, Which version of PayPal do you use ?
  3. milerwan

    Google XML Sitemap SEO

    Sorry, for purists, in 1b, change this sentence : $location = $this->hrefLink(FILENAME_PRODUCT_INFO, 'products_id=' . $result['pID'], $request_type, false); By this one : $location = tep_href_link('product_info.php', 'products_id=' . $result['pID'], 'NONSSL', false);
  4. milerwan

    Google XML Sitemap SEO

    Here is my contribution for 2.3.x users : Sitemap images file with "new large product images" add.* *Just 2 functions to replace in "googlesitemap/sitemap.class.php" file (from latest package v1.14a): - GenerateSitemapImages($data, $file) - GenerateImagesSitemap() 1a. Edit "sitemap.class.php" file, and find at line 682 : function GenerateImagesSitemap(){ $quotes = (defined('QUOTES_CATEGORY_NAME') ? " and customers_email_address = '' and quotes_email_address = ''" : ''); $sql = "SELECT products_id as pID, products_image as img, products_date_added as date_added, products_last_modified as last_mod, products_ordered FROM products WHERE products_status='1'" . $quotes . " ORDER BY products_ordered DESC"; if ( $products_query = tep_db_query($sql) ){ $this->debug['QUERY']['IMAGES']['STATUS'] = 'success'; $this->debug['QUERY']['IMAGES']['NUM_ROWS'] = tep_db_num_rows($products_query); $container = array(); $number = 0; $top = 0; while( $result = tep_db_fetch_array($products_query) ){ $top = max($top, $result['products_ordered']); $location = tep_href_link('product_info.php', 'products_id=' . $result['pID'], 'NONSSL', false); $location_base = $this->base_url; $lastmod = tep_not_null($result['last_mod']) ? $result['last_mod'] : $result['date_added']; $changefreq = GOOGLE_SITEMAP_IMAGES_CHANGE_FREQ; $ratio = $top > 0 ? $result['products_ordered']/$top : 0; $priority = $ratio < .1 ? .1 : number_format($ratio, 1, '.', ''); if ($lastmod == 0) { $lastmod = date("Y-m-d H:m:s"); } $container[] = array('loc' => htmlspecialchars(utf8_encode($location)), 'img' => htmlspecialchars(utf8_encode($location_base) . 'images/' . $result['img'] ), 'lastmod' => date ("Y-m-d", strtotime($lastmod)), 'changefreq' => $changefreq, 'priority' => $priority ); if ( sizeof($container) >= 50000 ){ $type = $number == 0 ? 'images' : 'images' . $number; $this->GenerateSitemapImages($container, $type); $container = array(); $number++; } } # end while tep_db_free_result($products_query); if ( sizeof($container) > 0 ) { $type = $number == 0 ? 'images' : 'images' . $number; return $this->GenerateSitemapImages($container, $type); } # end if } else { $this->debug['QUERY']['IMAGES']['STATUS'] = 'false'; $this->debug['QUERY']['IMAGES']['NUM_ROWS'] = '0'; } } # end function 1b. Replace with : function GenerateImagesSitemap(){ $quotes = (defined('QUOTES_CATEGORY_NAME') ? " and customers_email_address = '' and quotes_email_address = ''" : ''); $sql = "SELECT products_id as pID, products_image as img, products_date_added as date_added, products_last_modified as last_mod, products_ordered FROM products WHERE products_status='1'" . $quotes . " ORDER BY products_ordered DESC"; if ( $products_query = tep_db_query($sql) ){ $this->debug['QUERY']['IMAGES']['STATUS'] = 'success'; $this->debug['QUERY']['IMAGES']['NUM_ROWS'] = tep_db_num_rows($products_query); $pre_container = array(); $container = array(); $number = 0; $top = 0; while( $result = tep_db_fetch_array($products_query) ){ $top = max($top, $result['products_ordered']); $location = $this->hrefLink(FILENAME_PRODUCT_INFO, 'products_id=' . $result['pID'], $request_type, false); $location_base = $this->base_url; $lastmod = tep_not_null($result['last_mod']) ? $result['last_mod'] : $result['date_added']; $changefreq = GOOGLE_SITEMAP_IMAGES_CHANGE_FREQ; $ratio = $top > 0 ? $result['products_ordered']/$top : 0; $priority = $ratio < .1 ? .1 : number_format($ratio, 1, '.', ''); if ($lastmod == 0) { $lastmod = date("Y-m-d H:m:s"); } $pimage_query = tep_db_query("SELECT image as pimg FROM products_images WHERE products_id = '" . $result['pID'] . "' ORDER BY sort_order ASC"); $pimg = array(); if (tep_db_num_rows($pimage_query) > 0){ $pimg = ''; while( $pimage = tep_db_fetch_array($pimage_query) ){ $pimg[] = $pimage['pimg']; } } $pre_container = array('loc' => htmlspecialchars(utf8_encode($location)), 'lastmod' => date ("Y-m-d", strtotime($lastmod)), 'changefreq' => $changefreq, 'priority' => $priority, 'img' => htmlspecialchars(utf8_encode($location_base) . 'images/' . $result['img']) ); foreach ($pimg as $key => $val ) { $pre_container['pimg_'.$key] = htmlspecialchars(utf8_encode($location_base) . 'images/' . $val); } $container[] = $pre_container; if ( sizeof($container) >= 50000 ){ $type = $number == 0 ? 'images' : 'images' . $number; $this->GenerateSitemapImages($container, $type); $container = array(); $number++; } } # end while tep_db_free_result($products_query); if ( sizeof($container) > 0 ) { $type = $number == 0 ? 'images' : 'images' . $number; return $this->GenerateSitemapImages($container, $type); } # end if } else { $this->debug['QUERY']['IMAGES']['STATUS'] = 'false'; $this->debug['QUERY']['IMAGES']['NUM_ROWS'] = '0'; } } # end function 2a. Find at line 505 : function GenerateSitemapImages($data, $file){ $content = '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; $content .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"' . "\n"; $content .= 'xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">' . "\n"; foreach ($data as $url){ $content .= "\t" . '<url>' . "\n"; $content .= "\t\t" . '<loc>'.$url['loc'].'</loc>' . "\n"; $content .= "\t\t" . '<image:image>' . "\n"; $content .= "\t\t" . '<image:loc>' . $url['img'] . '</image:loc>' . "\n"; $content .= "\t\t" . '</image:image>' . "\n"; $content .= "\t\t" . '<lastmod>'.$url['lastmod'].'</lastmod>' . "\n"; $content .= "\t\t" . '<changefreq>'.$url['changefreq'].'</changefreq>' . "\n"; $content .= "\t\t" . '<priority>'.$url['priority'].'</priority>' . "\n"; $content .= "\t" . '</url>' . "\n"; } # end foreach $content .= '</urlset>'; return $this->SaveFile($content, $file); } # end function 2b. Replace with : function GenerateSitemapImages($data, $file){ $content = '<?xml version="1.0" encoding="UTF-8"?>' . "\n"; $content .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"' . "\n"; $content .= 'xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">' . "\n"; foreach ($data as $url){ $content .= "\t" . '<url>' . "\n"; $content .= "\t\t" . '<loc>'.$url['loc'].'</loc>' . "\n"; foreach ($url as $key => $val) { switch(substr($key,0,5)) { case "img": case "pimg_": $content .= "\t\t" . '<image:image>' . "\n"; $content .= "\t\t" . '<image:loc>' . $val . '</image:loc>' . "\n"; $content .= "\t\t" . '</image:image>' . "\n"; break; } } # end foreach $content .= "\t\t" . '<lastmod>'.$url['lastmod'].'</lastmod>' . "\n"; $content .= "\t\t" . '<changefreq>'.$url['changefreq'].'</changefreq>' . "\n"; $content .= "\t\t" . '<priority>'.$url['priority'].'</priority>' . "\n"; $content .= "\t" . '</url>' . "\n"; } # end foreach $content .= '</urlset>'; return $this->SaveFile($content, $file); } # end function Enjoy !
  5. milerwan

    Google XML Sitemap SEO

    Ok, thank you for the information. You are right <xmlns="http://www.google.com/schemas/sitemap/0.84"> is deprecated (too bad, display was nice with "gss.xsl" steelsheet). NB: I have tested with the deprecated link above and sitemaps (product, category, index) are accepted anyway...
  6. milerwan

    Google XML Sitemap SEO

    @Jack_mcs Hi, I have installed the latest version 1.14a (my previous version was 1.0 with some fixes !) but when I enter the xml page for products or else I have a top message indicates me there is no style associated to display the page correctly (products tree appears below but no table display) : "This XML file does not appear to have any style information associated with it. The document tree is shown below." What is the problem ?!? Thank you for your lights.
  7. Hi, I'm using PayPal Standard v5.010 -> v5.018 and, from the begining, there is and issue with the subtotal of product (framed in red in the picture) from PayPal Activity Details account. Registered thus, the subtotal corresponds to the addition of the price of the product + delivery cost (?!?) Does anybody know how to fix it ? Thanks.
  8. milerwan

    PayPal App v5.000

    Hi, I'm using PayPal Standard v5.010 -> v5.018 and, from the begining, there is and issue with the subtotal of product (framed in red in the picture) from PayPal Activity Details account. Registered thus, the subtotal corresponds to the addition of the price of the product + delivery cost (?!?) Does anybody know how to fix it ? Thanks.
  9. milerwan

    Paypal Standard Order Status Not Updated

    I have updated to 5.018 (from 5.010) and modify the "includes/modules/payment/paypal_standard.php" file to fit with "QT Pro" add-on and others custom "order_total" modules (ot_discount, ot_paypal_fee) to get correct calculation listing on Paypal checkout page (with or without DISPLAY_PRICE_WITH_TAX enable) . My version is 2.3.4 master... I followed the documentation to set the automatic return to the store and, since 2 or 3 orders, there was no more issue but I don't know if it is because customers have pressed the button back or because the automatic return is ok now. 😶 I hope it is good now. 😰
  10. milerwan

    Paypal Standard Order Status Not Updated

    @clustersolutions Despite the settings, order creation is not done if the customer does not click on the back button... 😐 Can you tell me how you got the automatic return? Thank you
  11. milerwan

    Paypal Standard Order Status Not Updated

    Ok I have found the information : https://developer.paypal.com/docs/classic/products/payment-data-transfer/#get-started
  12. milerwan

    Paypal Standard Order Status Not Updated

    Hi, I have the same issue as yours. What's the trick to force order registred if the customer don't push the "Go back to merchant" button ? Thank you.
  13. Hi, The "Preparing [PayPal Standard]" status is set by default for any automatic pre-order created when PayPal is chosen as payment method. This status is automatically created, like PayPal [Transactions], when the standard PayPal module is installed. You can renamed/delete them, if you want or/and assign another status. "Preparing [PayPal IPN]" must be an "old" status created with another PayPal module version before.
  14. I've just installed v5.018 and it works for me. I have an osc v2.3.4...
  15. I pay "activation codes" to a provider so I get limited quantities each time. For me, since it is non-material product it fits into the directive of dematerialized goods. What do you think ?
×