[Помощь] VM2 - Редактирование фреймового всплывающего окна купленного товара

maxi2013

Мой дом здесь!
Регистрация
9 Янв 2013
Сообщения
511
Реакции
217
Когда мы покупаем товар нажимая на кнопку "Добавить в корзину" появляется всплываещее окно. Наподобие такого.
asdasdasd.JPG
В этом окне указывается Название добавленного товара в корзину, затем кнопка "Продолжения покупок/Continue shopping" и кнопка "Оформить заказ/Show cart". И все.

Необходимо чтобы в этом окне была Картинка добавленного товара, Количество товара, Его цена и Общая сумма и Итоговая стоимость(Итого).
Должно примерно выглядеть так
апвренроологл.JPG
Помогите кто знает.
Скорее всего надо редактировать файл Сайт\components\com_virtuemart\controllers\cart.php
PHP:
<?php
 
/**
*
* Controller for the cart
*
* @package    VirtueMart
* @subpackage Cart
* @author RolandD
* @author Max Milbers
* @link http://www.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: cart.php 5699 2012-03-22 08:26:48Z ondrejspilka $
*/
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');
 
// Load the controller framework
jimport('joomla.application.component.controller');
 
/**
* Controller for the cart view
*
* @package VirtueMart
* @subpackage Cart
* @author RolandD
* @author Max Milbers
*/
class VirtueMartControllerCart extends JController {
 
    /**
    * Construct the cart
    *
    * @access public
    * @author Max Milbers
    */
    public function __construct() {
        parent::__construct();
        if (VmConfig::get('use_as_catalog', 0)) {
            $app = JFactory::getApplication();
            $app->redirect('index.php');
        } else {
            if (!class_exists('VirtueMartCart'))
            require(JPATH_VM_SITE . DS . 'helpers' . DS . 'cart.php');
            if (!class_exists('calculationHelper'))
            require(JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'calculationh.php');
        }
        $this->useSSL = VmConfig::get('useSSL', 0);
        $this->useXHTML = true;
    }
 
 
    /**
    * Add the product to the cart
    *
    * @author RolandD
    * @author Max Milbers
    * @access public
    */
    public function add() {
        $mainframe = JFactory::getApplication();
        if (VmConfig::get('use_as_catalog', 0)) {
            $msg = JText::_('COM_VIRTUEMART_PRODUCT_NOT_ADDED_SUCCESSFULLY');
            $type = 'error';
            $mainframe->redirect('index.php', $msg, $type);
        }
        $cart = VirtueMartCart::getCart();
        if ($cart) {
            $virtuemart_product_ids = JRequest::getVar('virtuemart_product_id', array(), 'default', 'array');
            $success = true;
            if ($cart->add($virtuemart_product_ids,$success)) {
                $msg = JText::_('COM_VIRTUEMART_PRODUCT_ADDED_SUCCESSFULLY');
                //// OPC fix: $mainframe->enqueueMessage($msg);
                $type = '';
            } else {
                $msg = JText::_('COM_VIRTUEMART_PRODUCT_NOT_ADDED_SUCCESSFULLY');
                $type = 'error';
            }
            //            if (JRequest::getWord('format','') =='raw' ) {
            //                JRequest::setVar('layout','minicart','POST');
            //                $this->cart();
            //                //$view->display();
            //                return ;
            //            } else {
            $mainframe->enqueueMessage($msg, $type);
            $mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart'));
            //            }
        } else {
            $mainframe->enqueueMessage('Cart does not exist?', 'error');
        }
    }
 
