na początku zadam pytanie: czy jest w ogóle możliwe takie wykorzystanie Symfony CMF + Sonata Media Bundle jak poniżej
0. Mamy projekt bazujący na CMF Sandbox o następujących zależnościach composera:
Kod
{
"config": {
"github-oauth": {
"github.com": "7afa76203776c5edb5b805ae6e0c4a6493219854"
}
},
"name": "symfony-cmf/sandbox",
"description": "Demo Sandbox for the Symfony Content Management Framework",
"homepage": "http://cmf.symfony.com",
"license": "MIT",
"authors": [
{
"name": "Symfony CMF Community",
"homepage": "https://github.com/symfony-cmf/SimpleCmsBundle/contributors"
}
],
"autoload": {
"psr-0": {
"": "src/"
}
},
"minimum-stability": "stable",
"require": {
"php": ">=5.3.3",
"twig/extensions": "~1.0",
"symfony/symfony": "2.3.*",
"symfony/assetic-bundle": "2.3.*",
"symfony/swiftmailer-bundle": "2.3.*",
"symfony/monolog-bundle": "2.3.*",
"symfony-cmf/symfony-cmf": "1.0.*",
"symfony-cmf/simple-cms-bundle": "1.0.*",
"symfony-cmf/search-bundle": "1.0.*",
"symfony-cmf/create-bundle": "1.0.*",
"symfony-cmf/routing-auto-bundle": "1.0.0-alpha8@dev",
"symfony-cmf/blog-bundle": "1.0.0-beta7@dev",
"symfony-cmf/media-bundle": "1.0.*",
"sensio/distribution-bundle": "2.3.*",
"sensio/framework-extra-bundle": "2.3.*",
"sensio/generator-bundle": "2.3.*",
"jackalope/jackalope-doctrine-dbal": "1.0.*",
"jackalope/jackalope-jackrabbit": "1.0.*",
"doctrine/doctrine-bundle": "1.2.*",
"doctrine/data-fixtures": "1.0.*",
"doctrine/phpcr-odm": "~1.0.1",
"doctrine/doctrine-fixtures-bundle": "2.2.*",
"sonata-project/core-bundle": "dev-master",
"sonata-project/cache-bundle": "2.1.*",
"sonata-project/doctrine-phpcr-admin-bundle": "1.0.*@dev",
"sonata-project/doctrine-orm-admin-bundle": "2.2.7",
"sonata-project/formatter-bundle": "dev-master",
"sonata-project/markitup-bundle": "dev-master",
"eko/feedbundle": "1.0.*",
"liip/imagine-bundle": "~0.12",
"liip/doctrine-cache-bundle": "dev-master",
"wjzijderveld/check-bundles": "~1.0",
"helios-ag/fm-elfinder-bundle": "~1.4",
"genemu/form-bundle": "2.2.*",
"ivaynberg/select2": "~3.4.8"
},
"require-dev": {
"liip/functional-test-bundle": "1.0.*",
"symfony-cmf/testing": "1.0.*"
},
"scripts": {
"post-install-cmd": [
"WillemJan\\CheckBundles\\Composer\\CheckBundles::postPackageUpdate",
"Symfony\\Cmf\\Bundle\\CreateBundle\\Composer\\ScriptHandler::downloadCreateAndCkeditor",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets"
],
"post-update-cmd": [
"WillemJan\\CheckBundles\\Composer\\CheckBundles::postPackageUpdate",
"Symfony\\Cmf\\Bundle\\CreateBundle\\Composer\\ScriptHandler::downloadCreateAndCkeditor",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets"
]
},
"extra": {
"checkbundles-ignore": [
"Liip\\FunctionalTestBundle\\LiipFunctionalTestBundle",
"Sensio\\Bundle\\DistributionBundle\\SensioDistributionBundle"
],
"symfony-app-dir": "app",
"symfony-web-dir": "web/static",
"symfony-assets-install": "symlink"
}
}
"config": {
"github-oauth": {
"github.com": "7afa76203776c5edb5b805ae6e0c4a6493219854"
}
},
"name": "symfony-cmf/sandbox",
"description": "Demo Sandbox for the Symfony Content Management Framework",
"homepage": "http://cmf.symfony.com",
"license": "MIT",
"authors": [
{
"name": "Symfony CMF Community",
"homepage": "https://github.com/symfony-cmf/SimpleCmsBundle/contributors"
}
],
"autoload": {
"psr-0": {
"": "src/"
}
},
"minimum-stability": "stable",
"require": {
"php": ">=5.3.3",
"twig/extensions": "~1.0",
"symfony/symfony": "2.3.*",
"symfony/assetic-bundle": "2.3.*",
"symfony/swiftmailer-bundle": "2.3.*",
"symfony/monolog-bundle": "2.3.*",
"symfony-cmf/symfony-cmf": "1.0.*",
"symfony-cmf/simple-cms-bundle": "1.0.*",
"symfony-cmf/search-bundle": "1.0.*",
"symfony-cmf/create-bundle": "1.0.*",
"symfony-cmf/routing-auto-bundle": "1.0.0-alpha8@dev",
"symfony-cmf/blog-bundle": "1.0.0-beta7@dev",
"symfony-cmf/media-bundle": "1.0.*",
"sensio/distribution-bundle": "2.3.*",
"sensio/framework-extra-bundle": "2.3.*",
"sensio/generator-bundle": "2.3.*",
"jackalope/jackalope-doctrine-dbal": "1.0.*",
"jackalope/jackalope-jackrabbit": "1.0.*",
"doctrine/doctrine-bundle": "1.2.*",
"doctrine/data-fixtures": "1.0.*",
"doctrine/phpcr-odm": "~1.0.1",
"doctrine/doctrine-fixtures-bundle": "2.2.*",
"sonata-project/core-bundle": "dev-master",
"sonata-project/cache-bundle": "2.1.*",
"sonata-project/doctrine-phpcr-admin-bundle": "1.0.*@dev",
"sonata-project/doctrine-orm-admin-bundle": "2.2.7",
"sonata-project/formatter-bundle": "dev-master",
"sonata-project/markitup-bundle": "dev-master",
"eko/feedbundle": "1.0.*",
"liip/imagine-bundle": "~0.12",
"liip/doctrine-cache-bundle": "dev-master",
"wjzijderveld/check-bundles": "~1.0",
"helios-ag/fm-elfinder-bundle": "~1.4",
"genemu/form-bundle": "2.2.*",
"ivaynberg/select2": "~3.4.8"
},
"require-dev": {
"liip/functional-test-bundle": "1.0.*",
"symfony-cmf/testing": "1.0.*"
},
"scripts": {
"post-install-cmd": [
"WillemJan\\CheckBundles\\Composer\\CheckBundles::postPackageUpdate",
"Symfony\\Cmf\\Bundle\\CreateBundle\\Composer\\ScriptHandler::downloadCreateAndCkeditor",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets"
],
"post-update-cmd": [
"WillemJan\\CheckBundles\\Composer\\CheckBundles::postPackageUpdate",
"Symfony\\Cmf\\Bundle\\CreateBundle\\Composer\\ScriptHandler::downloadCreateAndCkeditor",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets"
]
},
"extra": {
"checkbundles-ignore": [
"Liip\\FunctionalTestBundle\\LiipFunctionalTestBundle",
"Sensio\\Bundle\\DistributionBundle\\SensioDistributionBundle"
],
"symfony-app-dir": "app",
"symfony-web-dir": "web/static",
"symfony-assets-install": "symlink"
}
}
1. Mamy encję z ORM o nazwie "Station" (tylko do odczytu gdyż pochodzi z replikacji bazy danych) która ma mieć kolekcję obrazków (te już modyfikowane przez admina a nie z replikacji)
2. Obrazki o których mowa w pkt 1. są dokumentem PHPCR i powinny być zarządzane przez MediaBundle jak na rysunku:


3. Istnieje więc potrzeba stworzenia związku między obiektem PHPCR a encją ORM
4. jak poprawnie napisać klasy adminów dla tych obiektów?