Cart-Lab Blog

X-Cart & E-commerce related news, resources and tips. Postings by: B00MER of Cart-Lab.com


Saturday, January 27, 2007

Append Manufacturer names to CDSEO links mod.

By default the CDSEO links from WebsiteCM doesn't include the manufacturer name. Alot of sites I like to append the manufacturer name to the title of the product, just for SEO and relevancy purposes. So I developed a simple script to run over the xcart_products and the xcart_manufacturers table and append the values as well as updating the database with the new entries. Please be cautious when executing the below script as executing it twice can cause duplicate manufacturer names at the beginning of your filenames. I don't offer any warranty or support for the below script, it is AS-IS!

View/Download the Script here

X-cart Cart-Lab.com Resources, and More!

Labels: , , ,

Blinkbits
co.mments
Delicious
digg
Furl it!
NewsVine
Reddit
Spurl
TailRank
DZone
Google Bookmarks
taggly
Windows Live Favorites
addtoany
technorati



Saturday, January 20, 2007

Question about quote from X-Cart manual.

...your customers' data stays protected even if your database gets stolen - provided, the malicious person does not have access to your config.php file and has not stolen your Blowfish key in some other way.
What the manual is referring to is the simple fact they have implemented "Blowfish" encryption when storing sensitive data, such as credit card information and passwords, within the database. Keep in mind if your using an alternative processor like Authorize.net or such and have no real need of keeping a customers credit card information on file, like using X-Cart's subscription module. Majority of the time if you are using an online credit card processor than there is really no need for yourself and the processor company to keep a copy. Keep in mind if you are using a manual processor than obviously you'll need to store the customers credit card information, but I would HIGHLY recommend you remove the customers credit card information after the order has been successfully processed and the customers happy.

You can edit config.php and completely remove the storing of Credit Card data within X-Cart. Look for the variable $store_cc and set it to false, it is set to true by default. Thankfully the default is NOT to store the CVV2 security code, which is highly discouraged by Visa and Mastercard themselves.

The alternative is to periodically remove this information from Customers profile and Order data. Within X-Cart's administrative area, go to "Summary" and proceed to "Credit card information removal" I would recommend clearing both available options.

Keeping sensitive data as far way from anyone is the best fail safe method to keep your customers sensitive data "secure". If the processor gets hacked and your customers data does get stolen (highly unlikely) but the faults with them, not you.

The last sentence of the quote is referring to the $blowfish_key that is generated upon installing X-cart is held within the config.php file, this is another reason to keep up with all security patchs, not just X-Cart's to help prevent any loss of data and damages. If a malicious person did get a hold of your database but NOT the blowfish key it would be very difficult for him to even get one number out of the database. No cypher really is fail safe in a sense because brute force attacks and other means can be deployed to decrypt. It does require quite a bit of time and processing power to achieve this.

Some references:
Wikipedia on Blowfish
My previous 2004 security recommendations for X-Cart
X-Cart related article

X-cart Cart-Lab.com Resources, and More!

Labels: , , , ,

Blinkbits
co.mments
Delicious
digg
Furl it!
NewsVine
Reddit
Spurl
TailRank
DZone
Google Bookmarks
taggly
Windows Live Favorites
addtoany
technorati



Saturday, January 13, 2007

100+ Social Bookmarks for X-Cart released

Social bookmarking sites are a hot and popular way to store, classify, share and search for relevant links through the practice of folksonomy. Other than bookmarks some services specialize in: feeds, books, videos, music, shopping items, etc.

Allow your customers to easily share your products and/or static pages with these bookmarking services. With the ability to simply click their favorite service and share your products/pages with other users of the same network, greatly helps increase traffic and exposure to your products. Social bookmarking also allows for many other sites to have back links to your products, which can increase your search engine exposure.

HTML Catalog Friendly, and supports all dynamic rewrite modifications available for X-Cart. Even works on any other product besides X-Cart!

X-cart Cart-Lab.com Resources, and More!

Labels: , , ,

Blinkbits
co.mments
Delicious
digg
Furl it!
NewsVine
Reddit
Spurl
TailRank
DZone
Google Bookmarks
taggly
Windows Live Favorites
addtoany
technorati



Wednesday, November 29, 2006

Simple mods to make X-Cart admin life easier

One of the anoyoing bits of X-Cart's modify product area is the javascript prompt about how I need to remember to click save to actually associate the uploaded image.

Since I already know that changing the thumbnail on a product requires me to click "Save" or else the temporary image is lost. By removing the js confirm from the "Change Image" under the product thumbnail. You can skip a click!

First edit skin1/main/product_details.tpl

Note that all this was done with version 4.0.x of X-Cart but most likely will apply similarly to 4.1.x of X-Cart.

Find this line:


Change to:



Note, we removed the confirm() Javascript function. Perhaps X-Cart should get rid of the temporary image display confirmation and just set the thumbnail after uploading it. Which brings me to another quick fix.

Edit skin1/single/home.tpl (Pro version this file will differ) locate:



And change to:



