Forums / Developer / image alias deleted after clearing cache

"Please Note:
  • At the specific request of Ibexa we are changing this projects name to "Exponential" or "Exponential (CMS)" effective as of August, 11th 2025.
  • This project is not associated with the original eZ Publish software or its original developer, eZ Systems or Ibexa".

image alias deleted after clearing cache

Author Message

Marcus M.

Monday 08 September 2008 12:51:10 am

hi all,

at the moment I'm facing a strange behaviour with the handling of image_alias.
I created a custom module which creates an xml-output in order to interact with flash. I created an image alias which is only needed by the flash.
The URL to the image ist created by following snippet:

        $object = $item->object();
        $dataMap = $object->dataMap();
        
        $image = $dataMap['image']->content();
        $aliasList = $image->aliasList();
        
        print($aliasList['consultant_flash']['full_path']);

To create the Images I build an temporary template which contains the image alias for the xml-output. At this point the module works fine and the path to the image will be displayed.

After clearing the cache the module displays no url. A var_dump of the $aliasList array displays only the original "image alias", even though the image alias exists in the var directory. Unless I call the temporary template only the original image alias is displayed.

I use Exponential 4.0.1rc1 and according to this issue http://issues.ez.no/IssueView.php?Id=13191 this should be fixed or this is no bug? I'm not sure. So maybe someone has an idea.

Thanks in advance,
Marcus

Xavier Serna

Monday 08 September 2008 1:05:55 am

We have suffered similar problems here with image alias, and were solved upgrading to the official 4.0.1.

hth!

--
Xavier Serna
eZ Publish Certified Developer
Departament de Software
Microblau S.L. - http://www.microblau.net
+34 937 466 205

Marcus M.

Monday 08 September 2008 1:47:18 am

I'm not sure about the correct way to deal with image aliases in custom modules / extension.

I've read this article http://ez.no/doc/ez_publish/technical_manual/4_0/reference/scripts/generic/ezcache_php and there is a image alias cache. Therefore I guess its correct that after clearing cache no aliases are available. But how to access the desired one?

The class eZImageAliasHandler has methods to check if a image alias exists and to get the full path to the desired image.

        $dataMap = $object->dataMap();

        $aliasHandler = new eZImageAliasHandler( $dataMap['image'] );
        $imgAlias = $aliasHandler->attribute( 'consultant_flash' );
        
        ezDebug::writeDebug($imgAlias['full_path']);