Post by labeshops » Sat Aug 06, 2011 8:52 pm

Since this took me a while to figure out (and I'm trying to teach a friend too), I figured I'd go ahead and post a tutorial for anyone that might want to do what I am - hosting multiple stores with unique domains from the same Opencart installation (version 1.5.1). I''ll include a few of my urls here for you to be able to view as examples.

First, decide what domain name you will use for the main installation. In my case, I have a domain I've used as my "business" home for many years so installed it in a "shop" directory http://www.labeshops.com/shop/. Update: I discovered SEO does not work for all the stores unless you install Opencart in the root directory of the domain, so I moved my installation to "www.labeshops.com - I installed opencart and went thru each menu setting default settings, templates, etc. However you want to set it up is fine.

Then I made a list of all domains I owned that I wanted to put a store on. As I had 10 live stores using other cart software when I installed Opencart, I decided to start with domains I hadn't yet developed and then eventually replace the other 10 (which also gave me time to add products).

I set up all the domains in opencart (including the 10 live stores - until you make changes in your hosting panel, they will NOT change to opencart - very handy for setting things up before taking a store live!) You do this by going to System > Settings and Insert each store filling out all the information. You can change this later, so just set what you know you want and don't worry about logos or other things you might not have yet for each one. You can go back and upload logos as you design them.

Next thing I did was to make my 2 test domains live by going into the cpanel of my hosting account (every host is different so you might need to contact them for help, but if you have cpanel, the following should be very similar).

1. Click on "Addon Domains" (note: click on "Subdomains" instead if you are setting up multi stores as subdomains).

In create an Addon Domain:

New Domain Name: http://www.yourdomainname.com (whatever you have registered)
Subdomain/FTP Username: yourdomainname (it usually auto fills this - it's fine to leave as is)
Document Root: public_html/yourdomainname by default. CHANGE THIS to wherever you installed Opencart - public_html/opencartdirectory/ (in my case, public_html/labeshops/shop/)
Password: whatever you want (or generate one)

Then click Add Domain

(for existing domains, all you'll have to do is edit the document root to match your opencart installation)

Now test it by going to your domain name. You should see the opencart default store with your domain name showing in your address bar. Click on a few links and make sure it works, but congratulations, part one is now done!

...to be continued...
Last edited by labeshops on Wed Feb 13, 2013 10:02 pm, edited 3 times in total.

Running Opencart v3.0.3.2 with multi-stores and the default template from https://www.labeshops.com which has links to all my stores.


User avatar
Expert Member

Posts

Joined
Thu Aug 04, 2011 4:41 am
Location - Florida, USA

Post by labeshops » Sat Aug 06, 2011 8:52 pm

Next thing you'll want to do, is give each of your stores their own identity. In order to do that, you have to understand a bit about Layouts.

Go to System > Design > Layouts

You will see a list of layouts like "Account" "Affiliate" etc. These actually are the names of the templates for each of those pages (the Product layout is the template for your product display page for example). When you add a module, you specify which layout you want to apply it to (and where).

If you want all your stores to have the exact same layout, don't bother changing them - any modules you apply to "Home" will appear on the home pages of every one of your stores (though each can have a unique logo since you can upload one via the "Settings" for that store. )

However, if you are like me and want to give each store it's own personality (or have a wide variety of stores like I do!) You might want at least unique Home layouts for each. To do that, you need to give each store its own layout.

So say you want a unique home page. Click on edit for the default Home layout. You'll see it says "store: Default" and "route: common/home". Take note of the "route" (which is actually the directory path to the template called home).

Hit Cancel and then Insert to add a new one.

Enter a Layout Name. I keep it simple and I am using things like "AW Home" for the home page of my store AllWicca (AW). Make it something you will remember is for the store you want to create it for.

Click on "Add Route"

Select the store you are setting from the "Store" dropdown and put in the same route you saw when you looked at the default one. Continuing my example, I selected Store: AllWicca and entered for route: common/home

Click Save

Now whenever you want to add modules to this store's home page, all you have to do is select it's home layout (in my case "AW Home") and that module will appear ONLY on that home page. Pretty cool :)

Of course you can add any other layouts you want. I tend to customize Home, Category and Product pages for each store.

A note about templates. Opencart is smart enough that if you install a different template, assign it to a store with existing layouts (in Settings for that store), the route will look in the correct template folder for it. As long as it's a template that uses the standard Opencart route structure, you shouldn't have to update your layouts again.

...to be continued....
Last edited by labeshops on Fri Apr 18, 2014 9:51 pm, edited 2 times in total.

Running Opencart v3.0.3.2 with multi-stores and the default template from https://www.labeshops.com which has links to all my stores.


User avatar
Expert Member

Posts

Joined
Thu Aug 04, 2011 4:41 am
Location - Florida, USA

Post by labeshops » Sat Aug 06, 2011 8:53 pm

Categories & Products

Okay, so now you have unique stores with unique layouts, logos, etc. Now comes the hard part (well, to me at least): Figuring out the names of your categories and which ones you want to appear on which store.

I figured this out in Excel actually creating a list of product types I knew I'd be selling and then assigning each product type to a sub category and each sub category to a master category. Then I assigned each category to a store. (yes, it is a bit complicated and hard to explain...once you play with it, you'll understand I hope!).

Opencart has 2 default ways to display categories: On the top bar under the logo or in the right or left column of the page via Extensions > Modules > Category. So you need to decide if you want to use one or the other or both on your store (you can change this as you go, so don't be scared to experiment). If you want to use the top categories, remember you have limited room so keep your category names short or limit it to a few master categories (it will display sub categories in a flyout menu). You might need to refine your category list several times as you go (then refine it again as you add a product you forgot to include in the original list...believe me, it happens!)

So to add a category to a store, go to Catalog > Categories
Click on Insert
Fill in the blanks. Only the * ones are required, but for good SEO, fill in everything :)

After you fill in the General info, click the Data tab. This is where you assign it to a store.

First, if this is a top level category, you will not be giving it a parent category so leave it as none.

Then in Stores: check box all the stores you want that category to appear on. It will be checked on the default store (wherever your actual installed opencart is - in my case, labeshops.com)

If you want it to appear in the top menu bar on the page, be sure to click the checkbox for "Top". Make sure it is enabled.

The Design tab will let you assign that category ONLY to a specific layout (see layouts in the post above). You generally will leave that blank (at least until you know what you are doing and might want to change it :-) )

