本文整理汇总了PHP中Asset::removeAssets方法的典型用法代码示例。如果您正苦于以下问题:PHP Asset::removeAssets方法的具体用法?PHP Asset::removeAssets怎么用?PHP Asset::removeAssets使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Asset
的用法示例。
在下文中一共展示了Asset::removeAssets方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _updateFullDescription
/**
* Updating the full description of the product
*
* @param Product $product
* @param unknown $param
*
* @return ProductController
*/
private function _updateFullDescription(Product &$product, $param)
{
//update full description
if (isset($param->CallbackParameter->fullDescription) && ($fullDescription = trim($param->CallbackParameter->fullDescription)) !== '') {
if (($fullAsset = Asset::getAsset($product->getFullDescAssetId())) instanceof Asset) {
Asset::removeAssets(array($fullAsset->getAssetId()));
}
$fullAsset = Asset::registerAsset('full_description_for_product.txt', $fullDescription, Asset::TYPE_PRODUCT_DEC);
$product->setFullDescAssetId($fullAsset->getAssetId());
}
return $this;
}
示例2: remove
/**
* delete a product image
*
* @param Product $product The product
* @param Asset $asset The asset of the image file
*
* @return ProductImage
*/
public static function remove(Product $product, Asset $asset)
{
$assetId = trim($asset->getAssetId());
self::deleteByCriteria('productId = ? and imageAssetId = ?', array(trim($product->getId()), $assetId));
Asset::removeAssets(array($assetId));
}
示例3: _dataFeedImport
/**
* create/update product via datafeed.
*
* @param array $params
*
* @return array
*/
private function _dataFeedImport($params)
{
try {
Dao::beginTransaction();
$this->_runner->log('dataFeedImport: ', __CLASS__ . '::' . __FUNCTION__);
$sku = $this->_getPram($params, 'sku', null, true);
$name = $this->_getPram($params, 'name', null, true);
$shortDesc = $this->_getPram($params, 'short_description', $name);
$fullDesc = $this->_getPram($params, 'description', '');
$price = StringUtilsAbstract::getValueFromCurrency($this->_getPram($params, 'price', null, true));
$supplierName = $this->_getPram($params, 'supplier', null, true);
$supplierCode = $this->_getPram($params, 'supplier_code', null, true);
$supplier = $this->_getEntityByName($supplierName, 'Supplier');
if (!$supplier instanceof Supplier) {
throw new Exception("invalid supplier:" . $supplierName);
}
$manufacturerId = $this->_getPram($params, 'manufacturer_id', null, true);
$manufacturer = Manufacturer::get($manufacturerId);
if (!$manufacturer instanceof Manufacturer) {
throw new Exception("invalid Manufacturer:" . $manufacturerId);
}
$statusName = $this->_getPram($params, 'availability', null, true);
$status = $this->_getEntityByName($statusName, 'ProductStatus');
if (!$status instanceof ProductStatus) {
throw new Exception("invalid ProductStatus:" . $statusName);
}
$assetAccNo = $this->_getPram($params, 'assetAccNo', null);
$revenueAccNo = $this->_getPram($params, 'revenueAccNo', null);
$costAccNo = $this->_getPram($params, 'costAccNo', null);
$categoryIds = $this->_getPram($params, 'category_ids', array());
$canSupplyQty = $this->_getPram($params, 'qty', 0);
$weight = $this->_getPram($params, 'weight', 0);
$images = $this->_getPram($params, 'images', array());
$showOnWeb = $this->_getPram($params, 'showonweb', true);
$attributesetId = $this->_getPram($params, 'attributesetId', null);
$canUpdate = false;
//if we have this product already, then skip
if (!($product = Product::getBySku($sku)) instanceof Product) {
$this->_runner->log('new SKU(' . $sku . ') for import, creating ...', '', APIService::TAB);
$product = Product::create($sku, $name, '', null, null, false, $shortDesc, $fullDesc, $manufacturer, $assetAccNo, $revenueAccNo, $costAccNo, null, null, true, $weight, $attributesetId);
$this->log_product("NEW", "=== new === sku={$sku}, name={$name}, shortDesc={$shortDesc}, fullDesc={$fullDesc}, category=" . implode(', ', $categoryIds), '', APIService::TAB);
$canUpdate = true;
} else {
//$this->log_product("UPDATE", "=== update === sku=$sku, name=$name, shortDesc=$shortDesc, fullDesc=$fullDesc, category=" . implode(', ', $categoryIds), '', APIService::TAB);
//if there is no price matching rule for this product
if (($rulesCount = intval(ProductPriceMatchRule::countByCriteria('active = 1 and productId = ?', array($product->getId())))) === 0) {
$this->_runner->log('Found SKU(' . $sku . '): ', '', APIService::TAB);
$fullAsset = Asset::getAsset($product->getFullDescAssetId());
$this->_runner->log('Finding asset for full description, assetId:' . ($fullAsset instanceof Asset ? $fullAsset->getAssetId() : ''), '', APIService::TAB . APIService::TAB);
$fullAssetContent = '';
if ($fullAsset instanceof Asset) {
$fullAssetContent = file_get_contents($fullAsset->getPath());
$this->_runner->log('Got full asset content before html_decode: <' . $fullAssetContent . '>', '', APIService::TAB . APIService::TAB);
$fullAssetContent = trim(str_replace(' ', '', $fullAssetContent));
$this->_runner->log('Got full asset content after html_code: <' . $fullAssetContent . '>', '', APIService::TAB . APIService::TAB);
}
if ($fullAssetContent === '') {
$this->_runner->log('GOT BLANK FULL DESD. Updating full description.', '', APIService::TAB . APIService::TAB . APIService::TAB);
if ($fullAsset instanceof Asset) {
Asset::removeAssets(array($fullAsset->getAssetId()));
$this->_runner->log('REMOVED old empty asset for full description', '', APIService::TAB . APIService::TAB . APIService::TAB);
}
$fullAsset = Asset::registerAsset('full_description_for_product.txt', $fullDesc, Asset::TYPE_PRODUCT_DEC);
$product->setFullDescAssetId($fullAsset->getAssetId())->save();
$this->_runner->log('Added a new full description with assetId: ' . $fullAsset->getAssetId(), '', APIService::TAB . APIService::TAB);
$canUpdate = true;
$this->log_product("UPDATE", "=== updating === sku={$sku} Found ", '', APIService::TAB);
} else {
$this->log_product("SKIP", "=== SKIP updating === sku={$sku} for full description not null", '', APIService::TAB);
}
} else {
$this->_runner->log('SKIP updating. Found ProductPriceMatchRule count:' . $rulesCount, '', APIService::TAB);
$this->log_product("SKIP", "=== SKIP updating === sku={$sku} Found ProductPriceMatchRule count:{$rulesCount}", '', APIService::TAB);
}
}
$json = $product->getJson();
//only update categories and status when there is no pricematching rule or created new
if ($canUpdate === true) {
//short description, name, manufacturer
$this->_runner->log('Updating the price to: ' . StringUtilsAbstract::getCurrency($price), '', APIService::TAB . APIService::TAB);
$product->setShortDescription($shortDesc)->setName($name)->setManufacturer($manufacturer)->setWeight($weight)->setSellOnWeb($showOnWeb)->clearAllPrice()->addPrice(ProductPriceType::get(ProductPriceType::ID_RRP), $price);
//show on web
if (is_array($categoryIds) && count($categoryIds) > 0) {
$this->_runner->log('Updating the categories: ' . implode(', ', $categoryIds), '', APIService::TAB . APIService::TAB);
foreach ($categoryIds as $categoryId) {
if (!($category = ProductCategory::get($categoryId)) instanceof ProductCategory) {
continue;
}
if (count($ids = explode(ProductCategory::POSITION_SEPARATOR, trim($category->getPosition()))) > 0) {
foreach (ProductCategory::getAllByCriteria('id in (' . implode(',', $ids) . ')') as $cate) {
$product->addCategory($cate);
$this->_runner->log('Updated Category ID: ' . $cate->getId(), '', APIService::TAB . APIService::TAB . APIService::TAB);
}
//.........这里部分代码省略.........
示例4: _deleteAssets
private static function _deleteAssets($assetIds = array())
{
$start = self::_debug("Start to deleting " . count($assetIds) . ' asset(s) =================== ', self::NEW_LINE, "\t");
Asset::removeAssets($assetIds);
self::_debug("Finished deleting " . count($assetIds) . ' asset(s) =================== ', self::NEW_LINE, "\t", $start);
}