Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Official Mall Version


Guest

Recommended Posts

As there has been quite a bit of discussion regarding a Mall version of osCommerce, I think it would be good identify what the users of the system require in a Mall version and then make an official Mall version available as a standard release.

 

There are a number of mall contributions out there, but if everybody worked together on a single release, the outcome would be a much more advanced product.

 

Any thoughts?

Link to comment
Share on other sites

hi i am also intrested in something like that and i am trying to see how virtual mall work unfortunatly i am not a programmer and i don't understand how to do the following

catalog\product_info.php

 

a) On line 46, add the following into the query following

p.manufacturers_id:

, p.store_id from

B) Add the following hidden input to the "in cart" button (Line 170)

<input type="hidden" name="store_id" value="<?php echo

$product_info_values['store_id']; ?>">

 

in my product_info.php

these are my line that includes in cart

 

 

<table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="main"><a href="<?php echo tep_href_link(FILENAME_PRODUCT_REVIEWS, substr(tep_get_all_get_params(), 0, -1)); ?>"><?php echo tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS); ?></a></td>

<td class="main" align="right"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> </tr>

</table>

 

i don't know how to make this change.

 

in looking to actually what it does it seems that it is more in a way dealing with dropship issues.

when making the mall i think there should be a consideration that if the individual stores have diffrent admin or one .

if all stores have the same owner actually this approach of virtualmall1.1a might work . it adds another variable to product information as store id. and you can create diffrent stores in the admin area then i think you have to put all product associated with the same store in one category and that will link the categories to the stores so while customer is looking in a category they are actually looking in that store. any how it still needs some reporting per category or store so it is easy to keep track of the individual store orders. if someone can help me with this line of code then i can see exactly what it does and i will be glad to let people check it out for themselves.

if the purpose of the mall is to allow diffrent people to have a store on your server then one thing that must be looked at is an easy way for people to install the store.

my hosting provider has something like this so i can install by just choosing the name of the folder and my username and my password. also there must be an easier way of changing the design and look of the page from the admin area something like yahoo. any way if some one please give me this code to do some tesing on virtual mall i would greatly appreciate it

thx

Link to comment
Share on other sites

The code base I'm working with has given rise to a couple of issues. Using a fresh install of MS2 and VM1.1a I was able to get 90% of the functions required operational. Quite satisfying. The error so far is that:

1: shopping cart does not display from which store a product is being purchased.

2. after much work, checkout_process.php,v 1.127 is able to parse, however, the email send to store is still at issue.

 

I am available for comment on the development of this project and would invite all interested to comment also... and participate.

Link to comment
Share on other sites

I've seen most of the threads concerning a "mall" and downloaded VM1.1a and will play with this on another test bed shortly.

 

But maybe I'm reading all of this wrong BUT....