Click on Save and congratulations, you have your first category!

Now it's a matter of repeating the process for whatever categories you want.

After that, all you have to do is add products and assign them to categories! The products will only appear on the store (or stores) you have the category set to appear on! Pretty cool!

This is the basics at least...there are a ton of tricks and tips I'm still learning, but I hope this has helped you get started :)
Last edited by labeshops on Fri Apr 18, 2014 9:53 pm, edited 1 time in total.

Running Opencart v3.0.3.2 with multi-stores and the default template from https://www.labeshops.com which has links to all my stores.


User avatar
Expert Member

Posts

Joined
Thu Aug 04, 2011 4:41 am
Location - Florida, USA

Post by mongkolbest » Sun Aug 07, 2011 9:41 pm

thank you for advice
i just problem too.

Newbie

Posts

Joined
Tue Jul 12, 2011 8:55 am

Post by labeshops » Sun Aug 07, 2011 9:54 pm

No problem. I'm still learning, but figuring this out took me hours and reading a lot of different posts...which is why i thought I'd condense it to 1 for everyone else :)

Running Opencart v3.0.3.2 with multi-stores and the default template from https://www.labeshops.com which has links to all my stores.


User avatar
Expert Member

Posts

Joined
Thu Aug 04, 2011 4:41 am
Location - Florida, USA

Post by jeff.kranenburg » Thu Aug 25, 2011 5:12 am

Hi,

As I am reading your tutorial, which great and very detailed, am I correct to understand that all shop fronts point to one admin area?

Is it possible to have say 5 shops each with their own admin area - completely separate, then have one domain, which would be my one, link to those other domains, so you could assist with the admin if necessary?

So basically you have shop 1, shop 2 and shop3 each can access their own admin on their own domain, then mainshop which is on a different domain, can link to those shops to assist or admin all those shops from the one panel.

Cheers for any replies on this.

Jeff


Posts

Joined
Thu Aug 25, 2011 5:04 am

Post by uksitebuilder » Thu Aug 25, 2011 5:14 am

For 1.5.x Multi-Stores share the same admin panel. It is not currently possible to have separate admin panels for each store

User avatar
Guru Member

Posts

Joined
Thu Jun 09, 2011 11:37 pm
Location - United Kindgom

Post by stucazz » Thu Aug 25, 2011 7:35 pm

Thank you so much for that! I struggled with that too. It works perfectly for me now!

