Использование плагина Extbase, я хотел показать ссылку для скачивания файла. Я использую файловую структуру typo3 v6.1 FAL. Но я не могу получить исходную ссылку для скачивания файла.Typo3 extbase FAL file загрузить
В файле ext_tables.sql
CREATE TABLE tx_myext_domain_model_test (
# ...
files varchar(255) DEFAULT '' NOT NULL,
# ...
);
В файле конфигурации/TCA/test.php
$TCA['tx_myext_domain_model_test'] = array(
// ...
'files' => array(
'exclude' => 1,
'label' => 'Files',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig('files', array(
'appearance' => array(
'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
),
), $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']),
),
// ...
);
В файле классов/домена/Модель/test.php
class Test extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
// ...
/**
* Files
* @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference>
*/
protected $files;
/**
* Returns the files
*
* @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\FileReference> $files
*/
public function getFiles() {
return $this->files;
}
}
В файле Классы/Контроллер/TestController.php
class TestController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController {
// ..
public function listAction() {
$tests = $this->testRepository->findAll();
$this->view->assign('tests', $tests);
}
// ..
}
В файле ресурсов/Private/Templates/Test/list.html
<f:for each="{tests}" as="test" iteration="itemIterator">
<f:debug title="Debug of test">{test.files}</f:debug>
<f:for each="{test.files}" as="file">
<a href="{f:uri.image(src:file.uid,treatIdAsReference:1)}">
<f:image src="{file.uid}" alt="" width='101' height="67" treatIdAsReference="1"/>
</a>
<p>{file.originalResource.originalFile.title}</p>
</f:for>
Здесь Если в отладочной "originalResource" является NULL. Кто-нибудь знает, как получить исходную ссылку на файл здесь? Спасибо.
Поскольку это ссылки на файлы, вам может потребоваться разрешение ссылок. – pgampe
Зачем вам нужно свойство originalResource? Вы хотите получить название файла? Что вы имеете в виду с исходной ссылкой на файл? – Shufla
Привет, Шуфла, мне нужно получить имя файла, а также путь к файлу, поэтому файл можно загрузить с помощью тега href. Я имел в виду, что исходная ссылка на файл означает путь к файлу, который хранится в таблице sys_file. Поэтому я могу обернуть эту ссылку в тег href. –