<?php
header( 'Content-Type: text/html; charset=utf-8 ');
@set_time_limit(10000);
@ini_set('memory_limit','100M');
require_once 'app/Mage.php';
// 设置密码
$PASSWORD = '10000000';
// 初始化 网站结构
Mage :: app() -> setCurrentStore(Mage_Core_Model_App :: ADMIN_STORE_ID);
$collection = Mage :: getModel('catalog/category') -> getCollection() -> addAttributeToSelect('name') -> addAttributeToSelect('is_active')->addAttributeToFilter('level',1); // 获取所有分类 ID
foreach($collection as $col) {
$topcate[$col -> getId()] = $col -> getName();
}
function getSubcatArr($catid){
$subids = Mage::getModel('catalog/category')->load($catid)->getChildren();
if(empty($subids))
return false;
$subCategories = explode(',', $subids);
// 获取所有分类 ID
foreach($subCategories as $subCategoryId) {
$cat = Mage::getModel('catalog/category')->load($subCategoryId);
$subcates[$cat -> getId()] = $cat -> getName();
}
return $subcates;
}
//SEO 结尾标示符号
$endTag = Mage::getStoreConfig('catalog/seo/category_url_suffix');
ini_set("memory_limit","-1");
ini_set("output_buffering", 1);
ini_set("implicit_flush", 1);
ob_end_clean();
ob_start();
$websites = Mage::app()->getWebsites();
foreach($websites as $website)
$sites[$website->name]=$website->website_id;
$root_cat=str_replace('www.','',$_SERVER['HTTP_HOST']);
$storeId=$sites[$root_cat];
if(empty($storeId))
$storeId=1;// 默认商店 单网站系统
$model = Mage::getModel('catalog/product')->setStoreId($storeId); //getting product model
$unable_collection = $model->getCollection()
->addAttributeToFilter('status', array('eq' => '-1'))
->addStoreFilter($storeId);
$unable=count($unable_collection);
// 批量默认结束
if(!empty($_GET['unable_num'])){
echo $unable;
exit;
}
$collection = $model->getCollection()
->addAttributeToFilter('status', array('eq' => 1))
->addStoreFilter($storeId);
$enable=count($collection);
echo '显示:'.($enable).'/'.'全部'.($totalNum=$enable+$unable).'(隐藏'.$unable.')'.'<br>';
// 批量编辑产品
if(!empty($_GET['alledit']) and $_GET['pw']==$PASSWORD){
echo '<h1>'.$_SERVER['HTTP_HOST'].'</h1><hr>';
if(empty($_POST['alledit_submit'])){
?>
<h2>注意: 每次设置均全部初始化, 更新一遍.</h2>
<form method="post" action="?alledit=ok&pw=<?php echo $PASSWORD;?>">
隐藏百分比产品<input type="text" id="" name='hiddenpecnet' value=10 />
随机隐藏<input type="checkbox" id="" name='random' checked/>(说明: 不勾选随机隐藏 为顺序隐藏)<br>
<input type="submit" name='alledit_submit'/>
</form>
<?php
}
if(empty($_POST['alledit_submit']))
exit('');
if(empty($_POST['hiddenpecnet']) )
exit('');
if(!empty($_POST['hiddenpecnet'])){
$needhiddennum=intval($totalNum * $_POST['hiddenpecnet'] / 100);
$beginNum = $totalNum - $needhiddennum;
echo '需要隐藏'.$needhiddennum.'个产品';
}else{
$needhiddennum=0;
$beginNum = $totalNum - $needhiddennum;
echo '需要隐藏'.$needhiddennum.'个产品';
}
$model = Mage::getModel('catalog/product'); //getting product model
$collection = $model->getCollection()
->addStoreFilter($storeId);
$total=count($collection);
$beginNumTT = $total - $needhiddennum;
for($i=0;$i<$total;$i++){
if($i>=$beginNumTT)
$arr_value[$i]=true;
else
$arr_value[$i]=false;
}
if($_POST['random']=='on'){
echo '!!! 随机隐藏!!!!';
shuffle($arr_value);
}
$num=0;
foreach ($collection as $k=>$product) //loop for getting products
{
$model = Mage::getModel('catalog/product')->setStoreId($storeId)->load($product->getID());
$num++;
ob_flush();
flush();
echo '<br>第'.$num.'个 Name:'.$model->getName().'<br>'.$model->getData("url_key").$endTag;
//setDescription
//setShortDescription
//$product->setData("name", str_replace(' test','',$model->getName()));
//$product->save();
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
//$product = Mage::getModel('catalog/product')->load(PRODUCT_ID);
$model->setStoreId($storeId);
// 标题处理
if($_POST['dont_hide']!='on'){
if($arr_value[$num]){
$model->setData("status", "-1");
echo '<font color=gray> 隐藏</font> ';
}
else
echo '<font color=blue> 显示</font> ';
}else
echo '<font color=blue> 忽略隐藏操作</font> ';
if($model->save())
echo '<font color=green> ok</font><br>';
else
echo '<font color=red> false</font><br>';
}
echo "<br>批量隐藏结束";
exit;
}
// 批量替换结束
// 显示隐藏商品 $unable_collection
if(!empty($_GET['diplaynum']) and $_GET['pw']==$PASSWORD ){
shuffle($unable_collection);
foreach($unable_collection as $product){
$numcount++;
ob_flush();
flush();
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
//$product = Mage::getModel('catalog/product')->load(PRODUCT_ID);
$product->setStoreId($storeId);
$product->setData("status", "1");
if($product -> save()){
$model = Mage::getModel('catalog/product')->load($product->getID());
//$model = Mage::getModel('catalog/product')->setStoreId($storeId)->load($product->getID());
echo '<br>第'.$numcount.'个 Name:'.$model->getName().'<br>'.$model->getData("url_key").$endTag.' <font color=blue>显示成功</font>';
}
if($numcount>=$_GET['diplaynum'])
exit;
}
exit;
}
// 结束 设置首页产品显示 & 显示隐藏商品 $unable_collection
?>