Php Prestashop:调用未定义的方法语言::updateModulesTranslations()
在我的自定义模块(例如示例模块名)中安装时,该时间发生在该致命错误下方。如何解决此错误,请任何人帮助我 致命错误:调用未定义的方法 第292行/var/www/html/sf_prestashop/shop/classes/module/module.php中的Language::updateModulesTranslations()Php Prestashop:调用未定义的方法语言::updateModulesTranslations(),php,prestashop,prestashop-1.6,prestashop-1.5,prestashop-1.7,Php,Prestashop,Prestashop 1.6,Prestashop 1.5,Prestashop 1.7,在我的自定义模块(例如示例模块名)中安装时,该时间发生在该致命错误下方。如何解决此错误,请任何人帮助我 致命错误:调用未定义的方法 第292行/var/www/html/sf_prestashop/shop/classes/module/module.php中的Language::updateModulesTranslations() 请检查/classes/Language.php中的语言类,必须有一个名为“updateModulesTranslations”的函数,如果没有,请在语言类中添加
请检查/classes/Language.php中的语言类,必须有一个名为“updateModulesTranslations”的函数,如果没有,请在语言类中添加以下函数:
public static function updateModulesTranslations(Array $modules_list)
{
require_once(_PS_TOOL_DIR_.'tar/Archive_Tar.php');
$languages = Language::getLanguages(false);
foreach ($languages as $lang) {
$gz = false;
$files_listing = array();
foreach ($modules_list as $module_name) {
$filegz = _PS_TRANSLATIONS_DIR_.$lang['iso_code'].'.gzip';
clearstatcache();
if (@filemtime($filegz) < (time() - (24 * 3600))) {
if (Language::downloadAndInstallLanguagePack($lang['iso_code'], null, null, false) !== true) {
break;
}
}
$gz = new Archive_Tar($filegz, true);
$files_list = Language::getLanguagePackListContent($lang['iso_code'], $gz);
foreach ($files_list as $i => $file) {
if (strpos($file['filename'], 'modules/'.$module_name.'/') !== 0) {
unset($files_list[$i]);
}
}
foreach ($files_list as $file) {
if (isset($file['filename']) && is_string($file['filename'])) {
$files_listing[] = $file['filename'];
}
}
}
if ($gz) {
$gz->extractList($files_listing, _PS_TRANSLATIONS_DIR_.'../', '');
}
}
}
public静态函数updateModulesTranslations(数组$modules\u列表)
{
需要一次(_PS_TOOL_DIR_'tar/Archive_tar.php');
$languages=Language::getLanguages(false);
foreach($lang形式的语言){
$gz=false;
$files_listing=array();
foreach($modules\u列表为$module\u名称){
$filegz=\u PS\u TRANSLATIONS\u DIR.$lang['iso_code']..gzip';
clearstatcache();
如果(@filemtime($filegz)<(time()-(24*3600))){
if(Language::downloadaninstalllanguagepack($lang['iso_code'],null,null,false)!==true){
打破
}
}
$gz=newarchive\u Tar($filegz,true);
$files\u list=Language::getLanguagePackListContent($lang['iso_代码],$gz);
foreach($files\u列表为$i=>$file){
if(strpos($file['filename'],'modules/.$module_name./')!=0){
未设置($files_list[$i]);
}
}
foreach($files\u列表为$file){
if(isset($file['filename'])和&is_字符串($file['filename'])){
$files_listing[]=$file['filename'];
}
}
}
如果($gz){
$gz->extractList($files\u listing,\u PS\u TRANSLATIONS\u DIR'.../','');
}
}
}
格式化$files\u list=Language::getLanguagePackListContent($lang['iso\u code'],$gz)时出错;我认为这个方法是call,但它没有定义它。您能给出getLanguagePackListContent()代码吗。