2017-11-29 9 views
1

의 이미지 필드에 cropVariants를 추가하는 방법은 다음과 같습니다 : TCA에서 이미지 필드의 cropVaraints을 재정의 할 수TYPO3의 flexform

'columnsOverrides' => [ 
    'image' => [ 
     'label' => 'LLL:EXT:myext/Resources/Private/Language/locallang_be.xlf:general.field.image', 
     'config' => [ 
      'overrideChildTca' => [ 
       'columns' => [ 
        'crop' => [ 
         'config' => [ 
          'cropVariants' => [ 
           'default' => [ 
            'title' => 'LLL:EXT:myext/Resources/Private/Language/locallang_be.xlf:wizard.banner.title', 
            'allowedAspectRatios' => [ 
             '2:1' => [ 
              'title' => 'LLL:EXT:myext/Resources/Private/Language/locallang_be.xlf:field.banner.image-crop.ratio', 
              'value' => 2/1 
             ], 
            ], 
           ], 
          ], 
         ], 
        ], 
       ], 
      ], 
     ], 
    ], 
], 

내가 flexform이를 adabt하는 tryed -하지만 어떤 성공하지. 그래서 내가 필요한 것은 이와 같습니다. (그러나 일하는 것 :-))

<foreign_selector_fieldTcaOverride type="array"> 
    <config> 
     <appearance> 
      <elementBrowserType>file</elementBrowserType> 
      <elementBrowserAllowed>jpg,png</elementBrowserAllowed> 
     </appearance> 
     <overrideChildTca> 
      <columns> 
       <crop> 
        <config> 
         <cropVariants> 
          <default> 
           <title>Blubber</title> 
           <allowedAspectRatios> 
            <test> 
             <title>2:1</title> 
             <value>2/1</value> 
            </test> 
           </allowedAspectRatios> 
          </default> 
         </cropVariants> 
        </config> 
       </crop> 
      </columns> 
     </overrideChildTca> 
    </config> 
</foreign_selector_fieldTcaOverride> 

누구도 전에 그 일을 했습니까?

가능하지 않은 경우 flexform을 얻을 수 있습니까? 현재 이미지 필드가있는 gridelement 있습니다.

[UPDATE] @fnagel은 기본값을 재정의하는 것이 가능해야하므로 다음을 재정의/sys_file_reference.php에 넣으려고했으나 효과가 없습니다. 기본값을 찾을 수조차 못했습니다. TCA-Inspector의 정의 ...도 효과가 없습니다로 해주 작성

$GLOBALS['TCA']['sys_file_reference']['columns']['crop']['config‌']['cropVariants‌​']['default'] = [ 
    'title' => 'LLL:EXT:al_template/Resources/Private/Language/locallang_be.xlf:wizard.gallery.title', 
    'allowedAspectRatios' => [ 
     'NaN' => [ 
      'title' => 'LLL:EXT:al_template/Resources/Private/Language/locallang_be.xlf:field.gallery.image-crop.ratio', 
      'value' => 0.0 
     ], 
    ], 
]; 

... 그의 성공적인 설치와

\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
    $GLOBALS['TCA']['sys_file_reference'], 
    [ 
     'columns' =>[ 
      'crop' => [ 
       'config‌' => [ 
        'cropVariants‌​' => [ 
         'default'=> [ 
          'title' => 'LLL:EXT:al_template/Resources/Private/Language/locallang_be.xlf:wizard.gallery.title', 
          'allowedAspectRatios' => [ 
           'NaN' => [ 
            'title' => 'LLL:EXT:al_template/Resources/Private/Language/locallang_be.xlf:field.gallery.image-crop.ratio', 
            'value' => 0.0 
           ], 
          ], 
         ], 
        ], 
       ], 
      ], 
     ], 
    ] 
); 

누구?

+0

그 대답은 아니지만, 나는 최선의 방법은 flexform의 이미지 필드를 피하는 것이라고 생각합니다. 그것은 flexform없이 쉽게 할 수 있습니다 - 그래서 그것은 미래를위한 나의 선택 전략이 될 것입니다. –

답변

2

afaik. 전체 기본값을 설정하고 TCA를 사용하여 다른 모든 요소에 맞게 조정해야합니다.

+0

Thnx! 기본 힌트는 어떤 힌트일까요? 나는 $ GLOBALS [ 'TCA'] [ 'tt_content'] [ 'columns'] [ 'image'] [ 'config'] [ 'overrideChildTca'] [ 'columns'] [ 'crop'] [ 'config'] [ 'cropVariants'] [ 'default'] -하지만 flexform에는 영향을 미치지 않습니다. –

+1

$ GLOBALS [ 'TCA'] [ 'sys_file_reference'] [ 'columns'] [ 'crop'] [ 'config'] [ ']로'\ Configuration \ TCA \ Overrides \ sys_file_reference.php ' cropVariants '] ['default '] = [...]' – fnagel

+0

아 맞다! 이미 ImageOverlayPalette에 대해 그렇게 해 봤어? –