瀏覽代碼

Bug 18213: Add Template plugin and fix for C4/Languages

Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Nick Clemens 7 年前
父節點
當前提交
d1bd416341
  1. 8
      C4/Languages.pm
  2. 59
      Koha/Template/Plugin/Languages.pm

8
C4/Languages.pm

@ -631,8 +631,12 @@ sub getlanguage {
sub get_rfc4646_from_iso639 {
my $iso_code = shift;
my $rfc_subtag = Koha::Database->new()->schema->resultset('LanguageRfc4646ToIso639')->find({iso639_2_code=>$iso_code})->rfc4646_subtag;
return $rfc_subtag;
my $rfc_subtag = Koha::Database->new()->schema->resultset('LanguageRfc4646ToIso639')->find({iso639_2_code=>$iso_code});
if ( $rfc_subtag ) {
return $rfc_subtag->rfc4646_subtag;
} else {
return;
}
}

59
Koha/Template/Plugin/Languages.pm

@ -0,0 +1,59 @@
package Koha::Template::Plugin::Languages;
# Copyright 2012 ByWater Solutions
# Copyright 2013-2014 BibLibre
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
use Template::Plugin;
use base qw( Template::Plugin );
use C4::Koha;
use C4::Languages;
sub GetByISOCode {
my ( $self, $lang, $code ) = @_;
$lang = substr($lang,0,2); #Get db code from Koha lang value
my $rfc = C4::Languages::get_rfc4646_from_iso639( $code );
my $description = C4::Languages::language_get_description($rfc,$lang,'language');
return $description;
}
1;
=head1 NAME
Koha::Template::Plugin::Languages - TT Plugin for languages
=head1 SYNOPSIS
[% USE Languages %]
[% Languages.GetByISOCode( 'LANG', 'ISO639CODE' ) %]
=head1 ROUTINES
=head2 GetByISOCode
In a template, you can get the description for an language value with
the following TT code: [% Languages.GetByISOCode( 'LANGUAGE', 'ISO639CODE' ) %]
=head1 AUTHOR
Nick Clemens <nick@bywatersolutions.com>
=cut
載入中…
取消
儲存