Frage

Magento - foreach einfachen Produktshow -Namen, SKU und Aktienmenge?

Hallo, ich versuche Folgendes zu erreichen. Ich möchte ein einfaches PHP

Und Pref auch für konfigurierbare Produkte (gleich, aber dann summiert)

Ich bin gekommen, um viele gute Importskripte zu erhalten, aber kein kleines Sript, um den aktuellen Aktienstatus tatsächlich anzuzeigen. Das Problem ist, dass wir einen Mitarbeiter haben, der nur Datenprofile versteht

https://stackoverflow.com/questions/8533426/daily-inventory-update-through-remote-ftp-file

Frage: Irgendwelche Ideen, wie ich ein kleines Skript erstellen kann, um alle aktuellen Aktienebenen pro Produkt anzuzeigen?

War es hilfreich?

Lösung 2

Wir benutzen das

<?php

// define('MAGENTO_ROOT', getcwd());
define('MAGENTO_ROOT', dirname(dirname(__FILE__)));

$mageFilename = MAGENTO_ROOT . '/app/Mage.php';
require_once $mageFilename;
// umask(0);

ini_set('display_errors', 1);

/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';

/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';

Mage::app($mageRunCode,$mageRunType);

Mage::setIsDeveloperMode(true);

$data = Mage::getModel('catalog/product')->getCollection()
                    ->addAttributeToSelect('name')
                    ->addAttributeToSelect('type_id')
                    ->addAttributeToSelect('sku')
                    ->addAttributeToSelect('price')
                    ->addAttributeToSelect('stock_status')
                    ->addFilter('type_id', 'simple')
                    ->addStoreFilter(Mage::app()->getStore()->getId())
                    ->addAttributeToSort('name', 'ASC');

//                    ->addFieldToFilter('store_id', Mage::app()->getStore()->getId())

header('Content-type: application/vnd.ms-excel');
header("Content-Disposition: attachment; filename=stockstatus.xls");
// echo "val1\tval2\tval3";
// echo "<html><body>";

// echo "Name\tsku\tis_in_stock\tqty". "\r\n";
echo "sku\tis_in_stock\tqty\t\ttmp_mainprod\ttmp_size". "\r\n";
foreach($data as $product) {
    $stock = (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($product)->getQty();
    $tmp_stock = $product->isAvailable() ? 1 : 0;
    echo $product->getSku() . "\t" .
    $tmp_stock . "\t" .
    $stock . "\t\t" .
    substr($product->getSku(), -2) . "\t" .
    substr($product->getSku(), 0, 6) . "\r\n";
//  $product->getStatus() . "\t" .
// $product->getName() . "\t" .
}

exit;

Andere Tipps

Dies sollte funktionieren, um schnell alles zu schnappen, was Sie wollen. Es kann einen besseren Weg geben, es zu tun.

<?php 
// Load Magento
require_once '../app/Mage.php';
umask(0);
Mage::app('default');


//get the collection filter the simple products & join the cataloginventory/stock_item table
$collection = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('sku')->addAttributeToFilter('type_id', 'simple')->joinField(
    'qty',
    'cataloginventory/stock_item',
    'qty',
    'product_id=entity_id',
    '{{table}}.stock_id=1',
    'left'
) ;
?>
<html>
<head></head>
<body>
<table>
<?php 
foreach ($collection as $product) {
    echo "<tr><td>".$product->getSku()."</td><td> ".(int)$product->getQty()."</td></tr>";
};




?>
</table>
</body></html>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top