Two problems I had that might help others who have their main install on arvixe:
-if the "other domain" is hosted elsewhere, I learned that the proper nameservers are ns1.hare.arvixe.com and ns2.hare.arvixe.com (as of this date)
-the other one I had was that I screwed it up so many times, that i needed to go in and clear out olde redirects and subdomains...

QUESTIONS:
1) whats the difference between doing it as an addon domain and a parked domain? the addon creates a subdomain... is that necessary?

2) any idea why I get this error (i've checked the controller and language for common/header, and its there):
Notice: Undefined variable: text_home in /home/tfwllc/public_html/store/catalog/view/theme/bloody-black/template/common/header.tpl on line 107
Notice: Undefined variable: text_wishlist in /home/tfwllc/public_html/store/catalog/view/theme/bloody-black/template/common/header.tpl on line 107
Notice: Undefined variable: text_checkout in /home/tfwllc/public_html/store/catalog/view/theme/bloody-black/template/common/header.tpl on line 107


THANKS AGAIN SO MUCH!

Newbie

Posts

Joined
Tue May 03, 2011 11:01 am

Post by i2Paq » Fri Aug 26, 2011 2:17 am

I believe that you are setting this up the wrong way.

This is not multi-store, it is just redirecting one/all domain(s) to primary-domain/shop.

Norman in 't Veldt
Moderator OpenCart Forums

_________________ READ and Search BEFORE POSTING _________________

Our FREE search: Find your answer FAST!.

[How to] BTW + Verzend + betaal setup.


User avatar
Global Moderator

Posts

Joined
Mon Nov 09, 2009 7:00 pm
Location - Winkel - The Netherlands

Post by stucazz » Fri Aug 26, 2011 3:21 am

[quoteThis is not multi-store, it is just redirecting one/all domain(s) to primary-domain/shop.][/quote]

Well, thats the general idea. Just that I have both stores on two different templates, but the non-main one is giving me those errors...

If thats the wrong way, what's the right way?

Also (again), whats the difference between doing it as an addon domain and a parked domain? the addon creates a subdomain... is that necessary?

Newbie

Posts

Joined
Tue May 03, 2011 11:01 am

Post by uksitebuilder » Fri Aug 26, 2011 3:23 am

Parked Domain - This is what you want

You have two domains mysite.com and my-other-site.com.
mysite.com is the domain of your website and you want to add my-other-site.com.
You want them both to go to the same place. In other words, when someone types either http://www.mysite.com or http://www.my-other-site.com they will go to the same page(s) on your website.


Add-On Domains

You have two domains mysite.com and my-other-site.com.
You want the two domains to be totally separate/independent websites.

User avatar
Guru Member

Posts

Joined
Thu Jun 09, 2011 11:37 pm
Location - United Kindgom

Post by i2Paq » Fri Aug 26, 2011 4:23 am

I have:

Domain1 = full install OC + database
Domain2 =
a: copy of install on domain 1
b: connects to database on domain1
c: config files look like this:

root

Code: Select all

<?php
// HTTP
define('HTTP_SERVER', 'http://www.domain2.nl/');
define('HTTP_IMAGE', 'http://www.domain2.nl/image/');
define('HTTP_ADMIN', 'http://www.domain1.nl/admin/');

// HTTPS
define('HTTPS_SERVER', 'http://www.australiangold-winkel.nl/');
define('HTTPS_IMAGE', 'http://www.australiangold-winkel.nl/image/');

// DIR
define('DIR_APPLICATION', '/var/www/vhosts/domain2.nl/httpdocs/catalog/');
define('DIR_SYSTEM', '/var/www/vhosts/domain2.nl/httpdocs/system/');
define('DIR_DATABASE', '/var/www/vhosts/domain2.nl/httpdocs/system/database/');
define('DIR_LANGUAGE', '/var/www/vhosts/domain2.nl/httpdocs/catalog/language/');
define('DIR_TEMPLATE', '/var/www/vhosts/domain2.nl/httpdocs/catalog/view/theme/');
define('DIR_CONFIG', '/var/www/vhosts/domain2.nl/httpdocs/system/config/');
define('DIR_IMAGE', '/var/www/vhosts/domain2.nl/httpdocs/image/');
define('DIR_CACHE', '/var/www/vhosts/domain2.nl/httpdocs/system/cache/');
define('DIR_DOWNLOAD', '/var/www/vhosts/domain2.nl/httpdocs/download/');
define('DIR_LOGS', '/var/www/vhosts/domain2.nl/httpdocs/system/logs/');

// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'ip-domain1');
define('DB_USERNAME', '*****');
define('DB_PASSWORD', '*****');
define('DB_DATABASE', '****');
define('DB_PREFIX', '');
?>
admin

Code: Select all

<?php
// HTTP
define('HTTP_SERVER', 'http://www.domain1.nl/admin/');
define('HTTP_CATALOG', 'http://www.domain1.nl/');
define('HTTP_IMAGE', 'http://www.domain2.nl/image/');

// HTTPS
define('HTTPS_SERVER', 'http://www.domain1.nl/admin/');
define('HTTPS_IMAGE', 'http://www.domain2.nl/image/');

// DIR
define('DIR_APPLICATION', '/var/www/vhosts/domain1.nl/httpdocs/admin/');
define('DIR_SYSTEM', '/var/www/vhosts/domain1.nl/httpdocs/system/');
define('DIR_DATABASE', '/var/www/vhosts/domain1.nl/httpdocs/system/database/');
define('DIR_LANGUAGE', '/var/www/vhosts/domain1.nl/httpdocs/admin/language/');
define('DIR_TEMPLATE', '/var/www/vhosts/domain1.nl/httpdocs/admin/view/template/');
define('DIR_CONFIG', '/var/www/vhosts/domain1.nl/httpdocs/system/config/');
define('DIR_IMAGE', '/var/www/vhosts/domain1.nl/httpdocs/image/');
define('DIR_CACHE', '/var/www/vhosts/domain1.nl/httpdocs/system/cache/');
define('DIR_DOWNLOAD', '/var/www/vhosts/domain1.nl/httpdocs/download/');
define('DIR_LOGS', '/var/www/vhosts/domain1.nl/httpdocs/system/logs/');
define('DIR_CATALOG', '/var/www/vhosts/domain1.nl/httpdocs/catalog/');

// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'ip-domain1');
define('DB_USERNAME', '****');
define('DB_PASSWORD', '****');
define('DB_DATABASE', '****');
define('DB_PREFIX', '');
?>
Because you will use the admin on domain1 it really does not matter having access to admin on domain2.

Norman in 't Veldt
Moderator OpenCart Forums

_________________ READ and Search BEFORE POSTING _________________

Our FREE search: Find your answer FAST!.

[How to] BTW + Verzend + betaal setup.


User avatar
Global Moderator

Posts

Joined
Mon Nov 09, 2009 7:00 pm
Location - Winkel - The Netherlands

Post by rmi » Wed Sep 07, 2011 11:48 am

i2Paq wrote:I have:

Domain1 = full install OC + database
Domain2 =
a: copy of install on domain 1
What files / folders do you actually NEED in that second shop ie. which files are redundant and can be removed from the second shop?

rmi
New member

Posts

Joined
Tue Nov 09, 2010 3:13 am

Post by Xsecrets » Wed Sep 07, 2011 9:57 pm

rmi wrote:
i2Paq wrote:I have:

Domain1 = full install OC + database
Domain2 =
a: copy of install on domain 1
What files / folders do you actually NEED in that second shop ie. which files are redundant and can be removed from the second shop?
If you are asking about file in the second shop you have done it wrong. The opencart multi-store feature does not duplicate any files. You have to point both domains to the same install the same files.

OpenCart commercial mods and development http://spotonsolutions.net
Layered Navigation
Shipment Tracking
Vehicle Year/Make/Model Filter


Guru Member

Posts

Joined
Sun Oct 25, 2009 3:51 am
Location - FL US

Post by rmi » Thu Sep 08, 2011 3:29 am

How do you point a folder to another?

Main shop in domain.com/mainshop and multistore in domain.com/subshop (no subdomains)

And how is it possible to have different look and functions within same files? It's difficult to find decent explanation how all this multi-store system works..

rmi
New member

Posts

Joined
Tue Nov 09, 2010 3:13 am

Post by Xsecrets » Thu Sep 08, 2011 3:59 am

rmi wrote:How do you point a folder to another?

Main shop in domain.com/mainshop and multistore in domain.com/subshop (no subdomains)

And how is it possible to have different look and functions within same files? It's difficult to find decent explanation how all this multi-store system works..
you cannot do it with folders like that you would have to do it like
mainshop.domain.com
and
subshop.domain.com
using subdomains then you can point those subdomains to the same folder.

OpenCart commercial mods and development http://spotonsolutions.net
Layered Navigation
Shipment Tracking
Vehicle Year/Make/Model Filter


Guru Member

Posts

Joined
Sun Oct 25, 2009 3:51 am
Location - FL US

Post by rmi » Thu Sep 08, 2011 5:11 am

Xsecrets wrote:
you cannot do it with folders like that you would have to do it like
mainshop.domain.com
and
subshop.domain.com
using subdomains then you can point those subdomains to the same folder.
I don't know how to point subdomain with DirectAdmin (I have noticed I'm not the only one struggling with DA). If you create subshop.domain.com with DA you will have it automatically like domain.com/subshop but there is no option to change the folder where it points.

