first commit
This commit is contained in:
51
bundles/External/ZNZBundle/Resources/script/GenerateParameterUrlScript.php
vendored
Normal file
51
bundles/External/ZNZBundle/Resources/script/GenerateParameterUrlScript.php
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace External\ZNZBundle\Resources\script;
|
||||
|
||||
use KupShop\AdminBundle\Util\Script\Script;
|
||||
use Query\Operator;
|
||||
|
||||
class GenerateParameterUrlScript extends Script
|
||||
{
|
||||
protected static $name = '[ZNZ] Generování URL hodnot parametrů';
|
||||
protected static $defaultParameters = [
|
||||
'language' => 'en',
|
||||
];
|
||||
|
||||
protected function run(array $arguments)
|
||||
{
|
||||
$language = $arguments['language'];
|
||||
$this->log("Překládám URL filtru do jazyka {$language}...");
|
||||
|
||||
foreach ($this->getParametersForTranslation($language) as $parameter) {
|
||||
$url = strtolower(preg_replace('/[^\w\s]/', '', $parameter['value']));
|
||||
$url = str_replace(' ', ' ', $url);
|
||||
$url = str_replace(' ', '-', $url);
|
||||
|
||||
sqlQueryBuilder()
|
||||
->update('parameters_list_translations')
|
||||
->directValues(['filter_url' => $url])
|
||||
->where(Operator::equals(['id' => $parameter['id'], 'id_parameters_list' => $parameter['id_parameters_list']]))
|
||||
->execute();
|
||||
}
|
||||
|
||||
$this->log('Přeloženo');
|
||||
}
|
||||
|
||||
protected function getParametersForTranslation(string $language): iterable
|
||||
{
|
||||
return sqlQueryBuilder()
|
||||
->select('id, id_parameters_list, value')
|
||||
->from('parameters_list_translations')
|
||||
->where(Operator::equals(['id_language' => $language]))
|
||||
->andWhere(Operator::andX(
|
||||
Operator::isNotNull('value'),
|
||||
Operator::not(Operator::equals(['value' => '']))
|
||||
))
|
||||
->execute();
|
||||
}
|
||||
}
|
||||
|
||||
return GenerateParameterUrlScript::class;
|
||||
Reference in New Issue
Block a user