Compare commits
8 commits
Author | SHA1 | Date | |
---|---|---|---|
d7e796eea5 | |||
2119e62bbb | |||
e94b044d3a | |||
0876923bf5 | |||
40097be56e | |||
de816ce05c | |||
683d940f94 | |||
9238f4fea5 |
4 changed files with 49 additions and 5 deletions
|
@ -17,6 +17,8 @@ use Neos\Flow\Annotations as Flow;
|
||||||
*/
|
*/
|
||||||
class AssetAttribute
|
class AssetAttribute
|
||||||
{
|
{
|
||||||
|
protected const MAX_VALUE_LENGTH = 250;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
|
@ -39,6 +41,12 @@ class AssetAttribute
|
||||||
*/
|
*/
|
||||||
protected array $replacementMap;
|
protected array $replacementMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="text", nullable=true)
|
||||||
|
* @var string|null
|
||||||
|
*/
|
||||||
|
protected ?string $longValue = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param string $value
|
* @param string $value
|
||||||
|
@ -47,9 +55,14 @@ class AssetAttribute
|
||||||
public function __construct(string $name, string $value, string $urlValue = '')
|
public function __construct(string $name, string $value, string $urlValue = '')
|
||||||
{
|
{
|
||||||
$this->name = $name;
|
$this->name = $name;
|
||||||
$this->value = $value;
|
if (\mb_strlen($value) > self::MAX_VALUE_LENGTH) {
|
||||||
|
$this->longValue = $value;
|
||||||
|
$this->value = \mb_substr($value, 0, 250);
|
||||||
|
} else {
|
||||||
|
$this->value = $value;
|
||||||
|
}
|
||||||
if (!$urlValue) {
|
if (!$urlValue) {
|
||||||
$urlValue = $value;
|
$urlValue = $this->value;
|
||||||
}
|
}
|
||||||
$this->urlValue = $urlValue;
|
$this->urlValue = $urlValue;
|
||||||
}
|
}
|
||||||
|
@ -62,7 +75,7 @@ class AssetAttribute
|
||||||
\array_column($this->replacementMap, 'value'),
|
\array_column($this->replacementMap, 'value'),
|
||||||
$this->urlValue
|
$this->urlValue
|
||||||
);
|
);
|
||||||
$this->urlValue = \urlencode(\strtolower($this->urlValue));
|
$this->urlValue = \mb_substr(\urlencode(\strtolower($this->urlValue)), 0, 250);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +92,7 @@ class AssetAttribute
|
||||||
*/
|
*/
|
||||||
public function getValue(): string
|
public function getValue(): string
|
||||||
{
|
{
|
||||||
return $this->value;
|
return $this->longValue ?? $this->value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
"Neos.Media.Browser": "resource://Neos.Media.Browser/Private/Partials"
|
"Neos.Media.Browser": "resource://Neos.Media.Browser/Private/Partials"
|
||||||
|
|
||||||
-
|
-
|
||||||
requestFilter: "parentRequest.isPackage('Neos.Neos') && isFormat('html') && isPackage('Neos.Media.Browser')"
|
requestFilter: "parentRequest.isPackage('Neos.Neos') && isFormat('html') && isPackage('Neos.Media.Browser') && isAction('edit')"
|
||||||
options:
|
options:
|
||||||
templateRootPaths:
|
templateRootPaths:
|
||||||
"DigiComp.AssetAttributes": "resource://DigiComp.AssetAttributes/Private/Templates"
|
"DigiComp.AssetAttributes": "resource://DigiComp.AssetAttributes/Private/Templates"
|
||||||
|
|
28
Migrations/Mysql/Version20240625154316.php
Normal file
28
Migrations/Mysql/Version20240625154316.php
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Neos\Flow\Persistence\Doctrine\Migrations;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Schema\Schema;
|
||||||
|
use Doctrine\Migrations\AbstractMigration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto-generated Migration: Please modify to your needs!
|
||||||
|
*/
|
||||||
|
final class Version20240625154316 extends AbstractMigration
|
||||||
|
{
|
||||||
|
public function up(Schema $schema): void
|
||||||
|
{
|
||||||
|
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
|
||||||
|
|
||||||
|
$this->addSql('ALTER TABLE digicomp_assetattributes_domain_model_assetattribute ADD longvalue LONGTEXT DEFAULT NULL');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function down(Schema $schema): void
|
||||||
|
{
|
||||||
|
$this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'mysql', 'Migration can only be executed safely on \'mysql\'.');
|
||||||
|
|
||||||
|
$this->addSql('ALTER TABLE digicomp_assetattributes_domain_model_assetattribute DROP longvalue');
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,6 +15,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-develop": "1.0.x-dev"
|
||||||
|
},
|
||||||
"neos": {
|
"neos": {
|
||||||
"package-key": "DigiComp.AssetAttributes"
|
"package-key": "DigiComp.AssetAttributes"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue