Blog

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'];