I have a full blown mall system written in a different language and am looking to jump off if it to something more robust and capable. While I've got the source for the mall system, its just a beast to maintain. reason: the person that wrote the software initially didn't know how to write software <shrugs> I basically re-wrote the whole package :( to get it to work right. oh well...

 

Now OSC I like ALOT !!! Lots of open doors and possibilities!!! WOO HOO!!!

But the Mall/virtual Mall/store rental center, is more in line with what I'd like to do/see. Correct me if I'm wrong about the VM add on but;

 

In the VM version, again correct me if I'm wrong:

The site/Mall owner creates stores AND maintains those multiple stores.

No Store-owner interface to allow actual store owner to maintain their site.

Each item added MUST be assigned to a store, missing this causes confusion and items showing up in wrong stores?

 

If a store "owner" wanted ot maintain their own store.... they'd have to go through the admin pages for ALL of the other stores. Thus have full access to the mall itself? Ouch.

 

 

In the software I have and extensively modified (sorry its not in PHP :( )

 

The mall owner can:

create a store

Assigns a Store Admin store, seperate login, seperate admin section.

Store Admin then sets up and maintains their OWN stores. Their own catagories, their own items, specials, coupons.. blah blah blah...

Mall/site owner sits back and watches the stats.

New Shops needs to be set up... same process all over again, mall owner sits back and watches some more stats.

 

Mall Owner can also view each stores orders, how fast they are filling them, the stats in each store (helpful to build a better relationship with the client/store owner) and a bunch of other things as well.

 

Mall Owner can ALSO shut off a store and make it not accessable IF the store owner doesn't pay his/her rent <winks>.

 

Granted that with this format each store is located under the main URL.

example: www.my-mall.com/store1, www.my-mall.com/store2, etc.

This is no big deal for an experienced person to make www.my-own-store.com be mapped to www.my-mall.com/store588 (or whatever)

 

I'd be interested in seeing VM be modified to go more in that direction personally.

I like what has been done so far, but I think the mall owner/site manager just created a great deal of headaches for themselves.

 

Maybe I'm barking up the wrong tree? But I'd love to see more talk about this Virtual Mall concept!

 

Enjoy!

 

Nitch.

 

 

P.S.

I'll contribute more things, the more I get familiar with OSC. I *really* like this. Hats off to everyone who has had a hand in this development! Great Job!

------------------------------------------

Nitchimon

 

Motto for today:

I went to school to become a wit. But I only made it half way.

Link to comment
Share on other sites

That about sums up the scenario quite well. For the project I'm working through however, this limitation of admin control has turned into a benefit, since the learning curve for OSC is really quite high, and I can't imagine letting the average store owner loose on this without a chunk of support time...

 

A few thoughts on this-- it would be certainly easy enough to create a client update routine utilizing either an HTML form or csv spreadsheet format, so having a signed on customer shop-owner be able to add new products to the mall would be no more difficult than emailing the new sheet(form) to the admin who could inject it.

 

The problem however is that with ver 1.1A, the "send email to store owner" email function fails and the orders_products table does not get updated properly with the store_id. As far as I can tell with this version, there is no way to determine who sold what to whom. In the admin section of mini-mall 1.1, the author has written in that store_name value to each order. The problem I am finding is trying to convert the GLOBAL_STORE_NAME string used in mini-mall to the individual ID's in ver1.1A.

 

Any thoughts on improving the organization of individual stores and store orders?

 

I would be happy to continue work on this project if anyone is interested?

Link to comment
Share on other sites

As far as I understand there a certain restrictions from the credit card companies. By shopping in a mall, taking products from the various stores into a single shopping cart, the mall would act as a reseller of the products and would have to take all the risks, liabiliites etc. The credit card companies dictate that each merchant has to have their own merchant account (as far as the banks told me).

In order to have separate merchant accounts, it is quite necessary to have a store/shopping cart per store. Last year I bought x-cart Pro (mall version) and run into exactly that problem.

Issues with osc mall: When running multiple osc stores, each store would create their own main and sub categories. The mall would have to have mall categories and a mapping to the store categories. Otherwise the category box would be cluttered with lots of categories.

So far I see the mall mainly as a promotion for the stores (like in real life) and shoppers go into a store to buy stuff. The online version would show all products and the 'Buy Now' button simply redirects the shopper to the store and to the particular product page ... where they again have to click on 'Buy Now'.

 

There are quite a few people out there running a mall ... how do they handle the single/multiple merchant account issue? ... and the category mapping?

 

I am working on my own version for a while now, allowing unlimited stores, with each store to access their store management panel, using a template system (Smarty) to allow different designs per store. The mall is part of the project.

Link to comment
Share on other sites

In a quick response...

The MALL software I have was written in Cold Fusion. It allows unlimited stores with each store having their own catagories. No biggie.

 

CC payments though:

Yes I agree about the top level and all. BUT there must be a way to have each store plug intheir merchant account and then when an on-line transaction is done, it goes directly to THAT store itself.

 

Personally, all of my clients on the old system and one on the OS system I'm modifying and putting in place, wnat to keep the high cost (to them) of on-line transactions to a bare minimum or done away with. They want to manually process the cards and/or call the people. That's what they want. I see that OSC does that as well as a bunch of other things.

 

Any good "web master" (GOD, I hate that term) cand modify apache to transparently see http:/mall/jimbobsstore to http://www.jimbobstore.com

 

I think that OSC either as an add on or standard, should have various login capabilities for "store owner", "maintainer", "whatever". Each seeing more or less capabilities.

 

NOW, here's a concept:

centralized database, each store can be on their own server (within farm or whatever) only parts of the templating system on local machines, with the bulk of the code on the datbase or central hoster. PHP can suck in various web sites and make it look like its on 1 machine. This is a powerful feature, I think.

 

But back to the MALL idea, I think its a lot easier to maintain, one set of code, one set of datbases, than 100 sites each with its own code and 100 databases. Lots more overhead and potentially a nightmare to maintain.

 

Also, maybe I'm wrong... but I think that most people who start using OSC are aware that they may have to do some software tweaking and are familiar with PHP, MySQL, etc.

One thing nice about a MALL idea, is plug and play for the average person that can't type PHP much less remember what it is.... <shrugs> Let us give them something that they can get running in a heartbeat!

 

 

Enjoy!

 

Nitch

------------------------------------------

Nitchimon

 

Motto for today:

I went to school to become a wit. But I only made it half way.

Link to comment
Share on other sites

if anything like that is to be done the shop owner must be able to edit the look and colors of the site from the admin section and a lots of other contributions must be added first and be easy to use for average joe.

2 it is a good idea that they share login info with the main mall

3 there must be a second admin area for the mall owner

Link to comment
Share on other sites

A few thoughts on this-- it would be certainly easy enough to create a client update routine utilizing either an HTML form or csv spreadsheet format, so having a signed on customer shop-owner be able to add new products to the mall would be no more difficult than emailing the new sheet(form) to the admin who could inject it.
I was working on a similar idea. I got as far as creating a page that allows a store owner to add/edit/delete their products (not those that others add). If there is interest, I could bundle it into a contribution. I created a new directory (call it associates for now) which had its own includes tree to hold this file and any others which I might want them to be able to access. Store owners would log in as a customer in the catalog area and click on a link on the My Account page to get to the associates section.

 

It would be easy enough to allow store owners to upload their own stylesheets to customize their shop. Combined with something like the BTS template system (which is evolving into a more CSS based system), this could allow a lot of customization. See csszengarden.com for examples of how different the same HTML pages can look with different stylesheets.

 

Cheers,

Matt

Link to comment
Share on other sites

The database would need to be modified to support multiple logins with preset access levels for a given store within a mall. This way, the mall owner/administrator could modify all stores and individual store owners could be controled by a security level to have access to edit/view their own store ONLY.

 

If purchases from a number of stores will cause problems with the banks - maybe version 1 of an official mall system would only allow purchases from one store within the mall at a time. Not perfect, but would meet basic needs from the start until a better solution is developed.

 

If there was a contract between the mall owner and stores, for the mall owner to handle all transaction and then pay the store owners, would this be OK? The banks would never even know.

Link to comment
Share on other sites

hi there,

 

well one way to make up the mall system is to use the ideas I used in the contribution

 

http://www.oscommerce.com/community/contributions,258/page,5

 

with the idea of copying the DB tables to create a new store works well. A switch based on the store id will allow the correct store to be accessed....I have used the admin with levels to create the different levels within the admin so only one admin is used with various features turned on or off depending on the login level.

 

The switching logic is fairly easy to code up....I could help out if anyone is interested in pursuing it..As for a different look per shop, I used a template system and made up the correct switching so every store has it's own unique look..

 

checkout per shop is the same as well as all other features osc has to offer by duplicating the db tables.

 

 

cheers,

Peter McGrath

-----------------------------

See my Profile (click here) for more information and to contact me for professional osCommerce support that includes SEO development, custom development and security implementation

Link to comment
Share on other sites

In response to the following:

 

If there was a contract between the mall owner and stores, for the mall owner to handle all transaction and then pay the store owners, would this be OK? The banks would never even know.

 

I think we all ran into this one with the banks/ CC co's. They don;t like pass through charging.

 

Also while the software keeps track of sales and taxes, do you want the mall owner to be responsible for the tax liabilities as well ? I for one say NO WAY!!

 

Set it up like a regular mall... stores rent space. sell their product. . are responsible for paying you rent, responsible for their own liabilities...... period

 

 

Now the idea of a "version 1" of a mall system sound interesting...

 

it could be done... BUT I think the GODs of OSC would have to re-engineer the next version to plan for this.

 

why?

 

I'd propose doing something like breaking down everything into smaller modules and calling them as needed where needed into the next level up of modules.

 

let me give you an example:

 

 

Type of Store: Mall templates

|

\ - Underlying OSC modules.

 

Type of Store: Single Store templates

|

\- Underlying OSC Modules.

 

 

This way the underlying modules could be fixed, updated, modified to anyones heart content, bug cleaned and polished, without ANY changes to the upper templating system. Also tracked as version levels.

 

You could have updates available not so much on the full system scale, but on the lower module scale.

 

yeah.. I'm talking about moving towards a more OOD or OO type of OSC.

 

let the single or the mall templates be responsible for the single or multi-user admin and store capabilies.

 

Go one better too:

 

layout

\- type of store

\- underlying modules

 

This way you can call layouts of stores to your hearts content!

 

I don't know maybe someone else has thought about this ?

I'm somewhat of a "newbie" to OSC but have dived into it pretty well I think. I understand most of how its done and designed, great job!

 

But each time there is a new release, you'd have to make sure you don't lose the work on the other parts. Well break it down more then.?

 

Kinda what (shudders at mentioning this) MS has done with DLLs. But with PHP instead :)

 

Whatcha all think ?

 

Enjoy people!

 

Nitch.

Edited by nitchimon

------------------------------------------

Nitchimon

 

Motto for today:

I went to school to become a wit. But I only made it half way.

Link to comment
Share on other sites

Maintaining multiple code streams is never easy, so the module idea sounds good.

 

How does the OSC official development cycle work and what would need to be done to the official release to allow a mall module to be plugged in?

Link to comment
Share on other sites

well to make a mall system out from the official mall release will be very time consuming and needs a fair amount of changes to the code....

 

I found the easiest way is to use the same logic as osc, but change which db tables are used depending on which store the customer goes into....this will let you retain the functionality of osc, and have multiple stores all running with the complete functionality of osc....

 

cheers,

Peter McGrath

-----------------------------

See my Profile (click here) for more information and to contact me for professional osCommerce support that includes SEO development, custom development and security implementation

Link to comment
Share on other sites

  • 4 weeks later...

Is it possible to have a copy of your development. I am willing to work with you for a beta testing.

 

What I was wondering is that what would happen to some other tables that osC Contrib may require like for e.g. Affiliate or any other table that new or other scripts may be needing.

 

May be you replicate only the products table and other remains the same?

Edited by rajaneel
Link to comment
Share on other sites

Ok, I've been reading through all of your comments, and I think I may have a good suggestion for all of you.

 

I have downloaded and implemented the Affilate Module, and also the Affiliate Branding Module for MS1.

 

The affiliate module keeps track of statistics and sales for affiliates.

While the other add on module to the affiliate module, actually brands a new store for a new affiliate, letting him upload his logo, and spits out a new url link for that store.

 

I use this "Branding Module" as kind of a mall type system. In my case, I have different customers that I sell products to, and I needed a customer specific solution. I wanted one database, and one copy of OSC on my server.

 

The affiliate module and affiliate branding modules accomplish this.

 

This is what it will do:

1.) Brand a new store with a url reference (http://www.mystore.com/osc/default.php?ref=1 .... default.php?ref=2...ref=3)

You get the picture. Each reference # = is a new store.

 

2.) Ability to specify a different logo placed in upper lefhand corner of OSC

 

