EPrints Technical Mailing List Archive

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

Message: #05824


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

Re: [EP-tech] How to find out, which ist the current URL of a page?


Hi Jens,

 

I think you can try in 2 ways:

The first, (very simple)

you can add this js script in cfg/static/_javascript_/auto/z_hidden_something.js:

 

document.observe("dom:loaded", function() {

if (window.location.href.indexOf('cgi/search') != -1 ) {

$$('.ep_tm_header .ep_tm_searchbar td form').each(function(name,index) {name.hide();})

}

});

 

The second ways:

A) In the template replace the <form method="get" accept-charset="utf-8" ... style="display:inline"> ... <form>

Con il nuovo pin <epc:pin ref="dyn_search_form"/>

B) Then in cfg/cfg.d/ add the script z_dinamic_serch_form.pl with this content:

 

$c->add_trigger( EP_TRIGGER_DYNAMIC_TEMPLATE, sub {

my %params = @_;

my $repo = $params{repository};

my $pins = $params{pins};

my $searchform = $repo->make_doc_fragment;

my $form=$repo->make_element("form",method=>"get","accept-charset"=>"utf-8", action="" style=>"display:inline");

$searchformappendChild($form);

my $input=$repo->make_element("input", class=>"ep_tm_searchbarbox", size=>"20", type=>"text", name=>"q");

$form->appendChild($input);

$input=$repo->make_element("input",class=>"ep_tm_searchbarbutton", value=>$repo->phrase('lib/searchexpression:action_search'), type=>"submit", name=>"_action_search");

$form->appendChild($input);

$input=$repo->make_element("input",type=>"hidden", name=>"_action_search", value=>"Search");

$form->appendChild($input);

$input=$repo->make_element("input",type=>"hidden", name=>"_order", value=>"bytitle");

$form->appendChild($input);

$input=$repo->make_element("input",type=>"hidden", name=>"basic_srchtype", value=>"ALL");

$form->appendChild($input);

$input=$repo->make_element("input",type=>"hidden", name=>"_satisfyall", value=>"ALL");

$form->appendChild($input);

if ( $repo->current_url() !~/\/cgi\/search/ ) {

if( defined $pins->{dyn_search_form} ) {

$searchform->appendChild( $pins->{dyn_search_form} );

$pins->{dyn_search_form} = $searchform;

}

else {

$pins->{dyn_search_form} = $searchform;

}

}

return EP_TRIGGER_OK;

});

C) then restart Apache web server.

 

hope I have not made mistake, I did not do any testing

 

In data mercoledì 13 luglio 2016 12:58:18 CEST, jens.vieler@id.uzh.ch ha scritto:

Again,

how to find out, which ist the current URL of a page?

We found out, that perl_lib/EPrints/Script.pm supports current_user and current_lang, but why there is no current_url?

Line 86:
$state->{current_user} = $state->{session}->current_user;
$state->{current_lang} = [$state->{session}->get_langid, "STRING" ];
$state->{current_url} = [$state->{session}->current_url, "STRING" ];

Works fine within a templates <epc...>-statement!

Are there alternatives?
Cheers

 Jens

--
Jens Vieler
Informatikdienste
Universität Zürich
Stampfenbachstrasse 73
CH-8006 Zürich

mail:  jens.vieler@id.uzh.ch
phone: +41 44 63 56777
http://www.id.uzh.ch

jens.vieler---12.07.2016 15:49:26---Dear List, i want to show (or not) content, ruled by a template, depending on the

Von: jens.vieler@id.uzh.ch
An: (eprints-tech@ecs.soton.ac.uk) <eprints-tech@ecs.soton.ac.uk>
Datum: 12.07.2016 15:49
Betreff: [EP-tech] Template action depending on a documents URL
Gesendet von: eprints-tech-bounces@ecs.soton.ac.uk





Dear List,

i want to show (or not) content, ruled by a template, depending on the documents URL. Specific problem: the default template is serving a search
input field, which doesn't make sense for the search itself. So i want to exclude this form if i am already inside simple od advanced search.


Does anybody could give me a 3-line code example of howto deal with <epc:if...> in context with the url of a document?


Best regards
Jens


--
Jens Vieler
Informatikdienste
Universität Zürich
Stampfenbachstrasse 73
CH-8006 Zürich

mail:  jens.vieler@id.uzh.ch
phone: +41 44 63 56777

http://www.id.uzh.ch*** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
*** Archive:
http://www.eprints.org/tech.php/
*** EPrints community wiki:
http://wiki.eprints.org/
*** EPrints developers Forum:
http://forum.eprints.org/