Get going quickly with TYPO3 CMS.
- PHP 7.2
- Composer
- ImageMagick
- GraphicsMagick
composer create-project mia3/typo3-base project-name --stability=dev
cd project-name
git init
git add .
git commit -a -m "Initial commit"
make setup
- To start with your project, clone this repository running:
git clone ssh://[email protected]:2222/mia3/typo3.git
- Then run the following command, to change into your project folder:
cd acme.com
- After using this command, you should be able to run the following command to install TYPO3 and all necessary dependencies:
make install
- Set up a local server environment(e.g: MAMP) and create a new database for this project. To avoid errors with the "Application Context", use
local.acme.com
as domain for this environment. - Now you can run the following command, to set up your local database connection.
make setup/env
- Enter your local database information and then run:
This will download the images und database-dump from the last Backup. If everything has been set up correctly, the database dump will be automatically imported into the created database.
make pull-backup
- Finally, you should execute the following command to bundle all CSS and Javascript files.
make build/watch
assets/
├── template/
│ ├── Scripts/
│ ├── Components/
│ ├── Button/
│ ├── Form/
│ ├── MobileMenu/
│ ├── Utility/
│ ├── Styles/
│ ├── Base/
│ ├── ContentElements/
│ ├── Extensions/
│ ├── PageLayout/
│ ├── Utility/
config/
packages/
├── template/
│ ├── Classes/
│ ├── Controller/
│ ├── Domain/
│ ├── Service/
│ ├── TcaUserFunctions/
│ ├── Utility/
│ ├── ViewHelpers/
│ ├── Configuraton/
│ ├── FlexForms/
│ ├── RTE/
│ ├── TCA/
│ ├── Overrides/
│ ├── Mask/
│ ├── Columns/
│ ├── Pages/
│ ├── Types/
│ ├── tt_content/
│ ├── TsConfig/
│ ├── TypoScript/
│ ├── Initialisation/
│ ├── Resources/
│ ├── Private/
│ ├── ExtensionOverrides/
│ ├── Language/
│ ├── Mask/
│ ├── Partials/
│ ├── Templates/
│ ├── Pulblic/
public/
webpack/
assets/
. All assets for the template extensionScripts/
. All Vue-Components and JavaScript-FilesStyles/
. All StylesBase/
. Simple and general stylings (Typography, Forms, Buttons ...)ContentElements/
. Stylings for all Content-Elements in the template extensionExtensions/
. Override stylings in 3rd-Party extensionsPageLayout/
. Styling for page layout componets like header, footer etc.Utility/
. Styling which can be useful in many situations and which is highly reusable
config/
. TYPO3 Site-Configurationpackages/
. Locale composer repository to load custom extensions for this pagetemplate/
. The custom template extension for this web siteClasses/
Controller/
. Controller for this extensionDomain/
. Domain-Models for this extensionService/
. Services for this extensionTcaUserFunctions/
. Classes which should support and extend TCA functionallityUtility/
. Utility-Classes, only to make YOUR life easierViewHelpers/
. Custom-ViewHelpers for every situation
Configuration/
TCA/Overrides/
. TCA OverridesMask/
. TCA Overrides for Mask-ElementsColumns/
. Override Mask-ColumnsPages/
. Override TCA by Page-Type / Backend-LayoutTypes/
. Override Mask-Fields by Type
tt_content/
. Override TYPO3-Native fields
Resources/
Private/
ExtensionOverrides/
. Override template files for 3rd-Party extensionsLanguage/
. Language filesMask/
. Mask template files (Backend + Frontend)Partials/
. General PartialsTemplates/
. Genral Tempaltes
webpack/
. Splitted webpack configuration files, can be used to combine multiple build-procecces into one
With Make we can combine multiple commands without writing a bash script.
Current commands that exists:
make setup # Setup the new project
make build/watch # Build assets with sourcemaps and watch for changes
make install-dependencies # Install composer and yarn dependencies
make update-dependencies # Update composer and yarn dependencies
make setup/database-connection # Create an AdditionalConfiguration.php
make migrate # Apply database migration
make build # Build assets with sourcemaps
make build/production # Build minified assets
make clear-cache # Clear TYPO3 cache
make pull-backup # Download latest files and import database dump from operations.mia3.com
make staging/deploy Deploys to staging from your local machine. Updates database schema and flushes caches.
make staging/clear-cache Flush staging caches.
make staging/push-backup: Deploys local database to staging from your machine.
make production/deploy # Try not to use this command. Always deploy from GitLab to the production environment.
CSS and JavaScript files are located in the assets
directory.
Each form has its own plugin. To add another form:
- Create domain model ->
Classes/Domain/Model/MyFormRequest.php
- Register a new plugin ->
Configuration/TCA/Overrides/tt_content.php
- Configure the new plugin ->
ext_localconf.php
- Create flexform ->
Configuration/FlexForm/MyForm.xml
- Update README.md
- Where to add CSS
- Where to add JS
- page.meta.description empty default?
- How to use CSS variables (postcss-config.js)
- Site URL config:
Development/Local
- ->
Development/Integration
- ->
Production/Staging
- ->
Production