0
私はこのようになり、データテーブルがあります。Easy Admin Bundleのフィールドでjsonデータを編集するにはどうすればいいですか?
をし、私はいくつかのユーザーフレンドリーな形で編集JSONデータをたいが、このようではない:
それはそれを行うことが可能ですすばやく、いくつかのパラメータを変更するだけですか?
私はこのようになり、データテーブルがあります。Easy Admin Bundleのフィールドでjsonデータを編集するにはどうすればいいですか?
をし、私はいくつかのユーザーフレンドリーな形で編集JSONデータをたいが、このようではない:
それはそれを行うことが可能ですすばやく、いくつかのパラメータを変更するだけですか?
かなり印刷されたJSONを編集すれば十分です。カスタムフォームフィールドとデータトランスフォーマを作成すると、JSONをテンプレートビューのフォームを印刷し、フォームが送信されるときにコンパクトなJSONに戻します。
<?php
namespace App\Form\Type;
use App\Form\DataTransformer\JsonToPrettyJsonTransformer;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\FormBuilderInterface;
class JsonType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
parent::buildForm($builder, $options);
$builder->addViewTransformer(new JsonToPrettyJsonTransformer());
}
public function getParent()
{
return TextareaType::class;
}
}
データトランス:
<?php
namespace App\Form\DataTransformer;
use Symfony\Component\Form\DataTransformerInterface;
class JsonToPrettyJsonTransformer implements DataTransformerInterface
{
public function transform($value)
{
return json_encode(json_decode($value), JSON_PRETTY_PRINT);
}
public function reverseTransform($value)
{
return json_encode(json_decode($value));
}
}
簡単管理構成:
easy_admin:
entities:
EntityName:
class: App\Entity\EntityName
form:
fields:
# other fields
- { property: 'propertyName', type: 'App\Form\Type\JsonType' }
以下に示す溶液を4
JSON形式フィールドタイプのSymfonyのディレクトリ構造及びシステムに基づいています
もっと複雑なエディタは同じ方法で作成できますが、おそらくウィジェットのオーバーライドテンプレートとカスタムスタイルに加えてjavascripts。