Prestashop:在管理中内联显示 "Choose language"
Prestashop: display "Choose language" inline in admin
我想简化我的生活,并在管理面板的输入字段旁边内联显示语言标志。
示例:
转这个:
进入这个:
我试过覆盖
abstract class ModuleCore { public function displayFlags() }
但没有效果。
然后我修改admin\themes\default\template\helpers\options\options.tpl
为:
<div class="displayed_flag">
{foreach $languages as $language}
<img src="../img/l/{$language.id_lang}.jpg"
class="pointer"
alt="{$language.name}"
title="{$language.name}"
onclick="changeLanguage('{$key}', '{if isset($custom_key)}{$custom_key}{else}{$key}{/if}', {$language.id_lang}, '{$language.iso_code}');" />
{/foreach}
</div>
但还是没有。
当然我删除了class_index.php
、清除缓存等...
我正在使用 Prestashop 1.5.5 和默认主题。
您正在 /js/admin.js
文件中搜索 displayFlags
函数。
这里它适用于我的安装,并进行了以下更改:
function displayFlags(languages, defaultLanguageID, employee_cookie)
{
if ($('.translatable'))
{
$('.translatable').each(function() {
if (!$(this).find('.displayed_flag').length > 0) {
$.each(languages, function(key, language) {
if (language['id_lang'] == defaultLanguageID)
{
defaultLanguage = language;
return false;
}
});
var displayFlags = $('<div></div>')
.addClass('displayed_flag');
$.each(languages, function(key, language) {
var img = $('<img>')
.addClass('pointer')
.css('margin', '0 2px')
.attr('src', '../img/l/' + language['id_lang'] + '.jpg')
.attr('alt', language['name'])
.click(function() {
changeFormLanguage(language['id_lang'], language['iso_code'], employee_cookie);
});
displayFlags.append(img);
});
if ($(this).find('p:last-child').hasClass('clear'))
$(this).find('p:last-child').before(displayFlags);
else
$(this).append(displayFlags);
}
});
}
}
我想简化我的生活,并在管理面板的输入字段旁边内联显示语言标志。 示例:
转这个:
进入这个:
我试过覆盖
abstract class ModuleCore { public function displayFlags() }
但没有效果。
然后我修改admin\themes\default\template\helpers\options\options.tpl
为:
<div class="displayed_flag">
{foreach $languages as $language}
<img src="../img/l/{$language.id_lang}.jpg"
class="pointer"
alt="{$language.name}"
title="{$language.name}"
onclick="changeLanguage('{$key}', '{if isset($custom_key)}{$custom_key}{else}{$key}{/if}', {$language.id_lang}, '{$language.iso_code}');" />
{/foreach}
</div>
但还是没有。
当然我删除了class_index.php
、清除缓存等...
我正在使用 Prestashop 1.5.5 和默认主题。
您正在 /js/admin.js
文件中搜索 displayFlags
函数。
这里它适用于我的安装,并进行了以下更改:
function displayFlags(languages, defaultLanguageID, employee_cookie)
{
if ($('.translatable'))
{
$('.translatable').each(function() {
if (!$(this).find('.displayed_flag').length > 0) {
$.each(languages, function(key, language) {
if (language['id_lang'] == defaultLanguageID)
{
defaultLanguage = language;
return false;
}
});
var displayFlags = $('<div></div>')
.addClass('displayed_flag');
$.each(languages, function(key, language) {
var img = $('<img>')
.addClass('pointer')
.css('margin', '0 2px')
.attr('src', '../img/l/' + language['id_lang'] + '.jpg')
.attr('alt', language['name'])
.click(function() {
changeFormLanguage(language['id_lang'], language['iso_code'], employee_cookie);
});
displayFlags.append(img);
});
if ($(this).find('p:last-child').hasClass('clear'))
$(this).find('p:last-child').before(displayFlags);
else
$(this).append(displayFlags);
}
});
}
}