added 4.4 config file (#1307)

This commit is contained in:
Yorkie Chadwick
2022-02-19 11:08:48 +01:00
committed by GitHub
parent cb4354041a
commit c35276841e
8 changed files with 326 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
networking_init_cms:
cache:
activate: false

View File

@@ -0,0 +1,58 @@
imports:
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/doctrine.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/fos_ck_editor.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/fos_user.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/mopa_bootstrap.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/oneup_flysystem.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/oneup_uploader.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/sonata_admin.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/sonata_block.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/sonata_doctrine_admin.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/sonata_media.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/sonata_notification.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/sonata_user.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/stof_doctrine_extensions.yaml" }
- { resource: "@NetworkingInitCmsBundle/Resources/config/cms/symfony_cmf_routing_extra.yaml" }
# Default security configuration
# - { resource: "@NetworkingInitCmsBundle/Resources/config/cms/security.yaml" }
# Set up the serializer to read config file for App Page and User entities
jms_serializer:
metadata:
directories:
NetworkingSonataMediaBundle:
namespace_prefix: "Sonata\\MediaBundle"
path: "@NetworkingInitCmsBundle/Resources/config/serializer"
app:
namespace_prefix: "App"
path: "%kernel.project_dir%/config/serializer"
networking_init_cms:
#Base classes to be used for the page and user entities
class:
page: "App\\Entity\\Page"
user: "App\\Entity\\User"
# Bootstrap some template settings to get you started
templates:
'app_single_column':
template: "@NetworkingInitCms/sandbox/page/one_column.html.twig"
name: "Single Column"
icon: "bundles/networkinginitcms/img/template_header_one_column.png"
zones:
- { name: header, class: 'col-md-12' }
- { name: main_content, class: 'col-md-12'}
'app_two_column':
template: "@NetworkingInitCms/sandbox/page/two_column.html.twig"
name: "Two Column"
icon: "bundles/networkinginitcms/img/template_header_two_column.png"
zones:
- { name: header , class: 'col-md-12'}
- { name: left , class: 'col-md-3'}
- { name: right , class: 'col-md-9'}
cache:
activate: true #enable for product, false in dev config
# For more information regarding configuration of the CMS Bundle, please visit the following documentation
# https://github.com/networking/init-cms-bundle/blob/master/doc/configuration.md

View File

@@ -0,0 +1,3 @@
networking_init_cms:
resource: "@NetworkingInitCmsBundle/Resources/config/routing/routing.yaml"
prefix: /

View File

@@ -0,0 +1,17 @@
{
"bundles": {
"Networking\\InitCmsBundle\\NetworkingInitCmsBundle": ["all"]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/",
"serializer/": "%CONFIG_DIR%/serializer/",
"src/": "%SRC_DIR%/"
},
"env": {
"LOCALE": "en",
"DATABASE_DRIVER": "mysql"
},
"composer-scripts": {
"ckeditor:install --clear=drop": "symfony-cmd"
}
}

View File

@@ -0,0 +1,15 @@
* The <fg=blue>InitCmsBundle</> imports many configuration files, such as doctrine.yaml, security.yaml etc. In order
to ensure your app will work please do the following:
1. Check that all files imported via the networking_init_cms.yaml file are not overwritten with a similar
configuration file in your /config/packages folder. !IMPORTANT the doctrine.yaml and security.yaml must be either
deleted, or update/extended with the configuration as proposed in the doctrine.yaml and security.yaml files
included with the CMS.
2. Check that the Page and User entities were copied to the correct entity folder, and are configured correctly.
3. Configure your languages in the networking_init_cms.yaml file, for multi-language support.
4. Configure the lexik translation bundles fallback_local and managed_locales parameters to support DB based translations.
5. Clear the cache again so that the new config files are loaded correctly.
6. Check your database configuration, and back up your database if you haven't done so already.
7. Update your database <fg=blue>bin/console doctrine:schema:update</> or using the doctrine migrate commands
8. Use the command networking:initcms:install to install the DB install fixtures and create a superuser admin.
ALTERNATIVELY you can use the networking:initcms:data-setup if you just want to install the data structure and fixtures
9. Enable or disable full page caching by setting networking_init_cms.cache.activate to true/false

View File

@@ -0,0 +1,77 @@
App\Entity\Page:
properties:
id:
type: integer
createdAt:
type: DateTime
updatedAt:
type: DateTime
pageName:
type: string
metaTitle:
type: string
url:
type: string
path:
type: string
level:
type: integer
metaKeyword:
type: string
metaDescription:
type: string
parent:
accessor:
getter: convertParentToInteger
type: integer
alias:
accessor:
getter: convertAliasToInteger
type: integer
parents:
accessor:
getter: convertParentsToArray
type: array
children:
accessor:
getter: convertChildrenToIntegerArray
type: array
allChildren:
exclude: true
layoutBlock:
type: ArrayCollection<Networking\InitCmsBundle\Entity\LayoutBlock>
menuItem:
exclude: true
accessor:
getter: prepareMenuItemsForSerialization
type: ArrayCollection<Networking\InitCmsBundle\Entity\MenuItem>
isHome:
type: boolean
status:
type: string
visibility:
type: string
activeFrom:
type: DateTime
activeTo:
type: DateTime
locale:
type: string
translations:
accessor:
getter: convertTranslationsToIntegerArray
type: array
originals:
accessor:
getter: convertOriginalsToIntegerArray
type: array
snapshots:
exclude: true
snapshotClassType:
type: string
oldTitle:
exclude: true
tags:
exclude: true
contentRoute:
exclude: true

View File

@@ -0,0 +1,122 @@
<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Gedmo\Mapping\Annotation as Gedmo;
use Networking\InitCmsBundle\Entity\BasePage;
use Doctrine\ORM\Mapping as ORM;
use Networking\InitCmsBundle\Model\ContentRoute;
/**
*
* @author Yorkie Chadwick <y.chadwick@networking.ch>
*
* @ORM\Entity
* @ORM\Table(name="page",
* uniqueConstraints={@ORM\UniqueConstraint(name="path_idx", columns={
* "path", "locale"
* })}
* )
* @ORM\HasLifecycleCallbacks()
*/
class Page extends BasePage{
/**
* @var integer $id
*
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @var ContentRoute
* @ORM\OneToOne(
* targetEntity = "Networking\InitCmsBundle\Entity\ContentRoute",
* cascade={"remove", "persist"}
* )
* @ORM\JoinColumn(name="content_route_id", referencedColumnName="id")
*/
protected $contentRoute;
/**
* @ORM\OneToMany(targetEntity="Networking\InitCmsBundle\Entity\LayoutBlock",
* mappedBy="page",
* cascade={"remove", "persist"},
* orphanRemoval=true
* )
* @ORM\OrderBy({"sortOrder" = "ASC"})
*/
protected $layoutBlock;
/**
* @ORM\OneToMany(targetEntity="Networking\InitCmsBundle\Entity\MenuItem",
* mappedBy="page",
* cascade={"remove"},
* orphanRemoval=true
* )
*/
protected $menuItem;
/**
* @ORM\OneToMany(targetEntity="Networking\InitCmsBundle\Entity\PageSnapshot",
* mappedBy="page",
* cascade={"remove"},
* orphanRemoval=true
* )
* @ORM\OrderBy({"version" = "DESC"})
*/
protected $snapshots;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Page",
* mappedBy="parent"
* )
*/
protected $children;
/**
* @var Page
* @ORM\ManyToOne(targetEntity="App\Entity\Page" )
* @ORM\JoinColumn(name="alias_id", referencedColumnName="id", onDelete="SET NULL")
*/
protected $alias;
/**
* @var Page
* @ORM\ManyToOne(targetEntity="App\Entity\Page", inversedBy="children", cascade="persist" )
* @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="SET NULL")
* @Gedmo\TreeParent
*/
protected $parent;
/**
* @var ArrayCollection $originals
* @ORM\ManyToMany(
* targetEntity="App\Entity\Page",
* inversedBy="translations",
* cascade={"persist"}
* )
* @ORM\JoinTable(
* name="page_translation",
* joinColumns={
* @ORM\JoinColumn(name="translation_id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="original_id", referencedColumnName="id")
* }
* )
*/
protected $originals;
/**
* @var ArrayCollection $translations
* @ORM\ManyToMany(
* targetEntity="App\Entity\Page",
* mappedBy="originals",
* cascade={"persist"}
* )
*/
protected $translations;
}

View File

@@ -0,0 +1,31 @@
<?php
namespace App\Entity;
use Networking\InitCmsBundle\Entity\BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* User
*
* @ORM\Table(name="fos_user_user")
* @ORM\Entity()
*/
class User extends BaseUser{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var \Networking\InitCmsBundle\Model\AdminSettings
* @ORM\Column(name="admin_settings", type="object", nullable=true)
*/
protected $adminSettings;
}