3.) Track sales

 

4.) Select Products to be placed in particular store.

 

5.) Login for affiliate, with stats.

 

What it wont do:

 

1.) Separate store login's for customers to each store. (If you go to each store, your login will work at each store.)

 

2.) It does not have the ability to customize payment options for each store. Everything is the same at every store as far as options and look.

 

3.) Template system. Every store looks the same, every store has the same optionability as far as core functionality.

 

4.) Email confirmations to affiliate, or multiple confirmations to affiliate and whoever else pertaining to that store.

 

 

This is definately a step in the right direction. We just have to open up the module to work on a store id basis. Where everything is tied to a store id. Or affiliate id in this case.

 

I would like to see a more secure option of this where I don't have to worry about my customers ending up on another shopping cart and ordering things from other stores. For right now, I have setup one login screen that directs the customers to their correct store. I have given all of the employees of each company one particular login for their company, and that directs them to their particular store.

 

I hope this helps you guys out. I would love to donate a copy of my store to anyone who's interested and would like to take this further.

 

These are my installed contributions:

OSC 2.2 MS1

Admin Controller

Affiliate Module

Affiliate Branding Module (Modified to suit customer specific stores)

Option Type Feature

WYSIWYG HTML Product and Defalt Page Editor

FedEx, UPS, and USPS Tracking