    /**
    * Add the product to the cart, with JS
    *
    * @author Max Milbers
    * @access public
    */
    public function addJS() {
 
        //maybe we should use $mainframe->close(); or jexit();instead of die;
        /* Load the cart helper */
        //require_once(JPATH_VM_SITE.DS.'helpers'.DS.'cart.php');
        $this->json = null;
        $cart = VirtueMartCart::getCart(false);
        if ($cart) {
            // Get a continue link */
            $virtuemart_category_id = shopFunctionsF::getLastVisitedCategoryId();
            if ($virtuemart_category_id) {
                $categoryLink = '&view=category&virtuemart_category_id=' . $virtuemart_category_id;
            } else
            $categoryLink = '';
            $continue_link = JRoute::_('index.php?option=com_virtuemart' . $categoryLink);
            $virtuemart_product_ids = JRequest::getVar('virtuemart_product_id', array(), 'default', 'array');
            $errorMsg = JText::_('Товарушка добавлен суперрррррррр');
            if ($cart->add($virtuemart_product_ids, $errorMsg )) {
 
                $this->json->msg = '<a class="continue" href="' . $continue_link . '" >' . JText::_('COM_VIRTUEMART_CONTINUE_SHOPPING') . '</a>';
                $this->json->msg .= '<a class="showcart floatright" href="' . JRoute::_("index.php?option=com_virtuemart&view=cart") . '">' . JText::_('COM_VIRTUEMART_CART_SHOW_MODAL') . '</a>';
                if ($errorMsg) $this->json->msg .= '<div>'.$errorMsg.'</div>';
                $this->json->stat = '1';
            } else {
                // $this->json->msg = '<p>' . $cart->getError() . '</p>';
                $this->json->msg = '<a class="continue" href="' . $continue_link . '" >' . JText::_('COM_VIRTUEMART_CONTINUE_SHOPPING') . '</a>';
                $this->json->msg .= '<div>'.$errorMsg.'</div>';
                $this->json->stat = '2';
            }
        } else {
            $this->json->msg = '<a href="' . JRoute::_('index.php?option=com_virtuemart') . '" >' . JText::_('COM_VIRTUEMART_CONTINUE_SHOPPING') . '</a>';
            $this->json->msg .= '<p>' . JText::_('COM_VIRTUEMART_MINICART_ERROR') . '</p>';
            $this->json->stat = '0';
        }
        echo json_encode($this->json);
        jExit();
    }
 
    /**
    * Add the product to the cart, with JS
    *
    * @author Max Milbers
    * @access public
    */
    public function viewJS() {
 
        if (!class_exists('VirtueMartCart'))
        require(JPATH_VM_SITE . DS . 'helpers' . DS . 'cart.php');
        $cart = VirtueMartCart::getCart(false);
        $this->data = $cart->prepareAjaxData();
        $lang = JFactory::getLanguage();
        $extension = 'com_virtuemart';
        $lang->load($extension); //  when AJAX it needs to be loaded manually here >> in case you are outside virtuemart !!!
        if ($this->data->totalProduct > 1)
        $this->data->totalProductTxt = JText::sprintf('COM_VIRTUEMART_CART_X_PRODUCTS', $this->data->totalProduct);
        else if ($this->data->totalProduct == 1)
        $this->data->totalProductTxt = JText::_('COM_VIRTUEMART_CART_ONE_PRODUCT');
        else
        $this->data->totalProductTxt = JText::_('COM_VIRTUEMART_EMPTY_CART');
        if ($this->data->dataValidated == true) {
            $taskRoute = '&task=confirm';
            $linkName = JText::_('COM_VIRTUEMART_CART_CONFIRM');
        } else {
            $taskRoute = '';
            $linkName = JText::_('COM_VIRTUEMART_CART_SHOW');
        }
        $this->data->cart_show = '<a class="floatright" href="' . JRoute::_("index.php?option=com_virtuemart&view=cart" . $taskRoute, $this->useXHTML, $this->useSSL) . '">' . $linkName . '</a>';
        $this->data->billTotal = $lang->_('COM_VIRTUEMART_CART_TOTAL') . ' : <strong>' . $this->data->billTotal . '</strong>';
        echo json_encode($this->data);
        Jexit();
    }
 
    /**
    * For selecting couponcode to use, opens a new layout
    *
    * @author Max Milbers
    */
    public function edit_coupon() {
 
        $view = $this->getView('cart', 'html');
        $view->setLayout('edit_coupon');
 
        // Display it all
        $view->display();
    }
 
    /**
    * Store the coupon code in the cart
    * @author Oscar van Eijk
    */
    public function setcoupon() {
        $mainframe = JFactory::getApplication();
        /* Get the coupon_code of the cart */
        $coupon_code = JRequest::getVar('coupon_code', ''); //TODO VAR OR INT OR WORD?
        if ($coupon_code) {
 
            $cart = VirtueMartCart::getCart();
            if ($cart) {
                $msg = $cart->setCouponCode($coupon_code);
                if (!empty($msg)) {
                    $mainframe->enqueueMessage($msg, 'error');
                }
                //                $cart->setDataValidation(); //Not needed already done in the getCart function
                if ($cart->getInCheckOut()) {
                    $mainframe = JFactory::getApplication();
                    $mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart&task=checkout'));
                }
            }
        }
        parent::display();
        //    self::Cart();
    }
 
