Posts Tagged ‘e-commerce’

Volusion is probably one of the top 3 eCommerce solutions for small businesses on the internet. They offer credit card online transactions through Visa and Mastercard for considerably less than other alternatives, and secure trading over the internet.

What they don’t offer is a lot of wiggle room to customize the look of the website. The templates are fully customizable, but not for the content are of the site, such as the product display and category displays. Since Volusion uses .ASP pages to call their data, the pages are encrypted and aren’t given access to.

One of the most important things that Volusion stresses in their training videos is the importance of visual presentation, and then they don’t give you the ability to edit the look of one of the most critical parts of the site!

Luckily, thanks to a little research, and guidance from fellow web developers, scripts of javascript code can be used to identify certain parts of the site, and insert your own lines of code.


Volusion’s .ASP pages write the code in tables, as opposed to div tags, which are horrendous for SEO purposes, and also, you won’t have a div class to identify and override in your CSS. What you essentially have to do is identify a page by it’s URL, identify a table cell by it’s tag, insert your div tag in the table cell, and then write the corresponding CSS for that tag. Here’s how, step by step:

1) Identify the page you want to make changes on:

In the template of your Volusion site, insert the following code after your final div tag, but before the tag:

<script type="text/javascript">
//var sPath = location.href;
//if(sPath.indexOf('URL element defined by you') != -1) {

if(location.href.indexOf('URL element defined by you') != -1) {
</script>

All this is doing is essentially telling the javascript, if the page you are currently on involves ‘this’ in the URL, begin the code. It SHOULD NOT be the entire URL, but a unique part of the URL that Volusion uses, for example : ‘category_s’ or ‘product_p’.

2) Tell the code to begin identifying tables by cell:

Now you have to tell the code to create a variable based on which block element you want to use.

var tdTags = new Array();
var tdTags = document.getElementsByTagName('td');

What you are doing is creating a variable called ‘tdTags’ and you are getting that specific block element by the type which in this case is a table cell (td). You can use this code later for other purposes, because it will identify block elements only, i.e. div, table, tr or whatever.

3) Call to a specific cell table by number:

This is the fun part. Since the pages are written in tables, and tables flow left to right, you basically have to call to them by number, like 1, 2, 3, and so on.

var replcode = tdTags[8].innerHTML;
tdTags[8].innerHTML = "<div class=\"YOUR CSS CLASS HERE \">" + replcode + "</div>"

So here, it’s calling to table cell # 8, and telling it, take that table cell, wrap it in a div tag with the class name of your choosing, put the code back in, and then close the div. You can now go to your CSS, write that class style, and it will now insert it for that particular table cell, for that page only.

Basically, when you are done, the code should look like this:

<script type="text/javascript">
//var sPath = location.href;
//if(sPath.indexOf('URL element defined by you') != -1) {

if(location.href.indexOf('URL element defined by you') != -1) {

var tdTags = new Array();
var tdTags = document.getElementsByTagName('td');

var replcode = tdTags[TABLE CELL NUMBER].innerHTML;
tdTags[TABLE CELL NUMBER].innerHTML = "<div class=\"HERE \">" + replcode + "</div>";

}
</script>

You can repeat the last 2 lines of code and change the numbers as much as you’d like in the script. You can edit multiple table cells in one particular page, but if you change pages, you will have to write a new script, with a new unique URL element. Try it out, and see how it works for you.

PROBLEMS WITH USING THIS CODE :

It doesn’t come without its strings. I’ve definately encountered a few problems using this trick to get the look you want. The most notable :

1) Elements change constantly on a Volusion store. The idea behind being a web developer is turning this online store over to a client after the finished product is there. Since this code is POST data retrieval, when a client finally has their store up and running, their products may change, descriptions will change, amounts will change, and thus the table element’s numbers will change. The code will still work, but it may not call to the table cells you want anymore. This is NOT a dynamic script, sadly.

This is especially tricky is when you have a page that contains say 10 items, and then the next page has 5. The table’s are written left to write, not up and down, so if there is only 5 items, the table cells’ numbers will change for that last product, and it will take on the wrong elements and insert them. Unless you’re a super incredible web developer and want to insert a loop into your javascript code to prevent this (which sounds like a shit load of work), your pretty much stuck. Try to work around this.

2) It takes a lot of time to define these table cells. It certainly isn’t easy to just say, “oh, ok, Volusion put table cell #2 here.” You’re going to need something in place already to define a table cell element, and then call it by number. A LOT of trial and error. What i found was best is to just use a class with a small, thin red border around it. Start trying different numbers in the script to see where these table cells are placed on your page.

All and all, this code is good for small, minor changes, but will never be as satisfactory as simply having access to the .ASP pages. It will never be truly dynamic unless Volusion lets you.