Attributes Sorter

Silver XP Buttons

Better Shopping Cart Icons

 

One More Thing,

 

I am unfortunately stuck with MS1 as the Affiliate Branding Module is only good for MS1 release.

 

Thanks for hearing me out,

Shadow

.:) shadowmaxss (:.

shadowmaxss dot com/portal

I love loaded osc distros

Link to comment
Share on other sites

Hi shadow!

 

I have been sucessful in "installing" the Virtual Mall Module 1.1 by John Paitel. However, it still has bugs in my installation. There are some instruction that I did not follow and did not apply the contribution correctly. Two days passed by.

 

The installation that I have does work correctly with the store_id, but not in every step. For instance, the store_id is not inserted in the order_products table. I beleive that I should be able to make it work. After this works, I would be interested to porting this wonderful mode to MS2 version and apply in there. I have seen the code and should not be "extremely" difficult.

 

Hence I would be extremely thankful if you could send by email your installation with the scripts and tables data structure + info. I have written you an email.

 

My interest is to make it work with the MS2, as there are many many contribution available that works with MS2 and this would open a new arena for people who are interested like us. I already started modding the html_output.php and now I need to stop until you send me your copy, if you decide to do so i.e.

 

To your comments: They have given me really nice ideas. Thanks. My question:

 

What about the products table, are they seperate per store or different? This is a very fundamental difference.

 

While talking and working with different distributors, they have their database in different formats. So I have to think of how to harmonise them in to one system.

 

What do you think about a table TABLE_DISTRIBUTORS ? Make sense?

 

The concept I had in mind, on which I would very much like to have your comments, was:

 

____________DEPARTMENTAL-STORE_________________

 

1 - Central products database Table

2 - Configuration table for Distributors

3 - Affiliates or Sales Agents Table (with branding possibility)

4 - Customers Table

 

EVERYTHING SHOULD WORK HOW IT WORKS IN A DEPARTMENTAL STORE:

 

So store_id (department) is also important! distributor_id is also important!! Manufacture_id is also important!!!

Link to comment
Share on other sites

Hi Peter!

 

with the idea of copying the DB tables to create a new store works well.? A switch based on the store id will allow the correct store to be accessed....I have used the admin with levels to create the different levels within the admin so only one admin is used with various features turned on or off depending on the login level.

 

I do understand that copying should not be difficult. Biggest problem is updating. I see that there are people hanging with MS1 installation because the developers of the contrib are not yet ready with the newer Milestones.

 

So imagine that there are 60 stores, what would happen to all those updating? Also backup would be complecated. Maintainance of SQL tables would be a nightmare. One has to check MYSQL optimise every now and then.

 

So if the table formats are the same, one could acheive the same result with a couple of more new fields in some tables and avoid replicating the tables for products.

 

Or is it something that I am missing?

Edited by rajaneel
Link to comment
Share on other sites

The original MS1 version was written by the same people (Snowtech).

 

The new MS2 version of OSC affiliate will work with MS2.

 

But, the Affiliate Branding has not been updated, as it was written by another individual.

 

I am a code tweaker myself, and I couldn't get it to work with the new version of OSC Affiliate, or OSC MS2. I'm not that good yet at php to understand how to make it work.

 

The Affiliate branding for MS1 requres that you have OSC Affiliate for MS1 installed. It thrives off of OSC Affiliate, and changes are made to it.

 

Shadow

.:) shadowmaxss (:.

shadowmaxss dot com/portal

I love loaded osc distros

Link to comment
Share on other sites

the "send email to store owner" email function fails and the orders_products table does not get updated properly with the store_id.

im having the same problem..and i also noticed in the setup file this line..

 

catalog\includes\classes\order.php

 

a) add the line: 'store_id' => $products[$i]['store_id'], into the