    /**
    * For selecting shipment, opens a new layout
    *
    * @author Max Milbers
    */
    public function edit_shipment() {
 
 
        $view = $this->getView('cart', 'html');
        $view->setLayout('select_shipment');
 
        // Display it all
        $view->display();
    }
 
    /**
    * Sets a selected shipment to the cart
    *
    * @author Max Milbers
    */
    public function setshipment() {
 
        /* Get the shipment ID from the cart */
        $virtuemart_shipmentmethod_id = JRequest::getInt('virtuemart_shipmentmethod_id', '0');
        //vmdebug('setshipment',$virtuemart_shipmentmethod_id);
        $cart = VirtueMartCart::getCart();
        if ($cart) {
            //Now set the shipment ID into the cart
            if (!class_exists('vmPSPlugin')) require(JPATH_VM_PLUGINS . DS . 'vmpsplugin.php');
            JPluginHelper::importPlugin('vmshipment');
            $cart->setShipment($virtuemart_shipmentmethod_id);
            //Add a hook here for other payment methods, checking the data of the choosed plugin
            $_dispatcher = JDispatcher::getInstance();
            $_retValues = $_dispatcher->trigger('plgVmOnSelectCheckShipment', array(  &$cart));
            $dataValid = true;
            foreach ($_retValues as $_retVal) {
                if ($_retVal === true ) {
                    // Plugin completed succesfull; nothing else to do
                    $cart->setCartIntoSession();
                    break;
                } else if ($_retVal === false ) {
                    $mainframe = JFactory::getApplication();
                    $mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart&task=editshipment',$this->useXHTML,$this->useSSL), $_retVal);
                    break;
                }
            }
 
            if ($cart->getInCheckOut()) {
                $mainframe = JFactory::getApplication();
                $mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart&task=checkout') );
            }
        }
        //    self::Cart();
        parent::display();
    }
 
    /**
    * To select a payment method
    *
    * @author Max Milbers
    */
    public function editpayment() {
 
        $view = $this->getView('cart', 'html');
        $view->setLayout('select_payment');
 
        // Display it all
        $view->display();
    }
 
    /**
    * To set a payment method
    *
    * @author Max Milbers
    * @author Oscar van Eijk
    * @author Valerie Isaksen
    */
    function setpayment() {
 
        /* Get the payment id of the cart */
        //Now set the payment rate into the cart
        $cart = VirtueMartCart::getCart();
        if ($cart) {
            if(!class_exists('vmPSPlugin')) require(JPATH_VM_PLUGINS.DS.'vmpsplugin.php');
            JPluginHelper::importPlugin('vmpayment');
            //Some Paymentmethods needs extra Information like
            $virtuemart_paymentmethod_id = JRequest::getInt('virtuemart_paymentmethod_id', '0');
            $cart->setPaymentMethod($virtuemart_paymentmethod_id);
 
            //Add a hook here for other payment methods, checking the data of the choosed plugin
            $_dispatcher = JDispatcher::getInstance();
            $_retValues = $_dispatcher->trigger('plgVmOnSelectCheckPayment', array( $cart));
            $dataValid = true;
            foreach ($_retValues as $_retVal) {
                if ($_retVal === true ) {
                    // Plugin completed succesfull; nothing else to do
                    $cart->setCartIntoSession();
                    break;
                } else if ($_retVal === false ) {
          $mainframe = JFactory::getApplication();
          $mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart&task=editpayment',$this->useXHTML,$this->useSSL), $_retVal);
          break;
                }
            }
            //            $cart->setDataValidation();    //Not needed already done in the getCart function
 
            if ($cart->getInCheckOut()) {
                $mainframe = JFactory::getApplication();
                $mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart&task=checkout'), $msg);
            }
        }
        //    self::Cart();
        parent::display();
    }
 
