Php drupals imagecache模块仅适用于';默认值';地点
我有多站点设置,其中imagecache模块位于sites/all下。我的目标是让每个站点都有自己的imagecache文件夹,其中包含属于该站点的请求;e、 g.通过domain1/imagecache/files/thumb_image/photos/bigavatar.jpg引用它们 照片文件夹是通过FTP上传的,因此drupal基本上不知道它(数据库方面),但是如果文件夹位于sites/default/files/photos下,并由default/imagecache/files/thumb_image/photos/bigavatar.jpg引用,则imagecache功能完美 寻找了设置选项,发现如果站点的上传路径被更改,那么imagecache可以使用它,但是;对于我的(JS)图像存储,发送到我的图库的存储数据来自我自己的模块ximagegallery。这就是路径的生成方式:Php drupals imagecache模块仅适用于';默认值';地点,php,drupal,module,image-caching,Php,Drupal,Module,Image Caching,我有多站点设置,其中imagecache模块位于sites/all下。我的目标是让每个站点都有自己的imagecache文件夹,其中包含属于该站点的请求;e、 g.通过domain1/imagecache/files/thumb_image/photos/bigavatar.jpg引用它们 照片文件夹是通过FTP上传的,因此drupal基本上不知道它(数据库方面),但是如果文件夹位于sites/default/files/photos下,并由default/imagecache/files/th
<?php
/**
* @param title : visible gallery title
* @param basename filename base of image
* @param site current site (commonly guessed from REQUEST_URI but goal is to let this be configurable)
* @param location path of $basename imagefile underneath sites/$site/
*/
function ximagegallery_get_object($title, $basename, $site, $location) {
return array(
"title" => $title,
"link" => "{$site}{$location}/{$basename}",
"screenpath" => "{$site}/imagecache/screen{$location}{$basename}",
"thumbpath" => "{$site}/imagecache/small_thumb{$location}{$basename}"
);
}
?>
Imagecache仅适用于文件系统配置的上载路径,我希望超越这一点,并使Imagecache响应任何位置,例如,如果两个站点需要共享一个公共的gallery/imagefolder
编辑;我想一个解决方案是创建另一个hook_菜单,从我的派生模块调用imagecache函数——因为它是一个依赖项,我想这将是模块化的
<?php
function ximagegallery_menu() {
// standard route hook
$items['ximagegallery/store/%'] = array(
'title' => 'ximagegallery_GENERATE',
'page callback' => 'ximagegallery_generate_store',
'page arguments' => array(1),
'access callback' => 'ximagegallery_access'
);
// one hook for each configured path
$hooks = get_variable('ximagegallery_folderhooks', array());
foreach($hooks as $folder) {
$items['$folder.'/imagecache'] = array(
'page callback' => 'imagecache_cache',
'access callback' => '_imagecache_menu_access_public_files',
'type' => MENU_CALLBACK
);
}
} ?>
你的问题是什么?对不起,我不明白。sites/default/files/photos是fubar,它必须是sites/domain/files/photosOh,我明白了。Imagecache在多站点配置中不起作用,因为它仅适用于内部URL。你有没有试过用它来解决这个问题?thx for heads up,正在浏览这些问题的hook_菜单,找到了一个解决方法然后将其添加为答案:)当有人遇到同样的问题时,它会很有用。
<?php
function ximagegallery_menu() {
// standard route hook
$items['ximagegallery/store/%'] = array(
'title' => 'ximagegallery_GENERATE',
'page callback' => 'ximagegallery_generate_store',
'page arguments' => array(1),
'access callback' => 'ximagegallery_access'
);
// one hook for each configured path
$hooks = get_variable('ximagegallery_folderhooks', array());
foreach($hooks as $folder) {
$items['$folder.'/imagecache'] = array(
'page callback' => 'imagecache_cache',
'access callback' => '_imagecache_menu_access_public_files',
'type' => MENU_CALLBACK
);
}
} ?>