products

array (Line 203)

 

I dont even have that file (order.php)! lol

Link to comment
Share on other sites

  • 4 weeks later...

I've got a very nice merge of various code bits that have been floating around, it seems to do everything that is being discussed throughout this thread. But enough of my hacking, I need a programmer to step up and work through some logic shortcomings and help make the day.

 

Here's whats up:

 

The REAL Yahoo thingy is the ability to browse multiple shops, select into your basket any number of items, updating the db each time with a proper count of our_stores_name and our_stores_id. At checkout, emails get sent to all sellers and the buyer receives a single itemized account of all purchases with store_names et al.

 

 

The idea was to have multiple stores each sharing the database, upon install, each

recieves a new configuration table in the db called, you know like

configuration_pkg1. Then I add a line to their includes/configure file and

their database_tables file referenceing this as the replacement for the

shop. This allows for a completely independent set of owner related info for

payment, shipping, logo, thema, etc etc...

 

The customer was to have the option to search and browse all stores from a

single cart, with checkout_process picking up the differences and looping

through the customers_basket and orders_products and whiffing off the

appropriate emails. This seemed necessary because otherwise, lets say,

stores X, Y and Z were selling and customer A drops through all shops and

picks up pieces from each inventory, and then goes through the checkout in

Z, only Z get sent the order info, which includes orders from X and Y, who

