Not for production yet.
Are you stuck with old fashion web hotels too? Stuck delivering php and mysql to old customers who are not interested in being awesome? Me too.
Let's build something that will work for these customers. Where you can code freely and without limits, and still let the customer be in charge, such as language aware content.
What if the customer could edit the data stores, and not eff up the HTML? What if the HTML would not look like crap just because it were dynamically generated?
I've built so many wordpress and woocommerce sites where I totally lost control over the code and were dependent on plugins, which where developed by bunglers like me. I've built so many custom made sites in PHP and built myself into a corner because of changes in plans and customer wantings. I need something that I'm in control of that make development fast.
A routing system is included. All landing pages should exist in ./pages and is accessed through site-url/my-page that would get ./pages/my-page.php and site-url/sub/sub2 would get ./pages/sub/sub2/index.php.
Templates exists in ./templates and can not be accessed directly with an URL. Instead it's defined on top of a page file as [template: my-template] that would put all content of the page inside of ./templates/my-template.php. The placement for the content is defined inside the template as [content].
To include modules you type [module: path/subpath/my-module] which would include module ./path/subpath/my-module.php. This can be done recursively.
Define a data store for a page with [data: my-store] that would get ./data/my-store.json. Then use ${variable} to get variable from my-store.json.
You can access data stores and loop through them with
-
[foreach ${persons}:
- ${name} is ${age} years old. ]
It would then get ./data/persons.json and get the name and age from this file.
To be able to link to a specific page, no matter the domain or URL we can use [link: start] to get ./pages/start.php or [link: path/subpath/test] to get the url to ./pages/path/subpath/test.php.
Edit global settings in ./settings.php.
My thought is to have data objects that handles generic objects that the customer can change without effing up the site.
They could control translation, sort order, titles, descriptions.
-
Data Stores
- Movies
-
Data fields (1-1 to data stores)
- Movies-Name
- Name: Name
- Type: String
- FormType: TextInput / Select
- LanguageDependant: true/false
- Movies-Name
-
Movies
- Goonies
- ID: 100
- Name: The Goonies
- SortOrder: 10
- Genre: Comedy
- Minute: 124
- Goonies
-
Languages
- Swedish
- SE
- SV
- Swedish
-
Pages
- Book list page
- Template
- Content / Includes
- Book list page
-
Templates
- HTML files with variables, ie $name that matches data store
- Ability to import other templates