"Eine Frage zum Produkt stellen" link funktioniert nicht mehr

  • Hallo zusammen,


    auf der Webseite brandmeier.de ist der "Eine Frage zum Produkt stellen" link zwar korrekt - er lässt sich z.B. mit der rechten Maustaste in einem eigenen Tab öffnen - aber ein direkter Klick führt zu


    Uncaught TypeError: $.facebox is not a function

    at HTMLAnchorElement.<anonymous> (rankschutzkoerbe:363:11)

    at HTMLAnchorElement.dispatch (jquery.min.js?981573342698e90cd3d446412850e244:2:44204)

    at v.handle (jquery.min.js?981573342698e90cd3d446412850e244:2:40940)


    das passiert interessanterweise nur wenn "Fancybox benutzen" eingeschaltet ist. Wenn ich es ausschalte dann wird die Seite in einem Overlay geöffnet, so wie es soll.

    Die default.php von "productdetail" ist ziemlich stark modifiziert - mit einem Override. Hier ist der entsprechende code, möglicherweise hat sich bei den neuesten Version von VM hier etwas geändert ?


    <?php

    // Ask a question about this product

    if (VmConfig::get('ask_question', 0) == 1) {

    $askquestion_url = JRoute::_('index.php?option=com_virtuemart&view=productdetails&task=askquestion&virtuemart_product_id=' . $this->product->virtuemart_product_id . '&virtuemart_category_id=' . $this->product->virtuemart_category_id . '&tmpl=component' , FALSE);

    ?>

    <?php //<div style="margin: 10px 30px 10px 0; float: left;">Weitere Info zum Produkt:</div> ?>


    <?php


    echo shopFunctionsF::renderVmSubLayout('customfields', array(

    'product' => $this->product,

    'position' => 'productLinks'

    ));


    ?>

    <div class="ask-a-question">

    <a class="ask-a-question" href="<?php echo $askquestion_url ?>"

    rel="nofollow"><?php echo vmText::_('COM_VIRTUEMART_PRODUCT_ENQUIRY_LBL') ?></a>

    </div>



    <?php

    }

    ?>


    Das php ist alt 7.4.33.5 wir können es nicht auf die 8.x portieren da das zugrundeliegende Joomla Template sich hier bisher nicht kooperativ gezeigt hat (insbesondere das Warp Framework).

    Virtuemart ist auf Version 4.0.7 10720

    hier haben wir seit einer Weile auf Updates verzichtet - mit dem php Problem im Nacken.

    Irgend eine Idee warum hier facebox verwendet wird, selbst wenn es per Option auf Fancybox eingestellt ist ?


    Danke für jeden guten Hinweis


    Stefan

  • Die Frage wird auch ohne Fancybox korrekt versendet, jedoch lässt sich das Fenster mit der Bestätigung nicht schliessen - siehe unten.

    Das ist wirklich schräg, weil parent.jQuery.facebox.close(); offensichtlich nicht funktioniert.



    <?php

    /**

    *

    * Show the product details page

    *

    * @package VirtueMart

    * @subpackage

    * @author KOHL Patrick

    * @link https://virtuemart.net

    * @copyright Copyright (c) 2004 - 2010 VirtueMart Team. All rights reserved.

    * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php

    * VirtueMart is free software. This version may have been modified pursuant

    * to the GNU General Public License, and as distributed it includes or

    * is derivative of works licensed under the GNU General Public License or

    * other free or open source software licenses.

    * @version $Id: default.php 2810 2011-03-02 19:08:24Z Milbo $

    */


    // Check to ensure this file is included in Joomla!

    defined ( '_JEXEC' ) or die ( 'Restricted access' );


    if(VmConfig::get('usefancy',1)){

    $onclick = 'parent.jQuery.fancybox.close();';

    } else {

    $onclick = 'parent.jQuery.facebox.close();';

    }

    ?>

    <div class="productdetails-view">

    <?php echo vmText::_('COM_VIRTUEMART_ASK_QUESTION_THANK_YOU'); ?>

    <button onclick="<?php echo $onclick ?>" type="button"><?php echo vmText::_('COM_VIRTUEMART_CLOSE'); ?></button>

    </div>