Получение имени файла, связанного с образцом, в области "Загружаемая информация" в Magento
Я работаю над настройкой блока "Образцы" на продуктах. В основном мне нужно знать, как получить имя файла из образца.
Итак, я могу использовать следующий код, на мой взгляд, для получения массива образцов:
<?php $_samples = $this->getSamples() ?>
... и я могу достаточно хорошо повторить эти образцы. Я пытаюсь понять, как я могу получить имя файла, связанного с этим образцом? Я в основном хочу сделать настройку для представления, где, если образец файл - это MP3, я показываю встроенный плеер. Для всех других типов файлов поведение по умолчанию (отображается ссылка, при нажатии на которую открывается новое окно и отображается образец) идеально подходит.
1 answers
Итак, если вы объедините $samplepath и $samplefile вместе, вы получите полный путь к файлу образца на диске. т.е.: $samplePath . $sampleFile
получает вас /path/to/samples/folder/sub-folder/path/to/file.mp3
В этом примере на самом деле нет необходимости получать путь $samplepath, так как вы можете просто проверить, заканчивается ли файл $samplefile на ".mp3", как показано ниже, но я хотел продемонстрировать, как в любом случае добраться до полного пути.
<?php
if ($this->hasSamples()):
$_samples = $this->getSamples();
foreach ($_samples as $_sample):
$samplePath = $_sample->getBasePath(); // returns "/path/to/samples/folder"
$sampleFile = $_sample->getSampleFile(); // returns "/sub-folder/path/to/file.mp3"
// Figure out if the filename ends with ".mp3"
$_is_mp3 = (bool)(".mp3" == substr($sampleFile, -4));
if ($_is_mp3):
//show the mp3 player
else:
//show a link to the file
endif;
endforeach;
endif;
?>