[Frage] dataProcessing Images Bildbearbeitung [Gelöst]

  • opaque opaque
    Sternenflotten-Admiral
    0 x
    171 Beiträge
    0 Hilfreiche Beiträge
    04. 11. 2016, 20:21

    Hallo Forum

    ich habe mir eine eigene kleine Extension geschrieben um eigene CEs zu bekommen. Jetzt habe ich aber das Problem wenn ich im TypoScript setup.txt der Extension die Variable image=FILES verwende werden Bilder die mit dem Image Editor zugeschnitten wurden nicht ausgegenen. Meine Vermutung ich muss es mit den dataProcessing machen. Habe ich auch versucht nur jetzt werden die Partials nicht mehr gerendert. Am besten ich poste den Code:

    ext_tables.php

    1. <?php
    2.  
    3. if (!defined('TYPO3_MODE')) {
    4. die('Access denied.');
    5. }
    6.  
    7. \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'formquadrat CEs');
    8.  
    9. \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
    10. 'mod {
    11. wizards.newContentElement.wizardItems.extra {
    12. header = formquadrat CEs
    13. elements {
    14. formquadratces_hpTeaserImage {
    15. iconIdentifier = content-image
    16. title = Homepage Teasers
    17. description = Content Element für die Projektteaser und More Uniqueness, Headline, Text, Image
    18. tt_content_defValues {
    19. CType = hpTeaserImage
    20. }
    21. }
    22. }
    23. show = *
    24. }
    25. }
    26. ');

    Configuration/TCA/Overrides/hpTeaserImages.php

    1. <?php
    2.  
    3. \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
    4. '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TSConfig/Page.ts">'
    5. );
    6. // header;Headline;;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,header_layout; LLL:EXT:lang/locallang_general.xlf:LGL.type,
    7. $tcaTtContent = array(
    8. 'types' => array(
    9. 'hpTeaserImage' => array(
    10. 'showitem' => '--palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.general;general,
    11. image;Project Image,
    12. --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.header;header,
    13. subheader;Subline,
    14. bodytext;Text;;richtext:rte_transform[flag=rte_enabled|mode=ts_css], rte_enabled;LLL:EXT:cms/locallang_ttc.xml:rte_enabled_formlabel,
    15. --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.appearance,
    16. --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.frames;frames,
    17. --div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access,
    18. --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.visibility;visibility'
    19. )
    20. ),
    21. 'columns' => array(
    22. 'CType' => array(
    23. 'config' => array(
    24. 'items' => array(
    25. 'hpTeaserImage' => array(
    26. 'HP Teaser Image', // Name des Inhaltselementes
    27. 'hpTeaserImage', // TCA Name des Inhaltselementes
    28. 'EXT:formquadratces/Resources/Public/Icons/hpTeaser.svg' // Bild des Inhaltelementes
    29. )
    30. )
    31. )
    32. ),
    33. )
    34. );
    35.  
    36. \TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($GLOBALS['TCA']['tt_content'], $tcaTtContent);

    Configuration/TypoScript/setup.txt

    1. tt_content.hpTeaserImage {
    2. templateRootPaths {
    3. 0 = EXT:formquadratces/Resources/Private/Templates
    4. }
    5. partialRootPaths {
    6. 0 = EXT:formquadratces/Resources/Private/Partials
    7. }
    8. layoutRootPaths {
    9. 0 = formquadratces/Resources/Private/Layouts
    10.  
    11. }
    12. }
    13.  
    14. tt_content.hpTeaserImage = FLUIDTEMPLATE
    15. tt_content.hpTeaserImage {
    16. file = EXT:formquadratces/Resources/Private/Templates/hpTeaserImage.html
    17.  
    18. dataProcessing.10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
    19. dataProcessing.10 {
    20. references.fieldName = image
    21. references.table = tt_content
    22. as = projects
    23. }
    24.  
    25. variables {
    26. defaultHeaderType = TEXT
    27. defaultHeaderType.value < lib.fluidContent.settings.defaultHeaderType
    28.  
    29. #image = FILES
    30. #image {
    31. # references {
    32. # table = tt_content
    33. # fieldName = image
    34. # }
    35. # renderObj = IMG_RESOURCE
    36. # renderObj {
    37. # file.import.data = file:current:uid
    38. # file.treatIdAsReference = 1
    39. # }
    40. #}
    41.  
    42. }
    43. }

    Resources/Private/Templates/hpTeaseImages.html

    1. <html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:ce="http://typo3.org/ns/TYPO3/CMS/FluidStyledContent/ViewHelpers" data-namespace-typo3-fluid="true">
    2. <f:section name="ImageOne">
    3. <f:for each="{projects}" as="image" iteration="itemIteration">
    4. <f:image class="img-responsive" src="{image}" alt="{image.alternative}" title="{image.title}" width="367c" height="367c" />
    5. </f:for>
    6. </f:section>
    7. <f:section name="ImageHeight">
    8. <f:for each="{projects}" as="image">
    9. <f:image class="img-responsive" src="{image}" alt="{image.alternative}" title="{image.title}" width="367c" height="745c" />
    10. </f:for>
    11. </f:section>
    12.  
    13. <f:section name="ImageWidth">
    14. <f:for each="{projects}" as="image">
    15. <f:image class="img-responsive" src="{image}" alt="{image.alternative}" title="{image.title}" width="745c" height="367c" />
    16. </f:for>
    17. </f:section>
    18.  
    19. <f:section name="ImageBig">
    20. <f:for each="{projects}" as="image">
    21. <f:image class="img-responsive" src="{image}" alt="{image.alternative}" title="{image.title}" width="745c" height="745c" />
    22. </f:for>
    23. </f:section>
    24.  
    25. #IRGENDWO HIER LIEGT der FEHLER: Wenn ich es mit der variable image [siehe auskommentiertes TypoScript weiter oben] versuche werden die sections gerendert. (Natürlich muss das <f:for each="{projects}" as="image"> weg).
    26. <f:if condition="{projects.image}">
    27. <f:then>
    28. <div class="hp_teaser_image">
    29. <f:if condition="{data.tx_gridelements_columns} == 21">
    30. <f:render section="ImageBig" arguments="{_all}"/>
    31. </f:if>
    32. <f:if condition="{data.tx_gridelements_columns} == 22">
    33. <f:render section="ImageHeight" arguments="{_all}"/>
    34. </f:if>
    35. <f:if condition="{data.tx_gridelements_columns} == 23">
    36. <f:render section="ImageWidth" arguments="{_all}"/>
    37. </f:if>
    38. <f:if condition="{data.tx_gridelements_columns} >= 24">
    39. <f:render section="ImageOne" arguments="{_all}"/>
    40. </f:if>
    41. </div>
    42.  
    43. <f:if condition="{data.header_link}">
    44. <f:then>
    45. <div class="color_{data.layout} color" style="display:none;"></div>
    46. </f:then>
    47. <f:else>
    48. <div class="color_{data.layout} color" style="display:block;"></div>
    49. </f:else>
    50. </f:if>
    51.  
    52. <f:link.typolink parameter="{data.header_link}">
    53.  
    54. <f:if condition="{data.header_link}">
    55. <f:then>
    56. <div class="hp_teaser_content" style="display:none;">
    57. </f:then>
    58. <f:else>
    59. <div class="hp_teaser_content" style="display:block;">
    60. </f:else>
    61. </f:if>
    62. <f:if condition="{data.header_layout} != 100">
    63. <f:if condition="{data.header}">
    64. <f:render partial="form2Header" arguments="{
    65. header: data.header,
    66. layout: data.header_layout,
    67. default: defaultHeaderType }" />
    68.  
    69. <f:if condition="{data.subheader}">
    70. <f:render partial="form2SubHeader" arguments="{
    71. subheader: data.subheader,
    72. layout: data.header_layout,
    73. default: defaultHeaderType,
    74. tx_gridelements_columns: data.tx_gridelements_columns}" />
    75. </f:if>
    76. </f:if>
    77. </f:if>
    78.  
    79. <f:if condition="{data.bodytext}">
    80. <f:format.html>{data.bodytext}</f:format.html>
    81. </f:if>
    82. </div>
    83.  
    84. </f:link.typolink>
    85. </f:then>
    86.  
    87. <f:else>
    88. <div class="color_{data.layout}" style="display:block;"></div>
    89. <div class="hp_teaser_content" style="display:block;">
    90. <f:if condition="{data.header_layout} != 100">
    91. <f:if condition="{data.header}">
    92.  
    93. <f:render partial="form2Header" arguments="{
    94. header: data.header,
    95. layout: data.header_layout,
    96. default: defaultHeaderType}" />
    97.  
    98. <f:if condition="{data.subheader}">
    99. <f:render partial="form2SubHeader" arguments="{
    100. subheader: data.subheader,
    101. layout: data.header_layout,
    102. default: defaultHeaderType,
    103. tx_gridelements_columns: data.tx_gridelements_columns}" />
    104. </f:if>
    105.  
    106. </f:if>
    107. </f:if>
    108. <f:format.html>{data.bodytext}</f:format.html>
    109. </div>
    110. </f:else>
    111. </f:if>
    112.  
    113. </html>

    Mit dank im voraus
    opaque

  • opaque opaque
    Sternenflotten-Admiral
    0 x
    171 Beiträge
    0 Hilfreiche Beiträge
    08. 11. 2016, 14:25 - Lösung

    Um an die processed Images zu kommen muss der f:image viewhelper so aussehen:

    1. <f:section name="ImageBig">
    2. <f:for each="{projects}" as="image">
    3. <f:image image="{image}" class="img-responsive" width="745c" height="745c" />
    4. </f:for>
    5. </f:section>

    nicht src={image} sondern image={image}

    und wo entschieden wird welches partial gerendert wird FALLS Bilder vorhanden sind reicht folgende if:condition:

    1. <f:if condition="{projects}">

    lg opaque


  • 1
  • opaque opaque
    Sternenflotten-Admiral
    0 x
    171 Beiträge
    0 Hilfreiche Beiträge
    08. 11. 2016, 14:25

    Um an die processed Images zu kommen muss der f:image viewhelper so aussehen:

    1. <f:section name="ImageBig">
    2. <f:for each="{projects}" as="image">
    3. <f:image image="{image}" class="img-responsive" width="745c" height="745c" />
    4. </f:for>
    5. </f:section>

    nicht src={image} sondern image={image}

    und wo entschieden wird welches partial gerendert wird FALLS Bilder vorhanden sind reicht folgende if:condition:

    1. <f:if condition="{projects}">

    lg opaque

  • 1