Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 13776|Odpověď: 1

[Vzájemná pomoc] Jak opravit chybu Includes\cls_template.php na řádku 418 v ecshopu

[Kopírovat odkaz]
Zveřejněno 20.02.2015 17:20:02 | | |

Problém, se kterým jsem se dříve setkal, byl jsem velmi rozrušený, jak ho vyřešit, a teď jsem konečně našel řešení, a teď se o něj s vámi podělím, problém je následující:
Přísné standardy: Pouze proměnné by měly být předávány podle odkazu v upload\includes\cls_template.php na řádku 418
Řádek 418: $tag_sel = array_shift(explode(' ', $tag));

Řešení 1:
Problém verzí 5.3 a výše by měl souviset také s konfigurací. Pokud řádek 418 rozděluje tuto větu na dvě věty, není problém $tag_sel = array_shift(explode(' ', $tag)); Změněno na:

$tag_arr = explodovat(' ', $tag); $tag_sel = array_shift($tag_arr);
Protože parametry array_shift jsou předávány odkazem, lze ve výchozím nastavení předávat pouze konkrétní proměnné nad 5.3 a hodnota nemůže být vrácena funkcí
Stejně tak při výskytu chyb vnoření funkcí lze tyto funkce zapsat samostatně a chyby se vyřeší přirozeně

Protože:
funkce get_dyna_libs($theme, $tmp)
{
$extsub = explodovat('.', $tmp);
$ext = end($extsub);
$tmp = základní název($tmp,".$ext");
$sql = 'VYBRAT region, knihovnu, sort_order, ID, číslo, typ'.
' OD '. $GLOBALS['ecs']->table('template').
" WHERE theme = '$theme' A název souboru = '" . $tmp. "' AND napiš > 0 AND remarks=''".
'POŘADÍ PODLE regionu, knihovny, sort_order';
$res = $GLOBALS['db']->getAll($sql);
$dyna_libs = array();
foreach ($res AS $row)
{
$dyna_libs[$row['region']][$row['library']][] = array(
'id' => $row['id'],
'číslo' => $row['číslo'],
'type' => $row['type']
);
}
return $dyna_libs;
}

set $ext = end(explode('.', $tmp));
Změna
$extsub = explodovat('.', $tmp);
$ext = end($extsub);

Řešení 2 (Maskovací chyba):

Nebo pokud je nastaveno takto: error_reporting = E_ALL | E_STRICT
Následující nastavení jsou k dispozici ve php.ini:
error_reporting = E_ALL | E_STRICT

To znamená, že se zobrazují varování o kódovacích standardech.
Joomla dokonce doporučuje rušit výstup chyb, který by měl být změněn na případ ladění
error_reporting = E_ALL & ~E_NOTICE

Problém byl vyřešen.




Předchozí:Rozhraní QQ space information API
Další:Který osobní blogový systém je lepší, pojďme si o tom povídat
Zveřejněno 21.02.2015 21:13:21 |
Doporučuje se přímo zredukovat verzi PHP na PHP5.2.x
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com