How can I sort TYPO3 extension fal_securedownload in frontend by date descending?

156 views Asked by At

I wrote <f:for each="{folder.files->v:iterator.sort(order: 'DESC', sortBy: 'crdate')}

order works fine - (order by name desc)
sortby does not work

Does somebody have any idea?
I like to have order desc by upload date (or date)

In this example I give also the date and filesize out in frontend

(Partial) leaf.html

{namespace sd=BeechIt\FalSecuredownload\ViewHelpers}
<ul>

<f:for each="{folder.subFolders}" as="subFolder">
            <sd:security.assetAccess folder="{subFolder}">
                  <li><span class="icon-folder {sd:leaveState(folder:subFolder, then:'icon-folder-open')}" data-folder="{subFolder.combinedIdentifier}">{subFolder.name}</span>
                        <f:render partial="FileTree/Leaf" arguments="{folder:subFolder}" />
                  </li>
            </sd:security.assetAccess>
      </f:for>
        <f:for each="{folder.files->v:iterator.sort(order: 'DESC', sortBy: 'crdate')}" as="file">
                  <sd:security.assetAccess folder="{folder}" file="{file}">
                  <li><span class="icon-file icon-file-{file.extension}"></span><sd:downloadLink file="{file}">{file.name}</sd:downloadLink> (<f:format.date format="%d.%m.%Y">{file.properties.creation_date}</f:format.date> - <f:format.bytes value="{file.properties.size}" />)</li>
            </sd:security.assetAccess>
      </f:for>
</ul>

i like to get

-datei_b  30.9.2020 50MB
-datei_c  29.9.2020 20MB
-datei_a  16.9.2020 10MB

above the script give this

-datei_c  29.9.2020 20MB
-datei_b  30.9.2020 50MB
-datei_a  16.9.2020 10MB
1

There are 1 answers

0
j4k3 On

You're trying to sort by "crdate", but the path to the subobject property you want to sort by is properties.creation_date. This code should work:

{namespace sd=BeechIt\FalSecuredownload\ViewHelpers}
<ul>

<f:for each="{folder.subFolders}" as="subFolder">
            <sd:security.assetAccess folder="{subFolder}">
                  <li><span class="icon-folder {sd:leaveState(folder:subFolder, then:'icon-folder-open')}" data-folder="{subFolder.combinedIdentifier}">{subFolder.name}</span>
                        <f:render partial="FileTree/Leaf" arguments="{folder:subFolder}" />
                  </li>
            </sd:security.assetAccess>
      </f:for>
        <f:for each="{folder.files->v:iterator.sort(order: 'DESC', sortBy: 'properties.creation_date')}" as="file">
                  <sd:security.assetAccess folder="{folder}" file="{file}">
                  <li><span class="icon-file icon-file-{file.extension}"></span><sd:downloadLink file="{file}">{file.name}</sd:downloadLink> (<f:format.date format="%d.%m.%Y">{file.properties.creation_date}</f:format.date> - <f:format.bytes value="{file.properties.size}" />)</li>
            </sd:security.assetAccess>
      </f:for>
</ul>