如何在MODX中使用一台电视的两个不同输出?

时间:2015-05-08 12:43:19

标签: modx modx-revolution

我的电视输入类型为“文件”。我怎么能几次使用这个文件的输出: 1.在一个地方作为网址 2.在一个地方作为此文件的名称 3.在一个地方作为这个文件的大小

谢谢

2 个答案:

答案 0 :(得分:0)

您必须创建一个代码段来输出您想要的参数。例如:

[[!outputMyFile? & attribute = name& tv = [[*myTvValue]]]]

其中代码段将对电视价值[文件名]进行处理,并输出您想要的相应属性。

答案 1 :(得分:0)

1 - 使用你的电视 - <a href="[[++site_url]][[*myFileTv]]">My File</a>

2 - 使用这样的代码段 -

[[!getNameFromPath?&path=`[[*myFileTv]]`]]

这个片段的代码是 -

<?php
$path = $modx->getOption('path', $scriptProperties, '');
$fileName = basename($path);
return $fileName;

3 - 使用另一个片段 -

[[!getSizeFromPath?&path=`[[*myFileTv]]`]]

哪个代码是 -

<?php
$path = $modx->getOption('path', $scriptProperties, '');
if (!empty($path)) {
    $size = filesize(MODX_BASE_PATH . ltrim($path,'/'));
    $sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
    if ($size == 0) { 
        return('n/a'); 
    } else {
        return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizes[$i]); 
    }
}