never hear of it! The single letter to buyer seems like a sensible mod

though.

 

By creating a GLOBAL_OUR_STORE_ID variable and naming it in language

according to the ID created in Admin, I can get the customers_basket

updated, but nothing is happening to orders_products using

// Update products_ordered (for bestsellers list)
   tep_db_query("update " . TABLE_PRODUCTS . " set products_ordered =
products_ordered + " . sprintf('%d', $order->products[$i]['qty']) . " where
products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
   $sql_data_array = array('orders_id' => $insert_id,
                           'products_id' =>
tep_get_prid($order->products[$i]['id']),
                           'products_model' =>
$order->products[$i]['model'],
                           'products_name' => $order->products[$i]['name'],
                           'products_price' =>
$order->products[$i]['price'],
                           'final_price' =>
$order->products[$i]['final_price'],
                           'products_tax' => $order->products[$i]['tax'],
      'products_quantity' => $order->products[$i]['qty'],
      'our_stores_id' => $order->$products[$i]['our_stores_id'], //ala Paitel
      'orders_storename' => GLOBAL_CURRENT_STORE_NAME);//ala BKM

   tep_db_perform(TABLE_ORDERS_PRODUCTS, $sql_data_array);
   $order_products_id = tep_db_insert_id();

So, I'm on the hunt. Storenames goes in fin, but our_stores_id fails.

 

What your looking at is a half ass code merge that ought to really shine if

I can get through this bump.

Any ideas?

>>

A desktop client app would be the best interface for the store_owner. Create individual mysql accounts to the same db and reference each by client IP. Have the desktop client app use tcp to send the updated inventory, or to check on an order_totals tally, or customer details.

 

The group account Admin-web-interface could easily be constructed also, and the OSC import contribution, with an updated CVS line would be a must have.

Link to comment
Share on other sites

Here is the mall concept Im using so far. Please feel free to add any ideas!

 

- There is (1) main domain name. EG: www.mall.com

 

- Each merchant has there own independant OSC store.

EG: www.mall.com/store1

 

- Each merchant has full control of there own admin and all payments

for there products go directly to the store owner.

 

My current problem:

 

Creating a 'master database' of all stores so that the mall visitor can

search all stores from the www.Mall.com page.

 

Any ideas would be appreciated!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...