PHP ecommerce system: which one is easiest to modify [closed] - php

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I will have to set up ecommerce application. It will be ecommerce with high traffic (thousands views per day, few thousands orders per day, 30000+ products). I’m looking for ecommerce software written in PHP. I have checked:
Oscommerce
zencart
Magento (http://www.magentocommerce.com/)
PrestaShop (http://www.prestashop.com/) +
OpenCart (http://opencart.com) +
Cubecart (http://www.cubecart.com)
agoracart (http://www.agoracart.com/)
storesprite (http://www.storesprite.com/)
optioncart (www.optioncart.com)
interspire (http://www.interspire.com/) ~$300 + 12months support +
x-cart (http://www.xcart.com/)
and my favorites are:
PrestaShop
OpenCart
interspire
something own.
After few hours spend with each I dont know if it fill my needs. Maybe you have some experience. The project im working on have many very "special" requirements so I need something that will be very extensible (eg. add new payments types, new promotions, add functionality to have custom view for every category and by "custom view" i don’t mind different category name color only). But for me "easy extensible" means not only well written code but also well documented with good support. As you see this doesn't have to be free/opensource but licence have to allow to modify source code. It also cannot be very expensive (less than $5000). Also it has to be fast. It must support few thousand orders/per day. I don’t care if output is based on divs, tables or HTML5 section/srticle. We gonna rewrite it anyway, but build in seo support (meta tags, urls) for category/product is must. It also should allow to have unlimited category depth. It will be nice to have built in CMS but I am not interested in cart extension to jomla/drupal. It have to be standalone ecommerce application.
I'm not interested in java/python because there is lack of developers so only PHP solutions are taken into consideration.
Why not Magento: it looks good ad have awesome admin panel, but i heard that it is very slow. Also "super admin panel" means that there is a lot of javascript/functions/classes and it probably will be harder to extend. Also heard bad opinions about support.
Why not oscommerce/zencart: worked with oscommerce and it was hell. Zencart is based on oscommerce and i suppose that not many things changed.
Others from my list looks the same. I can’t see bi difference in functionality. My choice of presta, opencart, interspire is based on user opinions found on the Internet.
Which one you can you can recommend me? Maybe something totally different?

If you're worried about extensibility, write your own. It'll cost less than modifying a pre-packaged off the shelf solution. Writing it yourself isn't cheap, but it's cheaper than making heavy modifications to someone else's code. I'd suggest using Symfony as a framework, unless you have considerable experience with a different PHP framework. You're not going to get a custom solution for under $5000, period. That's a one month development window. You might be able to come close with NO bells an whistles, but it'd be very close with an extremely veteran developer.
But if you're not going to modify it, I'd recommend Magento.
If you're left there thinking, neither of these solutions solves my problem, there's a very real possibility that perhaps you should consider: the requirements are unrealistic. It's common. It's so common and taboo that I'd bet it leads to more project failures than any other consideration.
If you want a shopping cart to grow with the business, build one using a framework with no bells and whistles.
If they can make due with a cheap solution like Cube Cart (also good) with no modifications, then try that first.
Honestly, it sounds like you have an unrealistic client (based on the description) or a requirement to build a custom, simple solution. Don't try to bend a spoon with your mind to impress the client, you'll just get a headache.
Best of luck

I would recommend a Drupal 6 installation along with the Ubercart modules. You'll be able to take advantage of Drupal's powerful CMS features and manage your products just like any other pages on the site. Also, it's free!

Related

Custom PHP development vs CMS [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I am building a website for my first client.
I've built my own websites in the past from scratch using PHP, HTML, CSS, etc... without a framework or CMS.
Therefore, before I proceed with this client, I want to make sure I'm going down the right path. Assuming I've already had custom development experience building a CMS (admin login, content management, etc) and can somewhat easily port my code to this new project, I'm wondering if a CMS (let's say we go with Joomla), is the better way to go. My questions are:
Is there a limit to the customization I can build/do with a CMS? If I want to add a really custom plugin/add javascript, will it be more difficult in a CMS? Or what about templates. How easily can I manage a template? Is it as simple as altering the template's HTML/CSS to fit the customer's needs?
If I have built most of the things the client is asking for already custom, would using a CMS for this new project just be bloated?
How is security handled in these CMSs, like Joomla? If the client needs online payments, can I just install a plugin and be rest assured it's secure? I haven't done my own payment systems before custom.
Would a CMS like Joomla already handle/optimized for things like SEO and Google Analytics?
Basically, given my experience building custom CMSs, what added benefit is there for going with something like Joomla vs just porting my code over?
And, the customer doesn't know anything about CMSs. Would it be better for me to go with custom development or build a site through a CMS? Is this something I should bring up to the customer?
Thanks
The basic story is this. If you do it yourself you know everything from the inside out but you also have to do everything from scratch and will make mistakes. If you use a CMS (of course I would use Joomla but it could be Drupal or Concrete 5 or one of the new ones) to some extent you have to live with the architectural decisions that other people have made. On the other hand they have millions of users and thus a lot of experience building in flexibility. With either Joomla or Drupal you don't have any limits on the customization you can do and there are many prexisting extensions that you can install for payments and so on and customize or you can integrate with other applictaions. Joomla uses its own framework while Drupal it somewhat depends on which version, but both have tons of developers and helpful communities. Basically in one of the major CMSes you have a lot of stability and people who have thought about many different problems and possibilities. So if you use an existing CMS you can be responsible for your customization and just keep an eye on all of the other parts. However you will have to deal with updates and API changes.
I'll add to Elin's comments.
Should you be using a CMS?
Go a lot of content on pages? Yes
Are you building software as a service? No way Jose!
Customisation and templates
Management and changing of templates is fairly straightforward. You can edit them and edit the css. With CSS I make sure I add a new custom.css include to the top of the template.php file and add all CSS changes to that file. This way when you update the template version (if required) you don't loose all your changes.
I spent a fair bit of time customising plugins in Joomla and Wordpress. Once again, same thing. Try and override javascript methods using included files. From experience, creating basic plugins and modules is easy - it quickly gets fairly confusing and messy when you start making your own database tables.
Custom payments
Yes, there are plugins for both. I would recommend trying to use pay-pal integration (or something similar). Two reasons 1) there is a level of confidence for consumers 2) you don't handle CC payments and all the hoo har that comes along with that and 3) it is low risk for you. Have a look through the extensions.joomla.org website to get an idea what is out there (or the wordpress plugins site)
SEO and Analytics
I read seo as "trying to trick google". Stay away from that stuff. Adding analytics into Joomla, Wordpres, Drupal etc is a plugin away (or an upload of a file into cPanel/onto disk).
Hope that gives you a bit more useful info.
Happy coding!

Custom Website VS Drupal/Joomla/Wordpress [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I would like to develop a pretty complex website, like a network with many functionalities, with 2/3 kinds of users, affiliates, stats, apps and hundreds maybe thousands of pages, notifications, multi layered users area, and much more.
With time passsing, I get more ideas and the site and its databases gets more and more complex and I would like to always be able to improve it, enhance it, to be able to build new modules and functions.
for now The site has its own php CMS for content publishing, application and member management, etc
The thing is I am not sure if to build it from scratch in PHP or rebuild it with Drupal, Joomla, Wordpress or any other CMS out there.
What do you think?
It's hard to say. It depends on your experience level and the time you have to spend on the project. I can't say one way or another, but I can recommend a few things if you do it from scratch.
Use a template engine, such as Smarty, so you only have to create a few 'real' pages. Their syntax is a lot less bulky than PHP.
Stick with OOP PHP when you can, especially if you are doing a lot of repeat queries. I use my own PDO class with my other classes, and it's much easier to manage.
Spend some time figuring out exactly what you want for you database structure and then check out using some UML diagrams to make it easier to visualize. That'll save you a lot of time.
Use some HTML Framework, like Bootstrap or Foundation 4. They offer great platforms for you to start with decent looking website templates.
Again, depending on the size, a CMS may be better and they offer thousands of plugins, but you are confined to the features that they have to offer. On the other hand, custom PHP will take significantly longer, but you can definitely customize to what you need. I've done it both ways, so I won't recommend one specifically. I think it will just depend on how large it really is. Also, keep in mind that if you bring new developers on to your project, you will have to explain all the inner workings of your project, so that may be a deciding factor as well.
If the site is going to be that big, then custom PHP will take a very long time. Not only will you have to write everything, but then the extensive testing + bug fixes will also be extremely time consuming. However if you do have the time for it, providing you developed it using good coding standards, the loading speeds would be faster than using a CMS and you would of course have more flexibility.
On the other hand (and I'm not going to recommend a CMS as everyone has their own opinions), using a CMS will save you an major amount of time and will of course provide you with a stable developing environment and framework to work with. Not to mention you have thousands of extensions for each that are available to use, which again, saves a lot of dev time.
In the end, the choice is entirely up to you. If it were me, I would decide based on the deadline.
Hope this helps

Should a CMS be used for a photographer portfolio web site? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
My friend photographer asked me to develop a portfolio web site, and I'm wondering if a content management system (CMS) should be used for this purpose? The website contains a minimum of dynamic stuff, mostly just photo galleries and a "Contacts" page.
I have some experience in development using PHP frameworks (Yii and CI), so it makes me wonder what is the most effortless and effective way to do develop this:
a) use some kind of CMS (will take time and effort to learn and
customize CMS to fit my needs)
b) develop a website from scratch using MVC framework (need to write
more code, but more control over the development flow)
Any tips from people experienced in developing those kind of websites is much appriciated. Thanks.
I think the biggest benefit of using a CMS is that, once you've put the site together for them, you should be able to hand control of the site completely to your friend because a CMS will already have all of the admin interfaces worked out for (in your case) adding pictures and making other small changes to the site.
Even if you are good friends, the last thing that you want is an email every month just to add some more pictures to the site. Rolling your own admin interface is certainly possible, but it will take more time and will most likely not have as many options as most major CMS's will provide.
Save yourself a lot of time and headache. There are some good CMS solutions for photography portfolio and they are pretty easy to learn. And your friend needs only standard, basic functionality (galleries, static pages and contact form), so there's no need to customize the code, only templates.
CMS platforms I would recommend:
Wordpress http://wordpress.org
ZenPhoto http://zenphoto.org
Building a website with a solid CMS has lots of benefits, e.g. saves time, gives you all required tools, those CMSs are well tested, secure and stable (not all but WP and ZP definitely are), they provide SEO tools and SEO-ready code (if you choose or create proper theme/template) etc. And with both of these CMS platforms it's really easy to upgrade without any pain.
c) A mostly static site that only uses server-side code where absolutely required.
If he is a photographer it's not a good way to use any auto-resizers that are built-in in many popular CMS, e.g. And you're right learning these CMS won't give you flexibility for further upgrades of the site (which cannot be avoided). So as a developer I always avoid Joomla and any like it. I don't have sufficient clearness and flexiblity with them, this is voice of my experience.
If you use Yii, I can offer you flexible extension exactly for your skills and situation:
AutoAdmin CMS framework for Yii
With it you can just design a database as you want, program front-end as you want (you're a programmer, aren't you?), and configure your back-end panel very quickly - exactly for your DB structure.
Or of course you may search something like it. Using Yii with extensions gives you a standartized site, which can be easily upgraded in future. Instead of Joomla-like systems which will always be oriented on customers of in-box solutions (with all following negative for skilled developers).
With mvc frameworks you get URLs that reflect your controller and action structure. This is not 100% what you want for search engine optimization. You could write your own URL dispatcher of course, if you know how to do it. Frameworks are best suited for web applications and not websites.
So better use a cms. I heard that contao (formerly Typolight) should have most functions built in and should be easy to learn ( in a day or so )
I dont CMS is necessary here, but if you want to you can try using wordpress and install a built in theme something that suits photography.

CMS or Framework ground-up? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I just got done reading this thread...
https://stackoverflow.com/questions/588888/best-cms-for-a-corporate-web-presence
Which was the closest thing I could find on the web. I too am looking to redesign a website for a corporation. I am the marketing director, not a developer.
I have researched this subject in many places. I won't say everywhere. I have read:
http://sunlightlabs.com/blog/2009/content-management-systems-just-dont-work/ and
http://www.webdesignish.com/the-best-web-development-frameworks.html
and dabbled at www.cmsmatrix.org and www.bestwebframeworks.com under the PHP area. I have read at least a few dozen articles from various places, some of them including the providers websites or forums.
I have read nearly as much as I can in the time I gave myself.. so with a little knowledge on all these areas I want to reach out to a community that has more experience.
Background: Manufacturer website, one location, no branches. One marketing/IT guy. Utilizes dreamweaver for all web editing needs. Knows ultra-basic html only for text and image placement and editing. I need to be pointed in the direction of a cost-effective design solution with either a framework or combination thereof, or a CMS that can give me what I need. The best example of what I want the site to look like would be a cross between tripplite dot com and logitech dot com, with some elements from a site like sonicwall dot com. I need an animated menu system but with images, so size customization is necessary. Simple animations for rollovers and click reactions so that users can tell when they have selected something. Page content does not change often, with most edits being to PDF documents. At present, I name all major documents (such as a 2011 catalog) with the same filename, and simply replace the document with the latest version via FTP. Nearly every other page will be a static page with static text and images. I might request polish on all other pages after the development is complete. Our site might end up being somewhere around 50 pages after this redesign.
It has been suggested to me to have the site designed in Wordpress by a pro, but everything I HAD read before reading the first-mentioned thread posted here said that I shouldnt use it because of content and bug issues. I believe that wordpress can provide a robust and feature rich corporate website that isn't just another blog or news site... I have seen a few examples like networksolutions dot com.
Project 1 is a redesign and new look. Project 2-9 goes through a parts library with thumbnails, build-to-quote system similar to a shopping cart but with no payments (and no PCI compliance), an e-page flip type catalog revision, and login portals with per user/entity content such as order history, order documentation/records and open-order production status and shipping information. We want it all. But where to go?
I have so far looked at for a CMS:
Wordpress, Drupal, Radiant CMS, concrete5 (and spoke with Franz a tad), and synType CMS.
To go the framework route with PHP:
yii, codeigniter, akelos, symfony, prado, cakephp and solarphp
The other ones I have heard many developers praising were jquery, dojo and django but im not sure yet if they are utilized in any other solutions that I listed.
Tomorrow I will be going through the definitions and such at bestwebframeworks to better learn about the once I had chosen and pit them against one another.
I would really appreciate any help in evaluating which platform would best suit me based on the information that I have provided above. Feel free to ask any other questions that may help narrow the list.
Thank you all in advance.
Before determining how to proceed, you need to as a few important questions -
Is your company in business to make money?
Do you ever expect potential customers to view your website?
Are you a trained designer with experience in usability and best practices?
Can you write maintainable, scalable, and standards compliant code?
Chances are, you should seriously consider hiring a professional for the job. A business website is often the first point of contact with a potential client and first impressions are hard to fix. If your site looks like your 8th grade nephew designed it with a full plate of mystery meat navigation and cross browser compatibility issues, you are likely going to lose clients before you even get a chance to talk to them.
There are likely a multitude of additional features and functions that your website could perform if you knew about them. A reputable professional would be able to assess the needs of your business and recommend website functionality to match. As they say, you don't know what you don't know.
My recommendation would be to beg and plead for a budget to get a website built by someone who knows what they are doing. A well built website will have tremendous ROI and pay for itself easily.
It looks like your needs are primarily front-end, I would recommend a JavaScript framework, like ExtJS or jQuery, I really like ExtJS. Then you could pair it up with some kind of python, ruby, php CMS back-end. Right now I am developing my website www.coffeedig.com (currently still in development) in ExtJS with a Django back-end. I picked ExtJS cause I have a lot of experience in it. I picked Django even though I had very little experience in python but python seemed like the best language to me. I all depends on your needs and your developers skills/experience though. Locally at my work we have about 3 to 1 ratio of developers to architects. It takes a lot of time to maintain and develop a CMS from scratch. So I would recommended against that. I wish I knew more on how large your development team was but personally I would give them a list and have them try the frameworks out and see what feels right to them. Also documentation and community support are two very important things.
Oh. I can see from your post your are trying hard to find a proper solution for your needs.
Since you will probably not be implementing / deploying the solution yourself, I can assure you that whatever option you choose, it is the developpers putting together the project that will make the difference. You can have competent developpers on your team, but if they have to use a tool they are not familiar with, the result may be deceiving.
The choice you need to make from what I read in your post is if you want to use a framework, where developpers will be implementing from the ground-up, or using a pre-built application ready made for content management (CMS) that can be tailored to your needs.
All the popular languages offer a multitude of frameworks that have all been tried and tested.
PHP has Zend Framework, Drupal, Symfony, and many, many more.
Python has Rails, Zope, Pylon, Django, etc.
All these could be viable choices, the main question is still, do you need an application with specific needs and business processes integrated that would be better suited with a framework to ease develppment, or do you simply need to have an easy way to show your products online and have an easy way to create and organise content? I suggest you not re-invent the wheel, if your needs are just for regular web-publishing, a content management system would reduce your costs.
Look around and search for demos of the solutions your are interested in, test-drive before you make a choice. And be sure to have a competent ressource available for the solution you choose, because in the end it is the developping teams competence with the product that will dictate the success of the result.
By the way, JQuery is a great library but is not what you are looking for, chances are it will be integrated in whatever platform / framework you choose! :)
My 2 cents, good-luck!
Frankly, it sounds to me that you have a mostly static website, with occasional PDF updates.
At the same time it doesn't sound like you have the skills to craft your web site by hand.
You also seem to have some familiarity with Dreamweaver, which a pretty scary powerful piece of software.
If it were me, I'd hire a solid Dreamweaver web designer that simply leverages DW for your site, and basically keep it static. With enough CSS and possibly JS work, the pages will remain static pages, and if you need to do minor updates, you're likely capable enough to do that on your own. Then simply sync up the site from your local copy.
The advantage of this is simplicity. Simplicity for you, simplicity for possibly future contractors, etc. If you're not planning on a lot of "interactive" features that require server side support, then keeping the site as static and simple as practical is a smart move.
Uploading a PDF takes simple training, not a CMS. And Dreamweaver should be more than capable front end to manage much of that for you.
Addenda:
I understand about your future plans, but those later phases are night and day beyond Phase 1. This first phase, this cosmetic and functional redesign, is essentially a marketing and branding phase. The skill set needed to implement it is quite different from Phases 2-9.
You can talk with your front end designer about the later phases, in terms of overall presentation, but the person implementing your front end will likely be quite different from the person implementing the back end.
Once you have finished with the Phase 1, the back end integration will be able to leverage the assets created when developing the later phases. None of this initial work will be "wasted". But you have the benefit of being able to move forward with your current toolset and releasing it early, while Phase 2+ are spec'd, developed, tested, and later deployed.
A CMS toolset, at this point in the process, is really a distraction.
In the end, the choice of toolset is really secondary to the person or team that you select to complete the other phases. It is good to be aware of the tool market, and the choices and their assorted advantages/disadvantages, but in the end what is going to matter most is the user interface that you as de facto maintainer are going to be interacting with day by day, and the ongoing maintenance of this system.
If you were buying a delivery truck, you no doubt would be selecting one based on a combination of how it fits your needs and overall cost of ownership versus shopping around to dealers "You know, I really like Volvos". You'll likely not care so much about how the engine works, or the truck is designed. As long as it starts and turns and stops like it's supposed to, with the costs you expected to pay, you'd likely be happy with it.
If you have a favorite, then fine. Likely whatever you pick isn't going to matter much in the end, assuming it's reasonably mainstream. If you don't have a favorite, then it's not particularly important. And if you don't have a favorite, it's not important at all for Phase 1.
But like a truck, it's more important to have a good mechanic. If you have a mechanic that likes Fords and is well experienced with them, you might want to seriously look at a Ford. Trucks are easy to find. Good mechanics, not so much.
Right now, Phase 1, it's about layout, color, and image. Things mechanics and programmers are notoriously bad at. Get this done now, with the right people, using tools you know since you have to support it short to mid-term.
Then look for some good people you trust to work with on the backend. They can use what you have done in Phase 1, and make it work with whatever tools they'll be using to do what, in the end, is most important to you.
Check out silverstripe, an amazing CMS probably better than most, most people just don't know about it. Amazingly easy to template and super easy to extend. It's also very powerful like unto Drupal. http://www.silverstripe.org/
Update:
Sorry guys didn't mean to make it seem like an ad. And no I am not affiliated with silverstripe I just really like it.

Which CMS meets the following requirements? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I'm looking to create a rather content-heavy (but low budgeted) website that is going to have a lot of different sections.
The post important requirement is that it be easy to user for the administrator who won't be very tech-savvy. What I'm looking for is to minimize them coming back to me whenever they want something on the website done (i.e. adding a contact form or something like that).
The website is, for the most part, going to be a simply two level design. Each 'section' (i.e. link the navbar) is either going to be a standalone page or a page that lists other pages in a section (these pages are what constitutes the second tier).
To give an example, the top tier may be:
Home | News | Events | Volunteer | About
Home and About will be standalone pages. News will list all sorted news items. Events will list events in a potentially arbitrary order (i.e. user-weighted). Volunteer will be a form that will send an email to the 'volunteer manager'.
These volunteer-type, data-entry forms are going to be used in multiple places throughout the website and I'd like it to be rather simple for users to create these forms and get the data back from them (either through email or a backend interface).Furthermore, a section should be capable of having both forms and normal pages.
I don't know how well written this post is but that's the gist of it. Normally I'd choose Drupal but I'm not sure the person managing the website is going to be able to use it without having to come back to me constantly (although I might revert to it depending on what's available).
I was wondering what other recommendations you guys have for a system that's easy and intuitive but powerful enough to handle what I listed above.
I should note that while I'd prefer it to be a PHP-based CMS any open-source CMS should suffice for this project.
I did a usability study of different CMS systems in college and I'd like to share with you some of my findings:
After evaluating three systems, an average was taken of their usability problem severity ratings for each category for each system (0 being no problem at all, 5 being severe usability problems). Drupal had an average rating of 1.7, Joomla had an average rating of 1.5, and PHP-Fusion had an average rating of 1.2.
My recommendation for beginners is PHP-Fusion since the interface is very easy to learn. Intermediate to advanced users should use Drupal for its huge collection of features and extensions. But if one wants a middle ground between simple and feature-rich, Joomla would be the best system for that purpose.
If you're interested in the full study, I can email it to you.
My initial thought would be Drupal but you have already mentioned it as probably being too complicated.
I know most web developers will flinch at event the mention of this, but have you considered Wordpress? Some of the custom themes are pretty sophisticated and mimic a CMS pretty well. The advantage of wordpress is that it would be very easy to maintain for someone who has no knowledge of php.
I'd still say go with Drupal; just carefully create a role for the main user of the site and don't give them full admin access. That way they are shielded from the full complexity (and from screwing things up).
Joomla is what i would suggest.
Wordpress sounds like the best idea. It's free open source and PHP.
Check out Contact form 7 for your contact forms, as they are very customisable.

Categories