BTW What's wrong with the way to copy whole shop to another folder and combine admin side with config? It seems to work fine and then you can have shops in different folders without subdomains..

This is what I need: company.com/retailshop and company.com/wholesaleshop. They will have different looks, prices and some products/categories are showed just for one of them. And unique login of course.

rmi
New member

Posts

Joined
Tue Nov 09, 2010 3:13 am

Post by Xsecrets » Thu Sep 08, 2011 5:57 am

rmi wrote:
Xsecrets wrote:
you cannot do it with folders like that you would have to do it like
mainshop.domain.com
and
subshop.domain.com
using subdomains then you can point those subdomains to the same folder.
I don't know how to point subdomain with DirectAdmin (I have noticed I'm not the only one struggling with DA). If you create subshop.domain.com with DA you will have it automatically like domain.com/subshop but there is no option to change the folder where it points.

BTW What's wrong with the way to copy whole shop to another folder and combine admin side with config? It seems to work fine and then you can have shops in different folders without subdomains..

This is what I need: company.com/retailshop and company.com/wholesaleshop. They will have different looks, prices and some products/categories are showed just for one of them. And unique login of course.
The problem is that opencart will not recognize that for multistore and thus you will not be able to control theme products discounts etc etc etc.

I have no idea how DA works for pointing domains. I've done it on cpanel and plesk, but I've never used DA. I think there was a thread on the forums a long time ago where someone actually made it work on DA and posted instructions.

