EPrints Technical Mailing List Archive

See the EPrints wiki for instructions on how to join this mailing list and related information.

Message: #07511


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

Re: [EP-tech] Phrases, Pins and If


Ah you're embedding XML inside XML. don't do that.

Inside test attributes, use the epscript syntax https://wiki.eprints.org/w/EPScript#not_equals

However you can't put <if> logic inside phrase files. Logic goes in citation files which use phrase files. The intention is that the phrase file is just the words (and gaps) that can be translated into other languages.

In this case you have two choices, either do it in perl, or make a citation file. If you're doing it as a package to share with others then absolutely make the mail a citation file, passing all relevant values in. However, if it's a local setup for just you, do it in Perl, it's less work.


On 04/10/2018 10:18, James Kerwin via Eprints-tech wrote:
Hi All,

I'm looking for some guidance with this problem:

I have an EPrints phrase that uses pins. I can see where the pins are set up and create my own, so I could solve this using Perl.

I want to include a condition in my phrase that depends on the value contained in the pin. Example:

<epp:phrase id="eprint_thesis_notify_mail">
The embargo period has been set at: <epc:pin name="emperiod" /> with the reason being given as testZZZZZZZZZZZZZZZZZtest:<br/>
<epc:if test="emreason = ''"> No reason has been provided.</epc:if>
<epc:if test="<epc:pin name='emreason' /> != ''"> <epc:pin name="emreason" /> <br/><br/></epc:if>
</epp:phrase>

I've used different format in each IF. I comment one out depending on which I'm testing. The second one won't work which I'm not surprised about). The pin in question is this "emreason" pin. Importantly, the phrase is in the perl script like this:

$mail = $repo->html_phrase( "eprint_thesis_notify_mail", %pins );

I could do what I need in the Perl script, but this seems like a good chance to become more familiar with phrases, plus I want to use a similar set-up for another idea I have.

If anybody could point me in the right direction, I would really appreciate it.

Thanks,
James


*** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
*** Archive: https://emea01.safelinks.protection.outlook.com/?url="">
*** EPrints community wiki: https://emea01.safelinks.protection.outlook.com/?url="">
*** EPrints developers Forum: https://emea01.safelinks.protection.outlook.com/?url="">

-- 
Christopher Gutteridge <totl@soton.ac.uk> 
You should read our team blog at http://blog.soton.ac.uk/webteam/