Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
DatabaseWriter example
$items
[
]
=
$this
->
createMenuItem
(
$plugin
,
$parent
,
$menuItem
)
;
}
$this
->em->
flush
(
$items
)
;
$this
->
removeNotExistingEntries
(
$plugin
->
getId
(
)
,
$menuNames
)
;
}
private
function
saveMenuTranslation
(
array
$labels
, string
$name
)
: void
{
$databaseWriter
=
new
DatabaseWriter
(
$this
->em->
getConnection
(
)
)
;
foreach
(
$labels
as
$locale
=>
$text
)
{
if
(
$locale
=== 'en'
)
{
$locale
= 'en_GB';
}
if
(
$locale
=== 'de'
)
{
$locale
= 'de_DE';
}
$locale
=
Shopware
(
)
->
Models
(
)
->
getRepository
(
Locale::
class
)
->
findOneBy
(
[
'locale' =>
$locale
]
)
;
if
(
!
$locale
instanceof Locale
)
{
$this
->
saveMenuTranslation
(
$menuItem
[
'label'
]
,
$name
)
;
}
$this
->em->
persist
(
$item
)
;
return
$item
;
}
private
function
saveMenuTranslation
(
array
$labels
, string
$name
)
: void
{
$databaseWriter
=
new
DatabaseWriter
(
$this
->em->
getConnection
(
)
)
;
foreach
(
$labels
as
$locale
=>
$text
)
{
if
(
$locale
=== 'en'
)
{
$locale
= 'en_GB';
}
if
(
$locale
=== 'de'
)
{
$locale
= 'de_DE';
}
$locale
=
Shopware
(
)
->
Models
(
)
->
getRepository
(
Locale::
class
)
->
findOneBy
(
[
'locale' =>
$locale
]
)
;
return
;
}
$localeRepository
=
$this
->em->
getRepository
(
'Shopware\Models\Shop\Locale'
)
;
$inputAdapter
=
new
Enlight_Config_Adapter_File
(
[
'configDir' =>
$snippetsDir
,
]
)
;
$databaseWriter
=
new
DatabaseWriter
(
$this
->em->
getConnection
(
)
)
;
$databaseWriter
->
setForce
(
$force
)
;
$finder
=
new
Finder
(
)
;
$finder
->
files
(
)
->
in
(
$snippetsDir
)
;
$defaultLocale
=
$localeRepository
->
findOneBy
(
[
'locale' => 'en_GB'
]
)
;
$snippetCount
=
$this
->em->
getConnection
(
)
->
fetchArray
(
'SELECT * FROM s_core_snippets LIMIT 1'
)
;
$databaseWriter
->
setUpdate
(
(bool)
$snippetCount
)
;
foreach
(
$finder
as
$file
)
{
$filePath
=
$file
->
getRelativePathname
(
)
;