OpenCart commercial mods and development http://spotonsolutions.net
Layered Navigation
Shipment Tracking
Vehicle Year/Make/Model Filter


Guru Member

Posts

Joined
Sun Oct 25, 2009 3:51 am
Location - FL US

Post by rmi » Thu Sep 08, 2011 12:51 pm

Xsecrets wrote: The problem is that opencart will not recognize that for multistore and thus you will not be able to control theme products discounts etc etc etc.

I have no idea how DA works for pointing domains. I've done it on cpanel and plesk, but I've never used DA. I think there was a thread on the forums a long time ago where someone actually made it work on DA and posted instructions.
I can see 'secondshop' as a multi strore inside admin and I can set each product to shops with checkboxes and so.. I don't actually know how multi store should work but I think this system does work quite similar.

If anyone remember the thread / link how to set subdomains in DirectAdmin, I would highly appreciate.. Didn't find with search..

rmi
New member

Posts

Joined
Tue Nov 09, 2010 3:13 am

Post by Xsecrets » Thu Sep 08, 2011 1:44 pm

rmi wrote:
Xsecrets wrote: The problem is that opencart will not recognize that for multistore and thus you will not be able to control theme products discounts etc etc etc.

I have no idea how DA works for pointing domains. I've done it on cpanel and plesk, but I've never used DA. I think there was a thread on the forums a long time ago where someone actually made it work on DA and posted instructions.
I can see 'secondshop' as a multi strore inside admin and I can set each product to shops with checkboxes and so.. I don't actually know how multi store should work but I think this system does work quite similar.

If anyone remember the thread / link how to set subdomains in DirectAdmin, I would highly appreciate.. Didn't find with search..
Well do you actually see a different template if you set one and see the correct products for that store? I would be very surprised if you did since I know which php global variables that opencart uses to determine what store you're looking at, and it shouldn't work with folders.

The thread about direct admin is here http://forum.opencart.com/viewtopic.php?t=17492 what the guy does is very much a hack in my opinion, but I suppose if it works that's all that matters.

BTW I found the thread by searching for "multi store direct admin" and it was the first result.

OpenCart commercial mods and development http://spotonsolutions.net
Layered Navigation
Shipment Tracking
Vehicle Year/Make/Model Filter


Guru Member

Posts

Joined
Sun Oct 25, 2009 3:51 am
Location - FL US
Who is online

Users browsing this forum: No registered users and 124 guests