    /**
    * Delete a product from the cart
    *
    * @author RolandD
    * @access public
    */
    public function delete() {
        $mainframe = JFactory::getApplication();
        /* Load the cart helper */
        $cart = VirtueMartCart::getCart();
        if ($cart->removeProductCart())
        $mainframe->enqueueMessage(JText::_('COM_VIRTUEMART_PRODUCT_REMOVED_SUCCESSFULLY'));
        else
        $mainframe->enqueueMessage(JText::_('COM_VIRTUEMART_PRODUCT_NOT_REMOVED_SUCCESSFULLY'), 'error');
 
        $mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart'));
    }
 
    /**
    * Delete a product from the cart
    *
    * @author RolandD
    * @access public
    */
    public function update() {
        $mainframe = JFactory::getApplication();
        /* Load the cart helper */
        $cartModel = VirtueMartCart::getCart();
        if ($cartModel->updateProductCart())
        $mainframe->enqueueMessage(JText::_('COM_VIRTUEMART_PRODUCT_UPDATED_SUCCESSFULLY'));
        else
        $mainframe->enqueueMessage(JText::_('COM_VIRTUEMART_PRODUCT_NOT_UPDATED_SUCCESSFULLY'), 'error');
 
        $mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart'));
    }
 
    /**
    * Checks for the data that is needed to process the order
    *
    * @author Max Milbers
    *
    *
    */
    public function checkout() {
        //Tests step for step for the necessary data, redirects to it, when something is lacking
 
        $cart = VirtueMartCart::getCart();
        if ($cart && !VmConfig::get('use_as_catalog', 0)) {
            $cart->checkout();
        }
    }
 
    /**
    * Executes the confirmDone task,
    * cart object checks itself, if the data is valid
    *
    * @author Max Milbers
    *
    *
    */
    public function confirm() {
 
        //Use false to prevent valid boolean to get deleted
        $cart = VirtueMartCart::getCart();
        if ($cart) {
            $cart->confirmDone();
            $view = $this->getView('cart', 'html');
            $view->setLayout('order_done');
            // Display it all
            $view->display();
        } else {
            $mainframe = JFactory::getApplication();
            $mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart'), JText::_('COM_VIRTUEMART_CART_DATA_NOT_VALID'));
        }
    }
 
    function cancel() {
        $mainframe = JFactory::getApplication();
        $mainframe->redirect(JRoute::_('index.php?option=com_virtuemart&view=cart'), 'Cancelled');
    }
 
}
 
//pure php no Tag
 
Попробуйте частично скопировать код (то что вам необходимо) из файла САЙТ\components\com_virtuemart\views\cart\tmpl\default_pricelist.php в файл Сайт\components\com_virtuemart\controllers\cart.php
Там прослеживается аналогия. Товары, их количество, картинки, итоговый подсчет. Просто внимательно посмотрите и разберетесь...
 
Там не так все просто. Но как пример всеже неплохо.
Я так понял что все это надо сделать в файле cart.php, и именно в этой функции
PHP:
public function addJS() {
 
    //maybe we should use $mainframe->close(); or jexit();instead of die;
    /* Load the cart helper */
    //require_once(JPATH_VM_SITE.DS.'helpers'.DS.'cart.php');
    $this->json = null;
    $cart = VirtueMartCart::getCart(false);
    if ($cart) {
        // Get a continue link */
        $virtuemart_category_id = shopFunctionsF::getLastVisitedCategoryId();
        if ($virtuemart_category_id) {
        $categoryLink = '&view=category&virtuemart_category_id=' . $virtuemart_category_id;
        } else
        $categoryLink = '';
        $continue_link = JRoute::_('index.php?option=com_virtuemart' . $categoryLink);
        $virtuemart_product_ids = JRequest::getVar('virtuemart_product_id', array(), 'default', 'array');
        $errorMsg = JText::_('COM_VIRTUEMART_CART_PRODUCT_ADDED');
        if ($cart->add($virtuemart_product_ids, $errorMsg )) {
 
        $this->json->msg = '<a class="continue" href="' . $continue_link . '" >' . JText::_('COM_VIRTUEMART_CONTINUE_SHOPPING') . '</a>';
        $this->json->msg .= '<a class="floatright" href="' . JRoute::_("index.php?option=com_virtuemart&view=cart") . '">' . JText::_('COM_VIRTUEMART_CART_SHOW_MODAL') . '</a>';
        if ($errorMsg) $this->json->msg .= '<div>'.$errorMsg.'</div>';
        $this->json->stat = '1';
        } else {
        // $this->json->msg = '<p>' . $cart->getError() . '</p>';
        $this->json->msg = '<a class="continue" href="' . $continue_link . '" >' . JText::_('COM_VIRTUEMART_CONTINUE_SHOPPING') . '</a>';
        $this->json->msg .= '<div>'.$errorMsg.'</div>';
        $this->json->stat = '2';
        }
    } else {
        $this->json->msg = '<a href="' . JRoute::_('index.php?option=com_virtuemart') . '" >' . JText::_('COM_VIRTUEMART_CONTINUE_SHOPPING') . '</a>';
        $this->json->msg .= '<p>' . JText::_('COM_VIRTUEMART_MINICART_ERROR') . '</p>';
        $this->json->stat = '0';
    }
    echo json_encode($this->json);
    jExit();
    }
