ParseDateという関数がありますが、phpページ(joomlaコンポーネントページ)で呼び出すと、次の致命的なエラーが発生します:parsedate()を再宣言できません21行目のtemplates/ja_zeolite/assets/functions.php
行2は関数parsedate($ data)、行21は}(関数の終わり)です。機能は次のとおりです。
function parseDate($date){
$items = explode('.', $date);
switch($items[1]){
case 1: $mese = 'Gen'; break;
case 2: $mese = 'Feb'; break;
case 3: $mese = 'Mar'; break;
case 4: $mese = 'Apr'; break;
case 5: $mese = 'Mag'; break;
case 6: $mese = 'Giu'; break;
case 7: $mese = 'Lug'; break;
case 8: $mese = 'Ago'; break;
case 9: $mese = 'Set'; break;
case 10: $mese = 'Ott'; break;
case 11: $mese = 'Nov'; break;
case 12: $mese = 'Dic'; break;
default: $mese = '---';
}
$data_corretta = array(0 => $mese, 1 => $items[2]);
return $data_corretta;
}
名前関数も変更しようとしましたが、まだ機能しません。
どうして?
あなた(またはJoomla)は、このファイルを複数回インクルードしている可能性があります。関数を条件付きブロックで囲みます。
if (!function_exists('parseDate')) {
// ... proceed to declare your function
}
関数を削除し、次の出力を確認します。
var_dump(function_exists('parseDate'));
その場合は、関数の名前を変更してください。
Falseになった場合、その関数を含むファイルを2回インクルードしているので、置き換えます:
include
によって
include_once
そして交換:
require
によって
require_once
編集:私は少し遅すぎる、それを打つ前に投稿してください!