[EC-CUBE4] DateTimeType인 폼을 Entity로부터 자동 생성→초의 입력을 할 수 있도록 하는 방법
개요
@FormAppend
어노테이션에서 DateTimeType 양식을 자동으로 생성하면 연월 일시 분의 입력 항목이 자동으로 생성됩니다.그렇지만, 초까지 입력하고 싶은데, 초의 항목이 표시되지 않는다…!곤란했다.
그럴 때는
@FormAppend
의 options
의 설정에 "with_seconds": true
를 더해 주자.즉 이런 일
관리의 상품 등록 화면에 일시의 항목을 추가하는 예입니다.
변경 전
/app/Customize/Entity/ProductTrait.php
<?php
namespace Customize\Entity;
use Doctrine\ORM\Mapping as ORM;
use Eccube\Annotation as Eccube;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @Eccube\EntityExtension("Eccube\Entity\Product")
*/
trait ProductTrait
{
/**
* @ORM\Column(name="test_date_time", type="datetimetz", nullable=true)
* @Eccube\FormAppend(
* auto_render=true,
* type="\Symfony\Component\Form\Extension\Core\Type\DateTimeType",
* options={
* "required": false,
* "label": "テスト日時",
* "input": "datetime",
* "placeholder": {"year":"----", "month": "--", "day": "--", "hour": "--", "minute": "--"}
* }
* )
*/
private $test_date_time;
초를 설정할 수 없다…
변경 후
/app/Customize/Entity/ProductTrait.php
/**
* @ORM\Column(name="test_date_time", type="datetimetz", nullable=true)
* @Eccube\FormAppend(
* auto_render=true,
* type="\Symfony\Component\Form\Extension\Core\Type\DateTimeType",
* options={
* "required": false,
* "label": "テスト日時",
* "input": "datetime",
* "placeholder": {"year":"----", "month": "--", "day": "--", "hour": "--", "minute": "--", "second": "--"},
* "with_seconds": true
* }
* )
*/
private $test_date_time;
- * "placeholder": {"year":"----", "month": "--", "day": "--", "hour": "--", "minute": "--"}
+ * "placeholder": {"year":"----", "month": "--", "day": "--", "hour": "--", "minute": "--", "second": "--"},
+ * "with_seconds": true
좋아.
참고
Entity 사용자 정의 | EC-CUBE 4.0 개발 문서 #Entity에서 양식 자동 생성
Reference
이 문제에 관하여([EC-CUBE4] DateTimeType인 폼을 Entity로부터 자동 생성→초의 입력을 할 수 있도록 하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/seiyaan/items/d7071dbb05c8fa22df6f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)