Magento-シンプルな製品ショー名、SKU、株式数量は?
質問
Magento-シンプルな製品ショー名、SKU、株式数量は?
こんにちは、私は以下を達成しようとしています。表示/エクスポートするための簡単なPHPスクリプトが欲しい:シンプルな製品名、SKU、株式数量、株式ステータス
また、構成可能な製品についてもfref(同じですが、合計)
私は多くの優れたインポートスクリプトを承認しましたが、実際に現在の在庫ステータスを示すための小さなsriptではありません。問題は、データプロファイルなどを理解していない従業員がいることです。ファイルを検索するためにFTPを開く必要があるときに問題が発生します。
https://stackoverflow.com/questions/8533426/daily-inventory-update-through-remote-ftp-file
質問:アイデアは、製品あたりの現在のすべての在庫レベルを表示する小さなスクリプトを作成する方法はありますか?
解決 2
これを使用します
<?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;
他のヒント
これは、あなたが望むすべてをすばやくつかむために機能するはずです。それを行うためのより良い方法があるかもしれません。
<?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>
所属していません magento.stackexchange