Возьмём пресеты, которые добавляет Уберкарт. Задача изменить действия в них и/или добавить другие действия
Я соорудит такой код:
<?php
$presets
= array(
array(
'presetname' => 'product',
'actions' => array(
array(
'action' => 'imagecache_crop',
'data' => array('width' => 300, 'height' => ''),
'weight' => 0,
'module' => 'imagecache',
),
array(
'action' => 'canvasactions_canvas2file',
'data' => array('xpos' => 'center', 'ypos' => 'center', 'path' => 'actions/pad_300_300.gif', 'dimensions' => 'background',),
'weight' => 1,
'module' => 'imagecache_canvasactions',
),
),
),
array(
'presetname' => 'uc_thumbnail',
'actions' => array(
array(
'action' => 'imagecache_scale',
'data' => array('width' => 55, 'height' => 55, 'upscale' => 0),
'weight' => 0,
'module' => 'imagecache',
),
array(
'action' => 'canvasactions_canvas2file',
'data' => array('xpos' => 'center','ypos' => 'center', 'path' => 'actions/pad_60_60.gif','dimensions' => 'background'),
'weight' => 1,
'module' => 'imagecache_canvasactions',
),
),
),
array(
'presetname' => 'product_full',
'actions' => array(
array(
'action' => 'imagecache_scale',
'data' => array('width' => 600, 'height' => 600, 'upscale' => 0),
'weight' => 0,
'module' => 'imagecache',
),
),
),
array(
'presetname' => 'product_list',
'actions' => array(
array(
'action' => 'imagecache_scale',
'data' => array('width' => 100, 'height' => 100, 'upscale' => 0),
'weight' => 0,
'module' => 'imagecache',
),
array(
'action' => 'canvasactions_canvas2file',
'data' => array('xpos' => 'center', 'ypos' => 'center', 'path' => 'actions/pad_100_100.jpg','dimensions' => 'background',),
'weight' => 1,
'module' => 'imagecache_canvasactions',
),
),
),
array(
'presetname' => 'uc_category',
'actions' => array(
array(
'action' => 'imagecache_scale',
'data' => array('width' => 100, 'height' => 100, 'upscale' => 0),
'weight' => 0,
'module' => 'imagecache',
),
array(
'action' => 'canvasactions_canvas2file',
'data' => array('xpos' => 'center', 'ypos' => 'center', 'path' => 'actions/pad_100_100.gif', 'dimensions' => 'background',),
'weight' => 1,
'module' => 'imagecache_canvasactions',
),
),
),
array(
'presetname' => 'cart',
'actions' => array(
array(
'action' => 'imagecache_scale',
'data' => array('width' => 50, 'height' => 50, 'upscale' => 0),
'weight' => 0,
'module' => 'imagecache',
),
array(
'action' => 'canvasactions_canvas2file',
'data' => array('xpos' => 'center', 'ypos' => 'center', 'path' => 'actions/pad_60_60.gif', 'dimensions' => 'background',),
'weight' => 1,
'module' => 'imagecache_canvasactions',
),
),
),
);
foreach (
$presets as $preset) {
drupal_write_record('imagecache_preset', $preset);
foreach ($preset['actions'] as $action) {
$action['presetid'] = $preset['presetid'];
drupal_write_record('imagecache_action', $action);
}
}
imagecache_presets(true);
?>
Всё это работает, в том плане, что в интерфейсе пресеты обновляются, но пропадает отображение самих картинок
Подскажите, в чём может быть трабл
Комментарии
сбросить кеш? cache_clear_all('imagecache:presets', 'cache');
нет, это первое, что приходило в голову