我的前端有一个图像映射,从那里我需要访问存储在fileadmin目录下的不同文件夹中的一些图像。我正在尝试使用eID,遵循此示例: [http://www.alexanderschnitzler.de/2011/06/howto-ajax-requests-with-extbase-and-fluid/] [1]
但我的问题是我只能访问一个目录。根据我前端的用户选择,我无法访问不同的目录。
这是我尝试做的代码: 在我的控制器上我有一个ajaxAction,我需要提供一个目录的完整路径,因为我还没弄清楚如何将目录ID传递给我的ajaxAction,这里可能是我的问题也许是解决方案:
/**
* @return void
*/
public function ajaxAction() {
$image_file_path = "fileadmin/Images/Sattic/Amik/small";
//$image_file_path = "fileadmin/Images/Sattic/'+$id+'";
$d = dir($image_file_path) or die("Wrong path: $image_file_path");
while (false !== ($entry = $d ->read())) {
if($entry != '.' && $entry != '..' && !is_dir($dir.$entry))
$images[] = $entry;
}
$d->close();
rsort($images);
return json_encode($images);
}
在我的index.html上,我有一个map标签,其中调用函数updateImage(id),当用户点击不同的区域时,我的updataImage(id)函数如下所示:
function updateImageGallery(id) {
console.log(id);
var ajaxUrl = "{f:uri.action(action:'ajax', pageType:'100101')}";
$.getJSON(ajaxUrl, function(data) {
var items1 = [];
var items2 = [];
$data = data;
console.log('dataLength: ' + $data.length);
console.log('dataArray: ' + $data);
$.each($data.slice(0, 4), function(key, val) {
valLink = val.replace("small.", "");
items1.push('<td><a href="fileadmin/Images/Sattic/' + id +'/'+ valLink +'" target="_blank"><img width="145" height="145" id="" src="fileadmin/Images/Sattic/' + id +'/small/'+ val +'"/></a></td>');
});
$('<tr/>', {
html: items1.join('')
}).appendTo('#glRegion');
$.each($data.slice(4, 8), function(key, val) {
valLink = val.replace("small.", "");
items2.push('<td><a href="fileadmin/Images/Sattic/' + id +'/'+ valLink +'" target="_blank"><img width="145" height="145" id="" src="fileadmin/Images/Sattic/' + id +'/small/'+ val +'"/></a></td>');
});
$('<tr/>', {
html: items2.join('')
}).appendTo('#glRegion');
});
return false;
}
我希望能够从updateImageGallery(id)函数传递目录的id,所以我可以获取每个目录的图像。
有可能这样做吗?我希望如此,我有30个不同的区域,如果我按照我现在的方式解决问题,我需要使用30种不同的eID。我想这可能是解决这个问题的一种更聪明的方法。
任何sugestions?
答案 0 :(得分:0)
您可以使用t3lib_div::_GET('myid')
访问myid
获取变量。
我猜您可以使用var ajaxUrl = "{f:uri.action(action:'ajax',**myid:id,** pageType:'100101')}";
进行设置。
无论如何,一定要在PHP脚本中生成一个有效路径/ ID列表,并再次检查get参数。