Good luck!

Author: Randy Neil
Courtesy of: www.theheadrush.com

Being a consultant, I often encounter issues with shopping cart software not functioning properly. Usually a call to support or some code tweaking will resolve the issue rather quickly. Never in my professional life have I seen such a debacle as I have with the aplus.net and pinnacle cart software.

I am posting this blog to inform anyone interested in using aplus.net or pinnacle cart that they should seriously think twice before committing to a company like this.

The issue begins as a client of mine is having problems with Google Checkout not functioning properly on his web-store. He has many open tickets with aplus.net but none of them have been resolved. Some have been open for weeks with no resolution. So, I begin to think that something must be up with this. I get access to the back-end of the cart and start digging around for answers.

I check and re check settings that are claimed to work through this setup with aplus.net. All of the syntax is good, everything checks out but Google Checkout refuses to work. More specifically, it will not calculate shipping on the fly as it is supposed to.

I log into the client’s Google Checkout account to see what I could find on that end. Well, of course Google being the wealth of information that it is, easily directed me to the problem. The problem was the aplus.net server that the client’s site was hosted on was timing out while sending requests to Google Cart. This makes sense to me. Google provides a 3 second window for cart information transfers for security reasons and the aplus.net server is not communicating fast enough with Google Checkout. Excellent, a quick call to aplus.net support should solve this quickly as I have the exact error that is causing this issue.

Not the case at all. After dealing with aplus.net’s so called “technical support” for a few hours and being passed up to a tier two associate the best they could offer me was to submit another support ticket. (Am I not on the phone with support currently? Do they submit the ticket to themselves?).

So, this is beginning to get ridiculous as I begin to feel that no one at aplus.net cares about my client’s store or his business. All they can do is submit another ticket. Well, how many tickets does it take to get a problem solved? They have no answer to this. Every time I call “technical support”, the only answer I can get from aplus.net is “we will have to submit a ticket for you” and once again, that begs the question… am I not on the phone with support? They are trying to get me off the phone because they have no answer to my query.

So, that being the first issue, I figured I would move on to some more issues that my client is having with the site other than the Google Checkout errors. One of which is W3C compliance for xhtml and CSS. I proceed to bounce the site address off of the W3C validation website and get a list of all errors, all of which are easily fixable. So my next step in bringing the site up to code is to fix the errors on the pages themselves. I FTP into the server, locate the page, open it in my favorite text editor (TextMate) and am shocked at the results. Nothing but encrypted garbage! Are you kidding me? I can’t even do something as simple and important as fix html errors on the website to bring it to compliance standards? That’s just ridiculous.

So, I browse over to aplus.net and decide to live chat with a support agent. This is what I got:

You are now chatting with Julia
Julia: Hello, thank you for contacting Technical Support. Please wait one moment while I retrieve your account information.
Julia: Can you please specify your account number and domain name?
BEn: myclientssite.com
Julia: One moment
BEn: I am trying to edit php files to bring the website up to w3c complaiance standards. When I go to edit a php page, all of the information is encrypted.
Julia: Please specify account number
BEn: my cart license? Where do I find my account number?
Julia: We found it.
Julia: I will invite James to assist you
Julia: One sec
BEn: thank you
James has joined the conversation.
Julia has left the conversation.
BEn: hello James
James: Please verify the main account password
BEn: *****************
James: How can I help?
BEn: I am trying to edit php files to bring the website up to w3c compliance standards. When I go to edit a php page, all of the information is encrypted.
BEn: I need to be able to see lines of code
James: Which file specifically?


