I am new and have spent sometime learning HTML/CSS (intermediate level now and building simple sites) and PHP/MySQL (beginner still, but could build basic e-commerce site) I have made built an internal web application that I got paid for that implemented basic security and CMS functions.
Now I want to build a far more complicated site. The site I want to build would allow users to build their own sites based on a set of templates. A site with a similar concept is www.Ilasting.com or www.critters.com. These are memorial sites where the client signs up and is then presented with a set of templates and menus they can use to quickly create their own site.
I am having trouble understanding how I would do this. It seems like a natural for a Wordpress multi-user site or similar. The database would need to contain the sites and the information. Really though, I am unsure how to develop such a site. I am posting this in the PHP section because my suspicion is that PHP / MySQL is a good platform to build such a system. Any general guidance on how to do something like this would be greatly appreciated.
Your suspicion of using PHP/MySQL is a good fit for what you want to do. The process might goes as follows:
- Plan what content your site templates will have
- Decide if all template content should go in the database or if you will use and HTML/PHP page as the template with <?php ?> tags to receive the stored DB contents.
- Design templates: essentially you could design these as HTML/CSS pages and then hook your PHP into these designs. You should ensure that your designs will work with the content that you will allow.
- Build a registration system that allows users to make an account and perhaps involves paying for usage or a template.
- Your system would need to map registered users to template to content in your Database.
- You should account for many sites per user and multiple payments based on this.
- You should consider making the sites mobile friendly by involving CSS media queries or targeted mobile Style sheets.
I want to thank you for the reply, it really clarified things. I understand most of your reply but wanted to think it over and ask some more relevant questions (I hope)
First, I appreciate your first 5 steps. This is roughly what I had in mind. On step 2 I figured that the template pages would have php hooks to the database instead of storing the entire template. This seems more straight forward and should be simpler and faster to code, and easier in terms of database design. Step 4 (registration) should be a little bit easier to implement because I am intending on free registration.
I really appreciate your bringing up step 7. I didn’t consider mobile devices at all and will have to address that. I am not sure I understand “CSS media queries” but targeted styles would allow for display, right?
I don’t really understand step 6. Wouldn’t each user get one site based on their registration?
Further, what about attempting to do this with a CMS? Is this just wrong headed? I am really unclear about whether or not this would be easier with a CMS and if so, how it would fit together.
Thanks ahead for further clarification,
Glad to help.
To answer your questions:
- I am not sure I understand “CSS media queries” but targeted styles would allow for display, right? Yes ‘media queries’ will allow you to set CSS styles for different sized browsers. This is used to target the specific sizes of tablet, mobiles and larger desktop sizes including more standard display. If you search in the CSS forum you will find a lot of information regarding them and even how to use them.
- I don’t really understand step 6. Wouldn’t each user get one site based on their registration? You could have this direct relationship or you could take the view that each user could have many templated sites. This is represented as a one to many relationship in your database; one user can have many templated sites. You will have to decide how you want to implement this; although this approach give the users the flexibility of not having to register a new user everytime they want to create a new site.
- Further, what about attempting to do this with a CMS? I have created my own custom Wordpress templates and have a good understanding of the templating process and custom php functions. I have never used multi-site Wordpress and can not see as clearly how the registration and the assignment of templates to users would be facilitated. Maybe a multi-site Wordpress expert can chime in on this. I noticed that www.Ilasting.com are not using Wordpress they have implemented it as a custom system.