1

I'm new to Drupal and have a basic question which I cannot find a good answer to. I have already posted this at Stack Overflow but still am hopeless. I am trying to dynamicly determine the contents of my website based on a selection made by the user and keep the selection displayed in the routing for SEO purposes.

In other words I want to a path prefix which I can use as a variable to display nodes specifically for that franchise. My content types have multiple CCK references to content types Franchise and I want to base my selection on the location inside my content type franchise.

It's a website for a Restaurant with multiple franchises.

What i'm trying to do is the following:

  1. The user visits my website and gets a splash screen presented with the available franchises or a textbox to enter his postalcode
  2. Upon selecting he enters the main website with the navigational structure adapted to that particular franchise only. The selected Franchise city should remain inside of the url structure. Nodes should not be made available without the city inside of the url. For example: domain.com/city/, domain.com/city/menu, domain.com/city/menu/dishes, domain.com/city/contact, ...
  3. The contents of all nodes are based upon the city the user selected. Some franchises have extra nodes which should be displayed in the main navigation aswell. The contents of the views and panels should automaticly be adjusted to that particular Franchise aswell.
  4. Users can change the selected franchise by clicking on a main link which links back to the splash page.

What I have found so far which might be part of the solution is:

  • Purl
  • Context
  • Spaces

Parts of the nodes will be the same for all franchises other parts will be different. Menu item prices will also be different.

This is the first website i'm building using Drupal so any advice is welcome.

Thanks!

4
  • Could you please edit your question to clarify these points? Once the user enters the city/postalcode, does the navigational structure show only the selected franchise? Is the /city/ a visible part of the URL? Do you want users to be able to go to another city by changing /city/ in the URL?
    – keithm
    Commented Aug 11, 2011 at 10:47
  • Yes, that is basicly the idea. It should only show the primary links for that individual franchise. If possible I would indeed like to have the currently visible franchise city visible inside of the url at all times. And changing the city in the url would relocate them to that particular Franchise, but I want to provide a link back to the splash screen to select a Franchise. Commented Aug 11, 2011 at 10:54
  • Is domain.com constant for all franchises, or does it vary by franchise?
    – keithm
    Commented Aug 11, 2011 at 15:23
  • domain.com is a constant. The only variable is the city. for example: domain.com/new-york/menu/ and domain.com/paris/menu/ Commented Aug 12, 2011 at 5:57

1 Answer 1

1

What you want, is not (simple) with only views and CCK. That is because both lack a system for persistence in filters and arguments.

I can advise you to add a new module to your stack: Domain Access. This is a large module, which is not simple to configure right, but it sounds like it is the exact solution to your problem. It will allow you filter content, based on the domain (franchise) it is posted into.

The mayor concern with this module is its complexity. The second concern would be its use of Drupal's content access hooks and system. Modules like Domain Access, i18n, Organic Groups all use this system, which has very severe penalties for performance. IOW: Domain Access, or any access-module, will make your site notably slower and less performant.

1
  • Thank you for your reply. I will make sure to look into this and test it thoroughly tonight. I will provide feedback asap. Commented Aug 11, 2011 at 12:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.