views:

68

answers:

3

Hi all,

I have a site build which would seem to suit Magento up to a point, but the client doesn't actually want to sell anything - at the end of the process of choosing a product the user would simply be redirected to another site to complete the transaction (or not).

I would like to avoid just hacking these features out of Magento entirely so we can upgrade the site as automatic updates come out...

Anyone done anything like this before? Or would the resident gurus recommend a more 'from-scratch' build recreating the nescesary features?

Any advice is much appreciated!

J.R.

+1  A: 

Yes, Magento would be well suited for this, assuming you hire a developer who knows what they're doing. The only way I'd recommend the from scratch build is if you have a client who has deep pockets and wants to go along on that ride.

Magento's architecture was built, from the ground up, to allow users to make these kind of modifications without hacking on core code. From a high level you would build a Module (module actually means something in Magento talk, it's not just a generic term) that would insert an event listener (or override a code method) that would, at some point in the checkout process, collect up information about the order and pass it on to the next system.

The problem you're going to run into isn't one of code, it's one of culture. For all its object oriented architecture, Magento is still implemented in PHP. That means ambitious but inexperienced developers (both offshore and onshore) are going to find it easier to hack on the core source to get the results they want out of the system. Its always faster to get results this way, at the cost of long term stability.

Alan Storm
A: 

Sorry, I should have made it clear, I am the developer :)

I'm familiar with writing modules/plugins/themes for other platforms - Wordpress and Drupal for example - specifically so my clients have a 'pure' core structure which can be upgraded in the usual way... But not everything has a hook just where you want it... There's only so much you can do with Wordpress (for example) until it departs so far from what the platform was designed for that you have no choice but to hack the core.

So I guess I'm asking - does Magento have all the right hooks? Has anyone actually tried to do this? Will it be as simple as...

add_listener('checkout', my_func_without_checkout);

my_func_without_checkout() { stuff... }

...or is the transaction processing functionality so tightly integrated that it will be difficult to remove entirely?

Nicetechnology
Magento is very extendable, it's his best feature - you can easily remove the whole checkout part without hacking into core code; one of the bad parts of Magento is you don't have any documentation and if you don't have a lot of time to invest at this moment maybe it's better to use some other solution. So you can't say: ah, I need a catalog let's use magento - never use it before - and in one day or two you'll have your template integrated like in wordpress.
Anda B
A: 

I can recommend the "Magento without sales" approach (I call it "catalog-driven") from personal experience. Check out www.glasshousefragrances.com and circahome.com.au for two examples.

You can disable the core modules that are not required which will significantly improve performance. There are some dependencies that are not particularly obvious, so some trial and error is required to disable and test. Make sure that you disable the modules in app/etc/modules/ by setting <active>false</active> as just setting them to disable in the Web Admin only disables the admin rendering functionality.

If you can achieve reasonable performance (and there are plenty of wiki articles, blog posts, etc on that!), then I haven't found any downside to this approach, and plenty of advantages from the framework. It also gives you the opportunity to add in eCommerce down the track without rewriting the site.

HTH, JD

Jonathan Day
Thanks! I think I'll start a prototype using Magento and see how it goes.
Nicetechnology
...a litle concerned about Anda B's comments about documentation though... Is it really that bad?
Nicetechnology
The documentation has been quite poor, but there is now a body of articles/material that will provide you with the knowledge to perform the modular development that you need. In particular, Alan Storm (above!) has a number of excellent articles on his blog, and has authored a set of tutorials on the Magento wiki. These are excellent starting points. Also, if you are using a well set-up development environment with an IDE that can follow OO declarations and debug live code, you will find your way without too many difficulties. I prefer Netbeans 6.9 with Xdebug.
Jonathan Day
How did you go? Feel free to accept the answer if it worked for you...
Jonathan Day