Múlt héten megjelent a Joomla 3.5.1 változata, mely jópár fontos hibajavítást tartalmaz a 3.5-höz (illetve a korábbi 3.4.8-as) verzióhoz képest. Biztos vagyok benne, hogy azóta sokan frissítettek az új változatra, vagy mostanában tervezik a frissítést. Akik azonban Joomla 3.5.1-et és VirtueMart 3.x verziót futtatnak, egy furcsa hibát tapasztalhatnak a frissítés után: a rendelés visszaigazoló oldal váratlan hibajelzést ad. Amíg nem érkezik VirtueMart-tól frissítés, ez a probléma néhány programsor módosításával kijavítható.
A változtatások Joomla 3.5.1 és Virtuemart 3.0.14 esetén biztosan megoldják a visszaigazoló oldal megjelenésének problémáját, de felhívom a figyelmeteket, hogy a változásokat csak saját felelősségedre végezd el! A módosítások előtt készíts biztonsági másolatot a honlapodról (de a módosítani kívánt fájlról mindenképp)!
Első lépés: A probléma kijavításához keresd meg a shopfunctionsf.php fájlt a rendszerben. Ezt a components/com_virtuemart/helpers mappában találod. Ebben a fájlban a 654 - 678. sorok közötti részben kell átírnod a kódot.
Második lépés: A 654 és 678. sorok közötti részben összesen 4 helyen is találhatsz $replyTo[1] kezdetű sorokat. Ezeket cseréld ki $replyToName[0] -ra.
A javított forráskód részlete:
if(!$noVendorMail) { $replyTo[0] = $view->vendorEmail; $replyToName[0] = $view->vendor->vendor_name; $mailer->addReplyTo( $replyTo ); } else { if(isset($view->orderDetails['details']) and isset($view->orderDetails['details']['BT'])){ $replyTo[0] = $view->orderDetails['details']['BT']->email; $replyToName[0] = $view->orderDetails['details']['BT']->first_name.' '.$view->orderDetails['details']['BT']->last_name; } else { if (isset($view->user->email) and $view->user->name) { $replyTo[0] = $view->user->email; $replyToName[0] = $view->user->name; } else { $replyTo[0] = $view->user['email']; $replyToName[0] = $view->user['name'];