Administering Multiple Sites with one Fuel CMS

edited January 2015 in Share
Hello,

I currently have 4 websites currently written in other languages and want to rebuild them in PHP with a CMS back end written in the same language.

How can I use Fuel to manage multiple sites, allowing multiple users to add content independently

Comments

  • edited 8:13AM
    Has anyone tried, using FuelCMS to administer multiple site?
  • edited 8:13AM
    Sorry... I thought I replied to this but just noticed that it never got submitted. FUEL doesn't have a multi-website mode and in your case, it would require you to have 4 different FUEL installations.
  • edited January 2015
    Admin,

    Thank you for replying. I had to come up with a solution other than multiple installs of fuel since the development of the other sites are well under way. I decided to divide the features I wanted to administer across all sites then set off to see how Fuel could be used to get it done on a per site basis.
    One of the first was product categories. What I need, I thought, was a way; a simple module ("Categorymger"),
    which would display a dashboard with options(s) which would allow me to select the site,(category table) I need to administer.
    selecting an option would cause, the Categorymger_model() to get passed a variable corresponding to something like; parent::__construct( $db. 'categories_table');

    If this works I want to do the same for products as well as inline editing of site pages.
    Still I await any response to this idea
  • edited 8:13AM
    Is each product category record tied to a "site_id" foreign key value to a sites_model or something similar? If so, you could add a filter in you module configuration in fuel/application/config/MY_fuel_modules like the following which will create a dropdown to filter the selection list:
    $config['modules']['sites'] = array( .... 'filters' => array( 'site_id' => array( 'default' => 1, 'label' => 'Site', 'type' => 'select', 'model' => 'sites_model', 'hide_if_one' => TRUE, 'first_option' => 'Select a site...', ), ...
  • edited 8:13AM
    admin,

    Each site will have its own category table. The aim is to load and modify categories for a selected site, doing things like disabling or activating categories.

    This is what I have so far:
    1. a simple categoryManager module complete, activated and showing up in the dashboard left nav
    2. click categoryManager shows a list_view of categories from a default site. The default site was selected from a query on the sites table, then using the site name value to prefix the table name passed to the module:
    function __construct()
    { $sites = $this->getSites();
    parent::__construct($sites->{0}->name.'categories');
    }

    ... now, the challenge is:
    - pass the sites list to a dropdown in the list_view page (could be hard coded)
    - onchage this dropdown, pass a different prefix the the construct, or reload contents of the the list_view page with categories from the selected site using a jquery plugin like tableSorter.js.


    I am still not sure this is the best way to do it but I take any advise and update my progress here
  • edited 8:13AM
    It sounds like you will need some extra javascript assistance for the dropdown to pass something the prefix as a URI segment or query string parameter to your controller upon select. To do this, I'd recommend creating your own javascript controller for your module. There is a bit of documentation that can be found here, in particular the part about jQX near the bottom:
    http://docs.getfuelcms.com/general/javascript
Sign In or Register to comment.