переменная $errorMsg отвечает за вывод текста "Товар добавлен в корзину"
теперь надо както другие переменные сделать за вывод картинка, количества товара , итогового подсчета и тд.
класы в дивах уже индивидуально проставятся, оформление не главное. главное все это дело вывести а все остальное пустяки...
давайте все хоть по чуть-чуть и в кучу слепим и сделаем код, с мира по нитке - голому рубашка)
 
Ну вот и добрался я до этого вопроса.
Все проще.
В последних версиях Virtuemart присуствует файл components\com_virtuemart\views\cart\tmpl\padded.php - он содержит в себе то, что отображается во всплывающем окне при добавлениии товара в корзину.
Скопируйте его в templates\ваш_шаблон\html\com_virtuemart\cart\padded.php и правьте наздоровье.
А если заглянуть в этот файл - мы получаем полноценный объект $this->product, в котором хранится всё, что нам нужно - и картинка и прочее-прочее.
Дальше сами справитесь?
(пока правда нет времени писать готовое решение)

Как пример - вот собранное на коленке решение
PHP:
<div class="popupcart" style="text-align:center; width:400px;">
    <h3>Товар добавлен в корзину</h3>
    <?
        if($this->product){
            if ($this->product->file_url_thumb){
            ?>
            <img src="/<?echo $this->product->file_url_thumb ;?>" />
            <?
            }
        ?>
        <br>
        <span style="display:block; padding:10px;"><?echo $this->product->product_name; ?></span><?
        }
    ?>
    <br style="clear:both; " />
    <div style="padding:10px 20px; overflow: hidden;">
        <a class="showcart button big floatleft" href="<? echo $this->cart_link;?> ">Оформить заказ</a>
        <a class="continue floatright" style="margin-top:7px;" href="<? echo $this->continue_link; ?>"><? echo JText::_('COM_VIRTUEMART_CONTINUE_SHOPPING'); ?></a>
    </div>
</div>
Простите за говнокод, торопился.
 
Последнее редактирование модератором:
Насколько я понимаю предложенное решение выведет лишь только-что добавленный товар, а как бы выводить весь перечень товаров, отправленных на этот момент в корзину ?
 
Последнее редактирование модератором:
Насколько я понимаю предложенный решение выведет лишь только что добавленный товар, а как бы выводить весь перечень товаров, отправленных на этот момент в корзину ?
Для ответа на этот вопрос нужно понять, каким образом вы отправляете пачку товаров в корзину одновременно. У меня подобной задачи не возникало, потому не сталкивался с реализацией. Как?
 
Для ответа на этот вопрос нужно понять, каким образом вы отправляете пачку товаров в корзину одновременно. У меня подобной задачи не возникало, потому не сталкивался с реализацией. Как?
Никто не говорил про одновременное добавление - имелось в виду отображение содержимого корзины, включая только что добавленный товар. Насколько я понимаю и ТС спрашивал именно это и пример привел именно такой.
 
Совершенно верно. Тоесть, например, пользователь добавил свой первый товар, появилось фреймовое всплывающее окно, где название товара, картинка, количество, цена и тд( вобщем как на рисунке выше), затем через некоторое время добавил еще один товар в корзину и уже во всплывающем окне должно быть 2 товара (тоесть по сути полное содержание корзины) и тд.
 
