Ich habe damit zu kämpfen.Angezeigte Einkaufswagen insgesamt außerhalb von joomla framework
Ich habe meine Joomla/Virtuemart läuft in einem Verzeichnis namens "Store" und ich möchte die Gesamtzahl der Produkte im Warenkorb außerhalb der Joomla-Framework anzeigen. Also habe ich mir diesen Code ausgedacht, der mit älteren Versionen von virtuemart funktioniert (< v3). Wenn es jedoch mit Virtuemart 3.0.16 versucht, ich laufe in dieser Probleme:
Der Code
<?php
// Set flag that this is a parent file
define('_JEXEC', 1);
define('JPATH_BASE', dirname(realpath(__FILE__)). '/../store');
define('DS', DIRECTORY_SEPARATOR);
require_once (JPATH_BASE .DS.'includes'.DS.'defines.php');
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php');
jimport('joomla.application.module.helper');
jimport('joomla.application.component.helper');
$mainframe = JFactory::getApplication('site');
$array = unserialize($_SESSION['__vm']['vmcart']);
$total = 0;
foreach($array->products as $product){
$total += $product->amount;
}
echo "" . $total;
?>
und der Fehler (die in einem Verzeichnis "includes" genannt ist):
Warning: Invalid argument supplied for foreach() in /home/me/public_html/includes/header.php on line 20
0
wobei 0 den Wagen insgesamt darstellt, die 1 zeigen sollten, da ich zu der Zeit im Warenkorb ein Element hatte
ich bin kein pHP-Experte, aber offen googeln, dass es, dass mein $ erscheint mir Array ist nicht ein Array, das die Probleme verursacht?
Das ist wirklich verwirrend, da es in der älteren Version von virtuemart gut funktioniert.
-
die Antwort Da unten, ich versuche, dies auszuführen:
<?php
// Set flag that this is a parent file
define('_JEXEC', 1);
define('JPATH_BASE', dirname(realpath(__FILE__)). '/../store');
define('DS', DIRECTORY_SEPARATOR);
require_once (JPATH_BASE .DS.'includes'.DS.'defines.php');
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php');
jimport('joomla.application.module.helper');
jimport('joomla.application.component.helper');
$mainframe = JFactory::getApplication('site');
defined('DS') or define('DS', DIRECTORY_SEPARATOR);
if (!class_exists('VmConfig'))
require(JPATH_ROOT.DS.'administrator'.DS.'components'.DS.'com_virtuemart'.DS.'helpers'.DS.'config.php');
if(!class_exists('VirtueMartCart'))
require(VMPATH_SITE.DS.'helpers'.DS.'cart.php');
echo sizeof($cart->products);
?>
... aber ohne Erfolg. Er sagt ständig 0
Danke, ich habe es versucht, aber es gibt mir immer wieder "Dein Einkaufswagen ist leer". Sogar das Echo von 'sizeof ($ cart-> products)' gibt 0 (wenn es Artikel im Warenkorb gibt. – ak1652
Ich habe meine ursprüngliche Frage gestellt, was ich jetzt versuche auszuführen. – ak1652
ok überprüfe das Modul namens virtuemart cart es tat Der Trick des Ladens von Warenkorb-Elementen außerhalb der VM-Komponente Sie können diesen Code auch in externen PHP verwenden. –