What this will do is, after uploading a new thumbnail to your product, there will be no need to click the "Save" button, as it will auto-magically save it with the onload javascript event handler in the body tag that I added. Keep in mind this can make editing multiple product images a pain. Unless your really quick to get to the checkbox :) However its rare that I have to change multiple product images, however if you need then you'll have to disable this one in order to apply an image to multiple products.

Another good trick if your using the File System for storring images is to "select" the default drop down on the popup_image_selection.tpl file.

Cart-Lab.com: X-cart Resources, and More!

Labels: , ,

Blinkbits
co.mments
Delicious
digg
Furl it!
NewsVine
Reddit
Spurl
TailRank
DZone
Google Bookmarks
taggly
Windows Live Favorites
addtoany
technorati



Friday, September 29, 2006

Server Move

Currently Cart-Lab.com is being transfered to a new faster, more efficient server. A suspected down time is currently under way. Purchases and Support have been temporarily rendered useless until I can make proper changes from the move. Both abilities will be back up within 1 business day.

Labels: , ,

Blinkbits
co.mments
Delicious
digg
Furl it!
NewsVine
Reddit
Spurl
TailRank
DZone
Google Bookmarks
taggly
Windows Live Favorites
addtoany
technorati



Tuesday, September 19, 2006

CSS Skin for 4.1.x progress

UPDATE - Pre-Order for the 4.1.x CSS Template is now available, save 20% on the release cost of $99.99. Estimated Delivery Date will be December 12th, 2006. More details here:
X-Cart CSS Template


CSS Template for 4.1.x is still under development and testing, however the majority has been completed and official x-cart add-ons and other not-so-common Os/Browser versions are being tested. I now have a G4 Mac to help test locally. For those who complained about the previous version and Safari. Some other hurdles to finish over comming is making sure all templates and CSS are still W3C compatible.

Feel free to join the periodic newsletter for notification of its release.

A commercial release will be available very soon.

Cart-Lab.com: X-cart Resources, and More!

Labels: , , ,

Blinkbits
co.mments
Delicious
digg
Furl it!
NewsVine
Reddit
Spurl
TailRank
DZone
Google Bookmarks
taggly
Windows Live Favorites
addtoany
technorati



Friday, September 01, 2006

Google Mini X-Cart integration released

The number one item in 2005, "Top Ten Mistakes of Web Design" according to Usability Expert, Jakob Nielsen is that Search has become the quintessential element used on the web for customers/users trying to find exactly what they are searching for.

X-Cart's internal Search capabilities are not very up to date. As of Version 4.1.x OR logic was finally implemented. Something that has been around for ages. X-Cart's search has no Spelling Suggestions, no Stop Words, no Automatic Punctuation Removal, no Ranking, no Synonyms, the list goes on and on that today's search users expect of their search queries. The only time X-Cart's search is even useful is if you know exactly what your looking for. Variations will not do the trick, "AcmeWidget" and "Acme Widget" will return two different sets of results. X-Cart's search will also ONLY search over products of your X-Cart store, ignoring Any static pages, or even other integrated systems such as a forum or support system, like phpBB and Kayako, for example.

More details.

Cart-Lab.com: X-cart Resources, and More!

Labels: , , ,

Blinkbits
co.mments
Delicious
digg
Furl it!
NewsVine
Reddit
Spurl
TailRank
DZone
Google Bookmarks
taggly
Windows Live Favorites
addtoany
technorati



Friday, August 04, 2006

14 Search Marketing Questions, Answered.

Cristian Mezei has posted a very nice list of forum user posted questions from digitalpoint.com. While I agree with the whole article and think its a definate read, the only problem I have is with number 11:
Many people are saying that CSS plays a big role for ranking HIGH on the search engines, and that Table sites are getting old and they don’t rank high as CSS (tableless) sites. How true is that?
Skionxb, that’s not true at all. IMHO, more than 70% of all the websites worldwide have HTML errors and are not valid. More than 80% of the websites worldwide are created with tables. They all rank good or at least the same as any other website (css or not, tableless or not, xhtml/css valid or not).