Ну, блин, вам не угодишь. :)
Методу, добавляющему товар в корзину, передается конкретный продукт, а не вся корзина целиком.
Если нужно отображать некоторые ее текущие свойства, в том числе и содержимое - нужно дописывать вызов сессии корзины внутри функции добавления.
Мы сделаем своё, с блекджеком и шлюхами со списком товаров и картинками.
Несмотря на то, что лично я считаю отображение этой информации при добавлении избыточной (представим ситуацию, что у вас в корзине 20-30 товаров) и вызывающей дополнительную нагрузку (требуются дополнительные вычисления и обращения к базе), это можно сделать примерно так (добавьте у себя в тот самый файл) :
PHP:
<?
    if(!class_exists('VirtueMartCart')) require(JPATH_VM_SITE.DS.'helpers'.DS.'cart.php');
    if (!class_exists('CurrencyDisplay'))
        require(JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'currencydisplay.php');
    $currency = CurrencyDisplay::getInstance();
    $cart = VirtueMartCart::getCart(false);
    foreach ($cart->products as $product)
    {                           
    ?>
    <div style="overflow: hidden;">
        <div class="prices" style="float: right;"><?php echo $currency->priceDisplay($product->product_price) ?></div>
        <span class="quantity">
            <?
                if ($product->image->file_url_thumb){
                ?>
                <img style="max-width:20px; max-height:20px; margin-bottom:-4px;" src="/<?echo $product->image->file_url_thumb ;?>" />
                <?
                }
            echo  $product->quantity ?></span>&nbsp;x&nbsp;<span class="product_name"><?php echo $product->product_name ?></span>
    </div>
    <?
        $billTotal+=$product->product_price * $product->quantity;
    }

    if ($billTotal>0) echo "<h4>Всего на сумму:". $currency->priceDisplay($billTotal)."</h4>";
?>

Визуально оформите сами по вкусу, уже нет времени этим заниматься. Но ход мыслей, я думаю, должен быть понятен

Сложив вместе оба куска кода должна получиться примерно такая история при добавлении:
dUFH0yKi.jpg


Вот еще наткнулся на такую особенность: если у вас в общих настройках Virtuemart на вкладке Оформление заказа не стоит галка "Показать изображения", то картинки в массиве товаров в сессии корзины (а также при добавлении товара) передаваться не будут. И выводиться во всплывающем при добавлении окне, естественно, - тоже.

Можно сказать случайно нашел - начал делать очередной магазин, попробовал на нем предложенное мной в этой теме решение - а оно не работает. Надеюсь, кому-то сэкономил время и нервы.
 
Последнее редактирование модератором:
Еще раз прошу прощения за беспокойство. Просто у меня руки кривые :( Что-то не так делаю... Всяко вставляю код в файл padded.php и в итоге товар добавляетя, но всплывающее окно не появляется. Либо если появляется, то в окне картинка товара и написано null.
Вот стандартный код файла padded.php который я правлю:
PHP:
<?php
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');

echo '<a class="continue" href="' . $this->continue_link . '" >' . JText::_('COM_VIRTUEMART_CONTINUE_SHOPPING') . '</a>';
echo '<a class="showcart floatright" href="' . $this->cart_link . '">' . JText::_('COM_VIRTUEMART_CART_SHOW') . '</a>';
if($this->product){
echo '<h4>'.JText::sprintf('COM_VIRTUEMART_CART_PRODUCT_ADDED',$this->product->product_name,$this->product->quantity).'</h4>';
}

if ($this->errorMsg) echo '<div>'.$this->errorMsg.'</div>';

if(VmConfig::get('popup_rel',1)){
if($this->product and !empty($this->product->customfieldsRelatedProducts)){
?>
<div class="product-related-products">
<h4><?php echo JText::_('COM_VIRTUEMART_RELATED_PRODUCTS'); ?></h4>
<?php
foreach ($this->product->customfieldsRelatedProducts as $field) {
if(!empty($field->display)) {
?><div class="product-field product-field-type-<?php echo $field->field_type ?>">
<span class="product-field-display"><?php echo $field->display ?></span>
</div>
<?php }
} ?>
</div>
<?php
}
}

?><br style="clear:both">
Уже всяко перепробывал, но ничего :conf:
 
Назад
Сверху