如何用前端模版代码删除Magento产品

redmaomail 2024-07-24 18:13 阅读数 66 #Magento

红帽云邮外贸主机

由于某些原因,你可能需要在视图文件中用自定义代码删除产品。但是你会惊讶的看到 “Cannot complete this operation from non-admin area.”这样的报错。下面有些小技巧让你实现它。

这里是奏效的代码部分:

$_authors_product = new Mage_Catalog_Model_Product();
	$_authors_product->load($_item_val_id);
 
	//echo "DELETED... ".$_POST['submit_item4sale_remove_by_entity_id'];
	$_item_val_id = $_POST['submit_item4sale_remove_by_entity_id']; 
	$_item_val_id = (int)str_replace('entity_id_', '', $_item_val_id);
 
	$_authors_product = new Mage_Catalog_Model_Product();
	$_authors_product->load($_item_val_id);
 
	$_current_customer_id = Mage::getSingleton('customer/session')->getCustomer()->getId();
 
	//Allow deletion only if product is from author
	if($_authors_product->submited_by_author == $_current_customer_id) 
	{
		//var_dump(Mage::registry('isSecureArea'));
 
		Mage::register('isSecureArea', true);
		//$_authors_product->delete();
		echo 'ALLOWED DELETED OH YEAAAAAA....';
		Mage::unregister('isSecureArea');	
	}

上面的代码是我最近项目中的一部分,其中最重要的是:

Mage::register('isSecureArea', true);
echo 'ALLOWED DELETED OH YEAAAAAA....';
Mage::unregister('isSecureArea');

基本的想法是在注册表中写入合适的值Mage::register(‘isSecureArea’, true),删除产品后移除它。

电商网站开发服务


红帽云邮外贸主机

分享到:
版权声明:本站内容源自互联网,如有内容侵犯了你的权益,请联系删除相关内容。
    红帽云邮外贸主机
热门
    红帽云邮外贸主机
    红帽云邮外贸主机