Just build a website for it’s content, and stop believing in the “if it’s valid and tableless, I’ll rank higher” myth.
Of course I'm quick to defend the benefits CSS can play in SEO with a comment to his wonderful article:
I would have to disagree with your answer to number 11. Anyone who’s ever deconstructed any web crawler you’ll notice the more clean code you can anticipate the better off the crawler is on capture your content and building more links to follow. Malformed HTML or what not can actually cause unexpected hiccups in a crawler, like endless loops, thus ultimately causing you the lose of the crawler indexing the page properly. Another plus with CSS is with absolute positioning you can easily put your “meaty” content at the very top of the source, and all of your re-occurring elements like Header, Side bars and a footer after the contents you really would like to be indexed. This may seem pointless but yet, again deconstruct any spider script/program and you’ll see the benefits this can reap. Other than this you’ve got a very nice list! +bookmarked! Keep it up.
Related Linkage:
  • Proof of CSS absolute positioning concept.
  • Cristian Mezei Original Post
  • Cart-Lab.com: X-cart Resources, and More!
  • Labels: , , ,

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Monday, June 19, 2006

    func_print_(d,f,r) X-Cart 4.1.x

    Apparently X-Cart decided NOT to include, func.debug.php on every page. Why I don't know, 4 function definitions won't cut down on speed or memory optimization much. I suppose it could cause security concerns but I highly doubt it. If your security conscious, remove my addition or comment it out immediately after debugging!

    Since I'm a huge fan of using func_print_r(); when developing I decided to make my own include entry in config.php after the debug settings.

    $debug_mode = 3;

    # Cart-Lab.com Globalize func_print_r again!
    if($debug_mode != 0) include $xcart_dir."/include/func/func.debug.php";


    Cart-Lab.com: X-cart Resources, and More!

    Labels: , ,

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Monday, June 12, 2006

    Why Dynamic Rewrites are a bad idea.

    I'm seeing more and more people going after dynamic search engine friendly url's. Which most all solutions i've seen utilize apache's mod_rewrite.

    Dynamic rewrites of pages just adds even more overhead to your pages. From most of the sites I've been working on recently have very high number of concurrent customers browsing at one time, such a solution wouldn't be worth my time as it would merely add more loading time for the customer's, and ultimately costing the store owner a sell.

    Think about 10k concurrent users, hitting MySQL/PHP constantly, vs a static snapshot of the same page the HTML catalog generates. I believe X-Cart has the right approach, as it not only makes SEO friendly pages but also takes a huge load off your server. Best viable solution is a HTML catalog generation nightly during off peak hours, and forcing the customer to the HTML pages as much as often. Most will argue that since the HTML is static theres no way to inject dynamic based content, i.e. the Mini Cart, Authentication area, etc. The solution: AJAX :)

    Cart-Lab.com: X-cart Resources, and More!

    Labels: , , ,

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Wednesday, May 31, 2006

    10 Reasons Why X-Cart 4.1.x is an improvement.

    After finally getting enough time to sit down and really evaluate the latest release of X-Cart version 4.1.1. I've found many advantages to this new release compared to its little brother 4.0.

    1) All images are now able to be storred via the File System, this includes, Manufacturer images. Not to mention the ability to easily copy/paste image urls into your products, and simply check a checkbox "Upload all remote images to the selected image repository (database or file system):" Found in the Images Location menu to pull these images off a remote server and store locally. This is a huge plus if you ask me, as I'm even doing such for a client now with version 4.0.x!

    2) I had mentioned this previously in on the X-Cart forums. The ever growing include/func.php has now been cut into smaller segments, which will defiantly help in memory optimization, speed and security. Previously even admin based functions where loaded up on the customer side, sitting in memory not doing anything for the customer but taking up room like an obese person on a bus. All segments have been moved into include/func/.

    3) Detailed Images popup is now integrated. It's not my exact code but does perform very similar to the code I had posted previously for 3.5.x and version 4.0.x. This can also be disabled easily now for those who like to display detailed images on the same page, especially those whom hate popups.

    4) "Maintenance Agent" & "Logging Options". Gives you the power of a cron'ish type setup but with relevant X-Cart data. Such as receiving a daily email of all order status changes, or sending a log of payment processor errors to better help us identify any errors within our stores and fix them quicker. Site statistics can also be sent periodically as well. This is one feature I really think can help alot of us.

    5) System Fingerprints. Ah, finally something that will make modding and upgrading life easier. I've not really had a chance to test this feature as much as I would like to but I do know it will defiantly come in handy down the road, especially once it comes time to upgrade. Basically allowing you take a snapshot of your existing PHP and TPL files so that you can easily compare what has changed, etc. So those of us who like to tweak X-Cart as much as possible, be it with home grown code or 3rd party commercial mods.

    6) Express Lane Checkout. Defiantly an improvement on the previous versions, however it may not fit everyones customer base, it is defiantly a good start and a much needed improvement to the out-of-box checkout system, ultimately increasing customer conversions! Which we all like :)

    7) And/Or Logic control on searching. Even though X-Cart's search is still very premative. I know this was a mod I saw quite often in peoples search.php files, as an OR logic will return alot more hits than an simple AND logic. Somethings however I'd like to see is Stop Word lists that are editable, Fuzzy Matching, Spell Checking, Thesaurus, Proximity Matching, and keyword indexing to help build more relevant results. This day and age, I think search has become everyones vital tool, and will need to be looked at closer by the X-Cart team. However, OR/AND Boolean Operators is still a much needed improvement.

    8) No more session sharing between admin and customer logins, so your not logged out from the customer side soon as you login to the admin. I know I hated this! :)

    9) The ability to import way more data via CSV than before!

    10) ...And My personal favorite. HTML and CSS is now W3C Valid! Now the search spiders have no reason to stray away from pages X-Cart generates. Defiantly a huge improvement. I can only imagine the hell the Qualiteam guys/gals went through to make this happen. I know I spent atleast 3 months creating the CSS Template that was available for 4.0.x, and it was only CSS valid, not HTML W3C Valid. skin1/customer/home.tpl has greatly been reduced and cleaned up, It is the base file most use in re-designing their X-Cart, atleast Its where I do :)

    All-in-all, I hear most mod developers saying this should of been X-Cart 5, instead of a sub-version like it was, as ALOT of systems have been re-written and thought through more closely.

    See for yourself, use www.mysqldiff.com and compare a 4.0.x DB to 4.1.x and you'll see the many changes, especially in indexes to help speed up X-Cart even more.

    Two thumbs up for me. I don't plan on using 4.1.x however for atleast a few more bug fix releases, It was around 4.0.5-7 that a stable, usuable release for 4.0.x was starting to be used more widely. I wouldn't recommend upgrading yet, but I would defiantly start looking into routes to take once you've used 4.1.x enough and feel its suitable and stable enough for your bussiness model.

    Cart-Lab.com: X-cart Resources, and More!

    Labels: ,

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Tuesday, April 18, 2006

    Un-used Google SiteMap Creator with PHP

    I had spent many hours on a Google SiteMap crawler to be used with X-Cart but was eventually abandon after I saw how much time and effort it would take to perfect. Not to mention the number of perfectly good desktop applications that appeared shortly after I had took the plung to write such. Anyhow, I'm sure some of you may find it useful if your trying to write your own Spider. I Offer no support or warranty on the below code so please do not ask me coding questions, I don't have the time to answer them, theres more appropiate channels like Site Point's Forums for such.

  • Get the Code
  • Labels: , , , ,

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Friday, April 14, 2006

    Internet Explorer ActiveX update


    Microsoft can kiss their ever dropping browser margin By-By.

    Eolas Technologies seem to be money hungry like everyone else these days. Thank you Eolas Technologies for making my life SO much easier. I plan to boycott your company for time to come. Surely your money hungry execs. Can come to a decision that doesn't completely piss off every IE user but I say...

    Firefox here I come!

    Internet Explorer ActiveX update
    eWeek article regarding the Case
    Kirupa Forum Discussion

    Labels: , ,

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Friday, March 10, 2006

    More analytics site profiles available

    I logged into Google Analytics to find a nice welcome message.

    As part of our effort to expand system capacity, your account now has the ability to utilize additional profiles. The total number of profiles enabled is: 5.

    It seems Google is starting to allow some existing users the ability to invite friends/collegues. Related Blog on Google Analytics site profiles available.

    My previous posting in regards to implementing X-Cart with Google Analytics

    It also looks like Google implemented something to compete with ClickTracks overlay ability to see graphs directly over pages, etc.

    Site Overlay

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Monday, March 06, 2006

    Keith Devens - PHP XML Library, version 1.2b

    I needed a quick way to parse an XML into an Array and happen to stumble upon Keith Devens - PHP XML Library, version 1.2b I'm defiantly going to make it a common library as it makes un/serializing a snap!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Saturday, February 04, 2006

    Google Mini Implementation with PHP/X-Cart

    1) Customer enters "foo" in search which submits to custom PHP file created for the steps following (2-5).

    2) "foo" is normalized within the PHP file in different manners to help prevent any unwanted characters. (URI Escaping, white space removal, etc.)

    3) A request is formed that will be passed to the Google mini via PHP function: fsockopen(); This is a normal HTTP 1.0 GET method request with our substring keyword "foo" Other boolean flags for the mini to return the proper results we need to parse in the next steps. Which include Filtering, Localization, Sorting, Custom Meta Tags (this is where author and other such fields can be sorted upon) and Limits on results that Mini needs.

    4) An event handler is created for the fsockopen(); function that will handle the XML results Mini returns to PHP.

    5) The event handler function contains a simple XML parser built with expat that will extra all necessary data needed. All collected data that was parsed from the XML is then passed along to X-Cart's template engine (Smarty).

    6) This allows for the .tpl file to be created in the next step which is where all of our formatting as well as menu's such as Paging navigation and Filtering. These are merely new query string GET URI variables that are passed along to Google Mini in step 3. (See Request search variables: num,start, and sort)

    7) After a user follows a navigation link like filtering, navigation paging or enters a new string to search for; All steps are then repeated with different requests in the URI that would then be interrupted to allow for different results easily.
    ---
    REFERENCES
    Google API XML Results used in this example: http://code.google.com/gsa_apis/xml_reference.html

    PHP Documenation on fsockopen function:
    http://www.php.net/fsockopen

    Details on expat and XML parsing with PHP:
    http://www.zend.com/zend/art/parsing.php

    Smarty template engine:
    http://smarty.php.net

    X-Cart:
    http://www.x-cart.com/

    Labels: , , ,

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Friday, January 13, 2006

    Hubble Face?

    HubbleSite - Hubble's Sharpest View of the Orion Nebula - Image - 1/11/2006

    Is it just me, or does anyone else see a face in the new Hubble high def. shots of the Orion Nebula?

    Hubble Face?


    I defiantly see two eyes, a nose and what appears to be a mustache or full beard?

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Wednesday, December 14, 2005

    Download Links on Invoice / X-Cart Modifications

    New Modification released today: Download Links

    Allow customers the ability to download their purchased E-Good products right after they have completed their order with you. Download links are displayed upon the invoice or "order_message.tpl" page of X-Cart. Multiple products are supported as well as mixed orders: tangible and electronic goods combined.

    More Details Here.

    Labels: , ,

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Monday, November 28, 2005

    Yahoo Shopping Data Feed for X-Cart

    Finally got around to releasing a new modification today. Yahoo Product Submit Data Feed. This mod will generate an appropiate file of all of your available products from X-Cart. Any product set available for sale and has atleast 1 available quantity. More details here: Yahoo Shopping Data Feed for X-Cart Version 4.0.x

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Wednesday, November 16, 2005

    Google Analytics & X-Cart

    Here's a simple method to integrate Google Analytics with X-Cart 4.x. A few of the fields are missing like affiliate, however majority are populated based on order data:



    Copy the above code (keeping line feeds/carriage returns in tact) to skin1/g_analytics.tpl.

    Open skin1/customer/home/order_message.tpl and locate: {/section} insert the following <strong>BEFORE</strong> it:

    {*** Google Analytics conversion tracking ***}
    {include file="g_analytics.tpl" products=$orders[oi].products order=$orders[oi].order}


    Edit skin1/customer/home.tpl and find the <body ...> tag and update accordingly:

    {if $body_onload ne '' or $smarty.get.mode eq "order_message"} onload="{if $smarty.get.mode eq "order_message"}javascript:__utmSetTrans();{/if}{$body_onload}"{/if}>


    Google Analytics

    Labels: , , ,

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Monday, November 14, 2005

    Yahoo! Search Results for x-cart


    It appears Yahoo has taken a strong liking to cart-lab.com; Ranking above X-Cart themselves for the keywords "x-cart" and "x cart".

    Yahoo! Search Results for x-cart

    Now if only Google will start re-ranking pages that have been 301 redirected.

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Thursday, October 27, 2005

    Improving X-Cart's Search

    After dealing with X-Cart more and more on a daily basis one aspect it is lacking in is the search capabilities.

    We've all used google or yahoo search at one point in time. Compare how friendly Google's results are compared to X-Cart's. You'll notice a significant amount of difficulty finding what your looking for.

    Here are some ideas I've put together on how to perhaps improve X-Cart's ability to search properly. Normalize all product names and descriptions (get string length on descr,fulldescr to decide which to index with); Remove Punctuation [!@#.] and HTML/JS [<(.*).>]; Convert [1-9] to word counterpart [one-nine]; Use OR Logic to split the search substring into parts to compare other possible results; Suggesting Keywords that may have more relevancy on small amount of results; Dictionary spell checker with the ability to custom tailor entries; Use MySQL fulltext field type instead of TEXT field type on the `xcart_products` table.

    Why fulltext fields? Because they offer a lot more possibilities than VARCHAR to offer more accurate results to the customer. Such as built-in stop words and booleans, which ultimately improve the reliability that a potiental customer is searching upon.

    More Information on fulltext searching:
    MySQL Docs on fulltext searching

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Saturday, October 22, 2005

    X-Cart CSS Template

    Next Generation X-Cart CSS Skin for X-Cart version 4.x. With many great enhancements and modifications that allow for greater Search Engine Optimization & Usuability. Ultimately increasing your conversion rate and increasing your return on investments.

    This is the perfect skin to use as a skeleton or starting point. Easily customizable cascading style sheet makes creating a new look quick and painless for anyone with intermediate knowledge of Cascading Style Sheets.

    More Details Here:
    X-Cart CSS Template / Version 4.0.x Skins / X-Cart Templates / Cart-Lab

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Friday, September 16, 2005

    Instant Product Search

    Instant Product Search modification has been released. Allowing customers to instantly see product search results without ever clicking or pressing anything other than the customer simply typing in their keyword. Excellent mod for those who are looking to really spice up their site with the latest and greatest features to offer your customers. Ultimately generating a higher conversion rate. There is an Advance and Basic Version to better suite your needs and wallet.

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Monday, May 23, 2005

    Writing your own X-Cart modifications


    <?php
    # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # X-Cart mod template by cart-lab.com
    # A Basic PHP template for X-Cart 4.0.x
    # Written 5/23/2005 9:07AM
    # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    /*
    Require X-Cart functions & Categories if you are creating a new modification that is not included but rather called upon by the URI. These lines are mainly used when you are saving the php file in your /xcart, /admin or /provider directory as they all have the auth.php file that will include all of X-Cart's basic functions and basically initialize X-Cart.
    */ 
    require "./auth.php";
    require 
    $xcart_dir."/include/categories.php";

    /*
    If your are including this code elsewhere and not from the URI then uncomment the below line and comment/remove the two require statements above as they will have already been included. This line of code will help keep those trying to access this php file via the URI, which will simply redirect them to the homepage.
    */
    #if ( !defined('XCART_SESSION_START') ) { header("Location: ../../"); die("Access denied"); }

    # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # CONFIG
    # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # Here is where we set any configuration variables the script may use
    $hello "Hello,";
    $world "World!";

    # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # START
    # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # Insert your code here
    $hello_world $hello." X-Cart ".$world;

    # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # END
    # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

    # Send the variable to the Smarty class to be used in a .tpl
    $smarty->assign("hello_world",$hello_world);

    # This is the variable that will control what .tpl to reference in common_templates.tpl
    $smarty->assign("main","hello_world");

    # This function will start the display of the .tpl's
    func_display("customer/home.tpl",$smarty);

    /*
    You'll add a new elseif condition in common_templates.tpl which looks for the variable $main to eq "hello_world" which will include the .tpl you specify in the elseif condition.  Below is the single line in my .tpl for this above example. (minus the # comment)
    */

    # {$hello_world}

    /*
    Which will print "Hello, X-Cart World!";  Placing this line of code in X-Cart's main area of content (the middle) keeping the site structure, header, navigation side bars and footer.

    There are also other methods when it comes to creating X-Cart mods, if you are somewhat familiar with Object oriented programming you can easily write ALL of your php and display code in your .tpl file with the {php}{/php} smarty tags.  You can easily access the $Smarty class and manipulate it as you see fit.

    A good example to see how you can achieve this, paste the following code in one of your .tpl files:

    {php}func_print_r($this->_tpl_vars);{/php}

    Which will output a nested layout of the current template .tpl vars.

    You can also use:

    {php}func_print_r($GLOBALS);{/php}

    To see EVERY variable available.  

    NOTE: This method of creating mods is a bit more time consuming not to mention the code isn't as clean but it makes its alot easier if you are redistributing your mods to novices.

    Happy X-Carting.
    */

    ?>


    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Saturday, April 09, 2005

    New 4.0.x Skin and Modification!

    A new Template for X-Cart 4.0.x has been released.
    http://www.cart-lab.com/Red_Orange_Skin_40x-p-68.html

    Demo:
    http://www.cart-lab.com/demo_4x/home.php?skin=redorange

    Also an Ecommerce Log Formate 2 (ELF2) Generate modification has been released. Now you can easily use X-Cart and Urchin and other Web applications that supports this common log format so that you can easily get detailed statistics of users to real transactions, etc.

    Details:
    ELF2 Log Generator for X-CArt.

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Friday, April 01, 2005

    Speed up your X-Cart Site! (Revised)

    For those who want to speed up your X-Cart site, If you're getting a high server load, a few recommendations:

  • Install IonCubes PHP Accelerator or Zend Accelerator.

  • Login to the admin under modules, disable advanced tracking.

  • Edit include/atracking.php find the line update_statistics(); and comment this out with a # or //

  • Add php_flag zlib.output_compression On to your .htaccess file, if your having weird output in the admin per say in the X-Cart admin HTML Catalog generation simply add the same flag to an .htaccess in your Admin directory but set it to Off instead of On. (Thanks to Markwoo from the X-Cart forums for this one) A Side note on this one, if your having problems downloading generated csv or other such files, disable this php_flag and it will work properly, you'll have to re-enable it however to keep the site compressed. I'm not sure if this flag can be set via .php, if so you can always set the flag in the php file thats generating the file.

  • Do NOT use 3 column layouts, as they use multiple {math} statements within section loops, causing major cpu cycles. Even Smarty's documentations warns about this. There are other scripts as well, like the navigation.tpl for paging that uses {math} tags. If these simple math calculations can be moved into the php would be the best alternative and a better performance.

  • Optimize your database tables regularly, sometimes bad data collects in the db that causes a slower performance, and remember X-Cart is rather db intensive. This can easily be done via phpMyAdmin, or even a cron job.

  • Make use of the HTML Catalog as it can really lighten the load on the database as well as make download times faster for your customers. I know some say, I have over 10,000 products. My best suggestion is setup an alternate server that does nothing BUT generate the catalog.

    These should greatly increase server load times as well as not beat up your mySQL server ;) Note that disabling both advanced tracking and the atracking.php will make your x-cart NOT store ANY stats, so your stats pages will not be reporting appropiate data, Use your server logs instead with a good log analyzer like WebTrends or such.

    Happy X-Carting!

    Cart-Lab.com: X-cart Resources, and More!

  • Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Friday, March 25, 2005

    Convient way to debug template variables.

    Been doing alot of customizations lately, and I really was tired of enabling and disabling the debug/smarty console to take a look at variables available to the .tpl files. A quick and easy way to find those pesky variables is to simply use this line anywhere in your .tpl:

    {php}func_print_r($this->_tpl_vars);{/php}
    You can also take a peek at some of the compiled php files in templates_c/ to get a better idea as well.

    Happy X-Cart'ing!

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Tuesday, March 22, 2005

    Contest Plus X-Cart 4.0.x compatible & 3.5.x Button Sets

    Contest Plus Modification is now X-Cart 4.0.x compatible. Easily create a contest where your users can submit their photos of your products. Run contests and giveaways to winners. Highly configurable. More Details Here.

    All of our X-Cart 3.5.x compatible buttons have been combined into one 11 button set package for only $19.99, That's almost $2 per button! More Details Here.

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Sunday, March 20, 2005

    "Serenity" X-Cart Skin (4.0.x compatible) released.

    A Lighter more friendlier X-Cart 4.0.x compatible skin has been released. With blue and green highlights and subtle CSS effects, details here:
    http://www.cart-lab.com/Serenity_Template_Skin_40x-p-66.html

    Demo:
    http://www.cart-lab.com/demo_4x/home.php?skin=serenity

    Currently in development are: CSS2 Skin Conversion will soon be available also. With SEO optimizations for better placement. Skin/Template is also easily tweaked by simply editing the .css file. Details soon.

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Wednesday, February 23, 2005

    X-Cart 4.0.x Template/Skins

    New X-Cart 4.0.x Skin released, Here are the details:
    http://www.cart-lab.com/Blue_Tech_Green_Skin_40x-p-65.html

    Demo:
    http://www.cart-lab.com/demo_4x/home.php?skin=bluegreentech

    Currently in development are: More 4.0.x skins, hopefully they will be released weekly, so expect to see a wider selection for 4.0.x templates.

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Tuesday, October 05, 2004

    New Products & Dirty Diapers!

    Been slacking on adding new products for you X-Cart junkies out there. Much less keeping this Blog updated. Shame on me. None-the-less here are some of the new products I've gotten around to releasing for public consumption:

    Tabbed Product Menu's for 3.5.x & 4.0.x
    Completely CSS/DHTML Driven Tab Menu's added to help remove the clutter of default modules that comes out-of-box with X-Cart. You can see it in action as well as more details and the included installation instructions at the url below:
    http://www.cart-lab.com/Tabbed_Product_Menu-p-56.html

    Next and Previous Product for 3.5.x & 4.0.x
    Adds a "Next" and "Previous" buttons at the bottom of your product details page's. Allowing customers an easier way to browse around your products after scrolling down reading the current product details, without having to press the browsers back button, etc. Details and demo can be found here:
    http://www.cart-lab.com/NextPrevious_Products-p-54.html

    vBulletin Integration Module for 4.0.x
    Jelsoft's vBulletin that allows all of your customers once registered will have the same, username, password, email and website url as their information within x-cart.
    http://www.cart-lab.com/vB3_Integration-p-48.html

    Product Listing Votes for 4.0.x
    Wholesale Tools for 4.0.x
    BizRate Feed for 4.0.x
    Same great features of the 3.5.x version of these modules, Just super-sized for version 4.0.x of X-Cart. More Details and other 4.0.x modules available here:
    http://www.cart-lab.com/Modifications_40x-p-1-c-15.html

    Whats Next?

    The birth of my son, Aiden. (Which should be any minute now) Will more than likely slow down some of my production releases. However there are currently a number of new and improved products to be released. For example; New 4.0.x Skins that are Liquid CSS based and are SEO optimized will soon be released. As well as a Yahoo Product Submit data feed generation mod.

    Hopefully I won't be to swamped in dirty diapers and sleepless nights to bring more goodies to the X-Cart community.

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Thursday, July 15, 2004

    Total X-Cart Flash Support

    Add Macromedia® Flash® support to your product thumbnails and detailed images. Great for site owners who need to easily add audio clips, movie clips, demos and more.

    More Details...

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Friday, July 09, 2004

    WIN $1000+ of X-cart Enhancements!

    The great guys over at FireTankSoftware are having a free give-a-way contest for X-Cart'ers out there. Some of the stuff you could win:

    1 License Marketing Manager 2.0 Pro Bundle AND installation (worth $225)
    5 Licenses of Marketing Manager Standard (worth $99 each) and 5 x 10% off coupons
    10 X-cart inspector security scan subscriptions! (worth $19.99 each!)
    20 x 20% off coupons for use on their site!
    50 x 10% off coupons for use on their site!

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Saturday, July 03, 2004

    Tracking Number Import and Templates

    All X-Cart templates available are now much more affordable to those who need a quick, snap in solution without much hassle. All prices have been cut almost in half!

    Also a new Mod has been released that makes importing of tracking numbers and setting orders to complete once the tracking numbers have inserted. Making the updating of your orders and notifying of your customers a breeze.

    More templates and great new mods coming soon!

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Monday, June 28, 2004

    X-Cart Fraud Detection System

    Just recently released a X-Cart Mod that will help detect and detour fraud orders from ever getting passed you. It uses the API from the guys over at MaxMind.com. Who have a extensive GeoIP technologies as well as other factors to help locate and determine which orders are false and which are good.

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Monday, May 10, 2004

    E-Commerce News

    Recently added a RSS news browser with some related E-Commerce news feeds, to help make Cart-Lab.com your one stop resource for X-Cart, E-Commerce and Marketing resource. Be sure and suggest your favorite RSS feeds to me if you'd like to see them added. The source is also available for anyone who'd like to add RSS feeds to their X-Cart. View the latest E-Commerce News!

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Thursday, April 29, 2004

    X-Cart Security (Revised)

    Security Focus - X-Cart vulnerability

    Since a rather large hole was recently discovered in X-Cart versions, 3.2.x to 3.4.11. It seems to have brought a lot of bad people out of the shadows, since bugs like the Security Focus above have been appearing I am hearing more and more of people getting fraudulent orders as well as some X-Cart's compromised completely.

    So, I've decided to write this short article on some of the best methods you can take to make sure your NOT a victim of these bad seeds that want to do nothing but rip you off.

    1. Password protect admin/ and provider/ directories IMMEDIATELY if you have not already.
    2. If you cannot password protect these directories, in X-Cart 3.5.x+ you can edit top.inc.php and rename your admin and provider folders defined here, so they are not as easy to locate.
    3. Change all passwords at least every 30 to 120 days.
    4. Keep an eye out for security patches that Qualiteam releases for X-cart and apply IMMEDIATELY.
    5. Use HTTPS when accessing the X-Cart admin and provider areas ALWAYS.
    6. If you do a database backup to your xcart/log/ directory make sure you remove it after its been downloaded locally.
    7. If you are selling E-Goods use manual processing for CC orders, don't allow for instant processed orders.
    8. 3.5.5+ A new use HTTPS method for customer logins and registration has been added, use this feature!
    9. 3.5.5+ Also has a blowfish encryption to better protect customers data, again, use this feature!
    10. If you are storing credit card numbers, make sure you have PGP/GPG setup properly as well as NOT to store CVV2 codes along side Credit Card numbers.
    11. If your payment processor supports CVV2 or AVS, Use them as it will help detect fraudulent orders.
    12. Change Salt encryption number/letter in config.php before going live.
    13. Set your config.php to a CHMOD 644 and disable all install scripts to CHMOD 000
    14. Never share your passwords with anyone, if you do decide use some type of encryption or over the phone to prevent them from being hijacked.
    15. Always make sure your server has the latest versions or has the latest patches installed of PHP, MySQL, PHPMyAdmin, SendMail, OpenSSH, etc. (Unsure? Contact your hosting provider)
    16. After any upgrade, remove all files/directories under upgrade/
    17. Also to help detour, CHMOD 000 xcart/VERSION this way potiental hackers won't be able to read this file and see what version you are using.
    18. If you are getting lots of fraudulent orders from overseas countries implement the High Fraud Blacklist (link below).
    19. Probably a lot more, got anything you'd like to add Contact me.

    Some interesting articles and/or downloads that are worth the time to stop and look over:


  • Cart-Lab Security
  • High Fraud Blacklist (CombatFraud.org)
  • PGP
  • GnuGPG

    Cart-Lab.com: X-cart Resources, and More!

  • Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Friday, January 09, 2004

    Setting up files/ folder for images properly

    Best method for setting up your thumbnails/icons/images in your files/ area is to create a subdir under files where you would like to keep your secure files, move the .htaccess file out of files/ and into a directory called "secure" persay.

    So:

    files/ (no .htaccess)
    files/secure/ (has .htaccess)
    files/images/ (no .htaccess)

    Now you can tell all images, etc. to use files/images/ and will have no troubles with displaying images on the front page.

    I'm using this same methd on www.cart-lab.com, where E-Goods are storred and images are also storred in a files/ subdirectory.

    hth.

    Also here's a .htaccess file to put in your skin1/ dir to keep prying eyes away while still keeping the templates readable by the server:
    Code:

    order deny,allow

    deny from all

    allow from all


    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Sunday, October 12, 2003

    Discount Coupon Modification

    Keep Customers from using Discount coupons to get a zero amount total or from going below the Minimum Total Allowed in the X-Cart Admin->General Settings. The following code was added to customer/cart.php:
    # Keep discount coupons away from free totals
    if($cart["discount_coupon"]!="") {
    if ($mode=="checkout" && !func_is_cart_empty($cart) && ($cart["total_cost"]<$config["General"]["minimal_order_amount"])) {
    header ("Location: error_message.php?error_min_order");
    exit;
    }
    } else {
    if ($mode=="checkout" && !func_is_cart_empty($cart) && ($cart["sub_total"]<$config["General"]["minimal_order_amount"])) {
    header ("Location: error_message.php?error_min_order");
    exit;
    }
    }

    Also more postings will be made soon, so be sure and keep an eye out for more postings as well as new products on CartLab!

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati



    Monday, August 25, 2003

    Page break each order while printing Invoices

    Okie so I've found a method of making "Print All" in the Orders area of the admin to page break for each order invoice instead of printing them all together (running together). More Details Here

    NOTE: If your using HTML enabled templates you shouldn't need to make copies and the adjustments below.

    Here's what I did:
    make copies of mail/order_invoice.tpl & mail/order_data.tpl

    I made my copies:
    mail/order_invoice_html.tpl & mail/order_data_html.tpl

    Now open main/order_invoice_print.tpl

    I then put a html, title & body tags around the template. (we have to do this so the page break happens).

    I then added a pre tag around both templates so the carriage returns will still work, then at the end of the last page mail/order_data_html.tpl I add the line:

    <p style="page-break-before: always">

    at the very last line of the file. This is what will cause the printer to start a new page so your orders are nicely printed one order per page.

    Kudos!

    Cart-Lab.com: X-cart Resources, and More!

    Blinkbits
    co.mments
    Delicious
    digg
    Furl it!
    NewsVine
    Reddit
    Spurl
    TailRank
    DZone
    Google Bookmarks
    taggly
    Windows Live Favorites
    addtoany
    technorati