/** * Show message about wrong product amount * * @param \XLite\Model\Product $product Product to process * @param integer $amount Available amount * * @return void */ protected function processInvalidAmountError(\XLite\Model\Product $product, $amount) { \XLite\Core\TopMessage::addWarning('Only ' . $amount . ' items are available for the "' . $product->getName() . '" product'); }
/** * Register the change amount inventory * * @param integer $orderId Order identificator * @param \XLite\Model\Product $product Product object * @param integer $delta Inventory delta changes * * @return void */ public function registerChangeAmount($orderId, $product, $delta) { $inventory = $product->getInventory(); if ($inventory->getEnabled()) { $this->registerEvent($orderId, static::CODE_CHANGE_AMOUNT, $this->getOrderChangeAmountDescription($orderId, $delta, $inventory), $this->getOrderChangeAmountData($orderId, $product->getName(), $inventory->getPublicAmount(), $delta)); } }
/** * Return the icon 'alt' value * * @param \XLite\Model\Product $product Current product * * @return string */ protected function getIconAlt($product) { return $product->getImage() && $product->getImage()->getAlt() ? $product->getImage()->getAlt() : $product->getName(); }
/** * Generate clean URL * * @param \XLite\Model\Product $model Product * @param string $value Value OPTIONAL * * @return void */ protected function generateCleanURL(\XLite\Model\Product $model, $value = '') { if (\XLite\Core\Converter::isEmptyString($value)) { if (!\XLite\Core\Converter::isEmptyString($this->currentRowData['name'])) { // Input cleanURL value is empty, trying to get product name from current row data $lngCodes = array_unique(array('en', $this->importer->getLanguageCode())); foreach ($lngCodes as $code) { if (!empty($this->currentRowData['name'][$code])) { $value = $this->currentRowData['name'][$code]; break; } } } if (\XLite\Core\Converter::isEmptyString($value)) { // Try to get value from current product name $value = $model->getName(); } } else { $value = preg_replace('/\\.html$/', '', $value); } /** @var \XLite\Model\Repo\CleanURL $repo */ $repo = \XLite\Core\Database::getRepo('XLite\\Model\\CleanURL'); $value = $repo->generateCleanURL($model, $value); if (!\XLite\Core\Converter::isEmptyString($value)) { $this->updateCleanURL($model, $value); } }
/** * The product column displays the product name * * @param \XLite\Model\Product $product * * @return string */ protected function preprocessProduct(\XLite\Model\Product $product) { return $product->getName(); }
/** * {@inheritDoc} */ public function getName() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getName', array()); return parent::getName(); }