BEn: /cart/index.php
BEn: I am getting a list of errors on the w3c validator site, but when I attempt to edit the php page, there are a few lines of php at the top, but the rest of the page is encrypted
BEn: I can copy and past what I see if it would help
James: (here James proceeds to paste a few lines of code which I won’t paste here because it will mess up my w3c validation… either way, we all know what code looks like)
James: That is what I see.
James: The rest is encrypted.
BEn: exactly
BEn: and when the validation shows errors on line 115…. well, those lines are all encrypted
James: I am not sure about this. Let me ask a lead. One moment
BEn: thanks
James: Ok, I have your answer.
BEn: ok
James: The only way you get the source files is contacting Pinnacle Cart directly and asking them for their source code.
BEn: that’s ridiculous
James: We don’t have that information either.
BEn: wow… this is extremely disappointing
James: That was directly from my supervisor.
BEn: so… basically you’re telling me that you can’t help me?
James: Correct. Only Pinnacle Cart.
James: can provide the source code.
BEn: I don’t remember signing up for pinnacle cart
BEn: I thought I just signed up with A plus
James: That is the cart that you are using .
BEn: that you guys set up for me correct?
BEn: since this is all on your server?
James: It is a 3rd party application which is offered in the control panel. But we will not provide the source code.
James: Only Pinnacle Cart
BEn: I know, but what I am saying is that I had no choice in the cart software that you provide as a part of your service
BEn: and you can’t provide support for a service that you provide?
BEn: or a service that your clients are forced to use?
James: You can use any 3rd party software. We just won’t provide the support for it.
BEn: Yes, but I don’t recall choosing a cart service. It was set up by aplus
BEn: nor do I recall the option to chose my own cart service
BEn: Just tell me… did I choose this cart service or was it provided by aplus?
James: We don’t “force” any one to use the carts. The carts offered in the control panel are Pinnacle Cart and OS Commerce.
BEn: so…. if I switched to OS commerce, I would be able to edit pages?
James: You can also use your own cart.
James: Checking.
BEn: my own cart? What am I paying for here?
James: Os Commerce is open source.
BEn: can i switch carts in the control panel
BEn: and will it affect any of my current settings?
James: You can install OS Commerce from the control panel. However it’s not a “switch” you have to reupload to the new cart.
BEn: which means a DB dump and restore?
James: You would have to rebuild the cart. This is because the tables are not compatible.
BEn: Wow… I have worked with a lot of different e commerce solutions and have never encountered problems like this. I know it’s not you’re fault James, but this is absolutely
frustrating
BEn: I guess I’ll contact pinnacle
BEn: thanks

That’s supposed to be “technical support”? So, did I contact Pinnacle? NO… I started shopping around for other solutions for my client as I am extremely dissatisfied with aplus.net’s reaction to anything so far. Why do they make you choose from two shopping cart programs, neither of which they provide ANY support for? I have to contact them directly? Is this for real? A company that provides good customer service and technical support would handle this themselves and not pass it off on a PAYING CUSTOMER!

So, let’s re-cap. I have a so-called aplus.net “shopping cart” that advertises it’s compatibility with Google Checkout, and it’s not working. I have a web store that out of the box is not W3C standards compliant and can not fix it due to their encryption of php pages. So, basically my client is stuck paying for a sub-par, partially working web-store provided by aplus.net and pinnacle cart. Isn’t that what everyone wants? A partially working website? Am I missing something here?

Next item in the battle with aplus.net, I get a call from my client telling me that his customers are reporting to him that his shopping cart is down totally! So, now we’ve gone from bad to worse. I log onto the website and try to check my cart… 404 not found! Are you kidding me? Is this another joke? Nope… it is not. This is real life in aplus.net land.

As you can probably imagine, my head is spinning by now. I am baffled by this company and am starting to question the legitimacy of aplus.net all together.

So, yet another call to support. Same run-around, same brainless answers, same “I don’t care” attitude from the “technical support” department and the answer I got? You guessed it: “We will have to submit another ticket for you sir”. At this point I become fed up and proceed to ask the technician (used very lightly) for a corporate phone number so I can get to the bottom of this once and for all.

He provides it without question, I hang up and call immediately. I am greeted by a human which is a surprise and explain my situation. She immediately forwards me to someone that could help me. Much to my chagrin, I am once again face to face (or phone to phone) with someone who cares NOT! I explain my situation again, I must have explained this at least 10 times today. The man on the other end listens, I express my discontent and tell him that this is costing my client money. I speak in paragraphs of detailed explanation to him, pause at the end awaiting a reply and I get silence. I say “hello” and he confirms that he is still on the line with me. I begin to explain in further detail since he obviously has no answers for me, I felt he should know exactly how I was feeling at that point. He then decides to go on the defensive and tell me that I am not letting him speak in turn (me, the customer). Fair enough, I pause and tell him to continue.

Can you believe what he told me? He would have to submit another support ticket!

That was it. I was done. I have spoken with my client and we are coming up with an action plan to move forward with another shopping cart alternative.

I can not believe that a company can exist and succeed in this economy providing service like this. I would not recommend this company to anyone.

So, once again the bottom line is that the store is currently not working at all. I need to get this up and running so my client can start selling product again. I log into the cart admin panel and start digging around. I notice that the url for the 404 error on the cart page is not routing correctly. It is skipping over a directory. Ah, bells are ringing. I go back to the cart control panel and go to shopping cart options and find that the url entered for the store was missing a backslash “/”. Added the backslash to the url, hit save… store is back up!

aplus.net support couldn’t figure this out? They couldn’t even check for me. All they can do is “open another support ticket”.

So, buyer BEWARE with aplus.net
If you are satisfied with a partially working program that doesn’t live up to it’s own expectations, frustrating phone calls to support only to be left with “we need to submit another ticket” then this is the program for you.

If you would like a shopping cart solution that actually works the way it’s supposed to, I would stay as far away from aplus.net and pinnacle as possible.