Problema cu care m-am confruntat înainte, am fost foarte tulburat, cum să o rezolv, iar acum am găsit în sfârșit o soluție, iar acum o voi împărtăși cu voi, problema este următoarea: Standarde stricte: Doar variabilele trebuie transmise prin referință în upload\includes\cls_template.php pe linia 418 Linia 418: $tag_sel = array_shift(explode(' ', $tag));
Soluția 1: Problema cu versiunile 5.3 și versiunile ulterioare ar trebui să fie legată și de configurație. Atâta timp cât linia 418 împarte această propoziție în două, nu există nicio problemă $tag_sel = array_shift(explode(' ', $tag)); Schimbat în:
$tag_arr = explodează(' ', $tag); $tag_sel = array_shift($tag_arr); Deoarece parametrii array_shift sunt transmisi prin referință, doar anumite variabile pot fi transmise implicit peste 5.3, iar valoarea nu poate fi returnată prin funcție În același mod, atunci când întâlnești erori de imbricare a funcțiilor, acestea pot fi scrise separat, iar erorile vor fi rezolvate natural
Ca: funcție get_dyna_libs($theme, $tmp)
{ $extsub = explodează('.', $tmp); $ext = sfârșit($extsub); $tmp = nume de bază($tmp,".$ext"); $sql = 'SELECT regiune, bibliotecă, sort_order, id, număr, tip'. ' DE ' . $GLOBALS['ecs']->tabel('șablon'). " UNDE tema = '$theme' ȘI numele fișierului = '" . $tmp . "' ȘI tastează > 0 ȘI remarcă=''". "ORDONARE DUPĂ regiune, bibliotecă, sort_order"; $res = $GLOBALS['db']->getAll($sql); $dyna_libs = tablou(); foreach ($res AS $row)
{ $dyna_libs[$row['regiune']][$row['bibliotecă']][] = array( 'id' => $row['id'], 'număr' => $row['număr'], 'type' => $row['type'] );
} returnează $dyna_libs;
}
set $ext = end(explode('.', $tmp)); Schimbare $extsub = explodează('.', $tmp); $ext = sfârșit($extsub);
Soluția 2 (Eroare de mascare):
Sau, dacă este configurat astfel: error_reporting = E_ALL | E_STRICT Următoarele setări sunt disponibile în php.ini: error_reporting = E_ALL | E_STRICT
Aceasta înseamnă că sunt afișate avertismente pentru standardele de codificare. Joomla recomandă de fapt anularea erorii output, care ar trebui schimbată dacă este necesar pentru depanare error_reporting = E_ALL & ~E_NOTICE
Problema a fost rezolvată. |