[EP-tech] Re: Altering DajaObj/Eprint.pm behaviour without altering core code

Tim Brody tdb2 at ecs.soton.ac.uk
Wed Apr 4 13:00:20 BST 2012


On Wed, 2012-04-04 at 12:18 +0100, John Salter wrote:
> I'm trying to do something the 'right way'*.
> This advice: http://wiki.eprints.org/w/Read_Only_Directories says I shouldn't be editing anything under eprints3/perl_lib/ (with a couple of exceptions).
> 
> I need to alter the 'render_fileinfo' subroutine in ~/perl_lib/EPrints/DataObj/EPrint.pm.
> How do I achieve this without:
>  - altering the Eprint.pm file
>  - ending up with some 'Subroutine render_fileinfo redefined' messages
>  - using "no warnings 'redefine';" ;o)
> 
> I've tried various attempts - without success.
> I'm sure it can be done, and I'm sure it's a bit of perl magic I'm missing, and hopefully someone here can help!

You can override the render method in your citation:

<epc:print expr="fileinfo" opts="value=render_fileinfo" />

$c->{render_fileinfo} = sub { ... };

(value becomes "render_value" ... clunky I know)

Check perl_lib/EPrints/Script::print has support for opts if it doesn't
work.

/Tim.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
Url : http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20120404/0f49b64f/attachment.bin 


More information about the Eprints-tech mailing list